1. 优化性能:减少func (session *Session) slice2Bean方法中的strings.ToLower调用次数以及减少map创建和访问次数(见工单 https://gitea.com/xorm/xorm/issues/2243)
2. 新增SetDefaultJSONHandler方法,用于用户自行设置DefaultJSONHandler(见工单 https://gitea.com/xorm/xorm/issues/2129)
This commit is contained in:
parent
064cd596c9
commit
9caa860790
|
@ -177,17 +177,10 @@ type ColumnsSchema struct {
|
||||||
Types []*sql.ColumnType
|
Types []*sql.ColumnType
|
||||||
}
|
}
|
||||||
|
|
||||||
func (columnsSchema *ColumnsSchema) ParseTableSchema(table *schemas.Table) error {
|
func (columnsSchema *ColumnsSchema) ParseTableSchema(table *schemas.Table) {
|
||||||
for _, field := range columnsSchema.Fields {
|
for _, field := range columnsSchema.Fields {
|
||||||
col := table.GetColumnIdx(field.FieldName, field.TempIndex)
|
field.ColumnSchema = table.GetColumnIdx(field.FieldName, field.TempIndex)
|
||||||
if col == nil {
|
|
||||||
return ErrFieldIsNotExist{FieldName: field.FieldName, TableName: table.Name}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
field.ColumnSchema = col
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func ParseColumnsSchema(fieldNames []string, types []*sql.ColumnType, table *schemas.Table) (*ColumnsSchema, error) {
|
func ParseColumnsSchema(fieldNames []string, types []*sql.ColumnType, table *schemas.Table) (*ColumnsSchema, error) {
|
||||||
|
@ -222,10 +215,7 @@ func ParseColumnsSchema(fieldNames []string, types []*sql.ColumnType, table *sch
|
||||||
}
|
}
|
||||||
|
|
||||||
if table != nil {
|
if table != nil {
|
||||||
err := columnsSchema.ParseTableSchema(table)
|
columnsSchema.ParseTableSchema(table)
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return &columnsSchema, nil
|
return &columnsSchema, nil
|
||||||
|
|
Loading…
Reference in New Issue