Merge branch 'master' into refactoring_statement.genColumnStr

This commit is contained in:
Sergey 2016-11-08 13:33:07 +04:00 committed by GitHub
commit d8cab7ebd0
6 changed files with 25 additions and 25 deletions

View File

@ -60,7 +60,7 @@ func main() {
engines := []engineFunc{postgresEngine} engines := []engineFunc{postgresEngine}
for _, enginefunc := range engines { for _, enginefunc := range engines {
Orm, err := enginefunc() Orm, err := enginefunc()
fmt.Println("--------", Orm.DriverName, "----------") fmt.Println("--------", Orm.DriverName(), "----------")
if err != nil { if err != nil {
fmt.Println(err) fmt.Println(err)
return return

View File

@ -371,14 +371,14 @@ func (db *mssql) GetColumns(tableName string) ([]string, map[string]*core.Column
} }
switch ct { switch ct {
case "DATETIMEOFFSET": case "DATETIMEOFFSET":
col.SQLType = core.SQLType{core.TimeStampz, 0, 0} col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0}
case "NVARCHAR": case "NVARCHAR":
col.SQLType = core.SQLType{core.NVarchar, 0, 0} col.SQLType = core.SQLType{Name: core.NVarchar, DefaultLength: 0, DefaultLength2: 0}
case "IMAGE": case "IMAGE":
col.SQLType = core.SQLType{core.VarBinary, 0, 0} col.SQLType = core.SQLType{Name: core.VarBinary, DefaultLength: 0, DefaultLength2: 0}
default: default:
if _, ok := core.SqlTypes[ct]; ok { if _, ok := core.SqlTypes[ct]; ok {
col.SQLType = core.SQLType{ct, 0, 0} col.SQLType = core.SQLType{Name: ct, DefaultLength: 0, DefaultLength2: 0}
} else { } else {
return nil, nil, errors.New(fmt.Sprintf("unknow colType %v for %v - %v", return nil, nil, errors.New(fmt.Sprintf("unknow colType %v for %v - %v",
ct, tableName, col.Name)) ct, tableName, col.Name))

View File

@ -373,7 +373,7 @@ func (db *mysql) GetColumns(tableName string) ([]string, map[string]*core.Column
col.Length = len1 col.Length = len1
col.Length2 = len2 col.Length2 = len2
if _, ok := core.SqlTypes[colType]; ok { if _, ok := core.SqlTypes[colType]; ok {
col.SQLType = core.SQLType{colType, len1, len2} col.SQLType = core.SQLType{Name: colType, DefaultLength: len1, DefaultLength2: len2}
} else { } else {
return nil, nil, errors.New(fmt.Sprintf("unkonw colType %v", colType)) return nil, nil, errors.New(fmt.Sprintf("unkonw colType %v", colType))
} }

View File

@ -733,23 +733,23 @@ func (db *oracle) GetColumns(tableName string) ([]string, map[string]*core.Colum
switch dt { switch dt {
case "VARCHAR2": case "VARCHAR2":
col.SQLType = core.SQLType{core.Varchar, len1, len2} col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: len1, DefaultLength2: len2}
case "NVARCHAR2": case "NVARCHAR2":
col.SQLType = core.SQLType{core.NVarchar, len1, len2} col.SQLType = core.SQLType{Name: core.NVarchar, DefaultLength: len1, DefaultLength2: len2}
case "TIMESTAMP WITH TIME ZONE": case "TIMESTAMP WITH TIME ZONE":
col.SQLType = core.SQLType{core.TimeStampz, 0, 0} col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0}
case "NUMBER": case "NUMBER":
col.SQLType = core.SQLType{core.Double, len1, len2} col.SQLType = core.SQLType{Name: core.Double, DefaultLength: len1, DefaultLength2: len2}
case "LONG", "LONG RAW": case "LONG", "LONG RAW":
col.SQLType = core.SQLType{core.Text, 0, 0} col.SQLType = core.SQLType{Name: core.Text, DefaultLength: 0, DefaultLength2: 0}
case "RAW": case "RAW":
col.SQLType = core.SQLType{core.Binary, 0, 0} col.SQLType = core.SQLType{Name: core.Binary, DefaultLength: 0, DefaultLength2: 0}
case "ROWID": case "ROWID":
col.SQLType = core.SQLType{core.Varchar, 18, 0} col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: 18, DefaultLength2: 0}
case "AQ$_SUBSCRIBERS": case "AQ$_SUBSCRIBERS":
ignore = true ignore = true
default: default:
col.SQLType = core.SQLType{strings.ToUpper(dt), len1, len2} col.SQLType = core.SQLType{Name: strings.ToUpper(dt), DefaultLength: len1, DefaultLength2: len2}
} }
if ignore { if ignore {
@ -842,5 +842,5 @@ func (db *oracle) GetIndexes(tableName string) (map[string]*core.Index, error) {
} }
func (db *oracle) Filters() []core.Filter { func (db *oracle) Filters() []core.Filter {
return []core.Filter{&core.QuoteFilter{}, &core.SeqFilter{":", 1}, &core.IdFilter{}} return []core.Filter{&core.QuoteFilter{}, &core.SeqFilter{Prefix: ":", Start: 1}, &core.IdFilter{}}
} }

View File

@ -973,21 +973,21 @@ WHERE c.relkind = 'r'::char AND c.relname = $1 AND s.table_schema = $2 AND f.att
switch dataType { switch dataType {
case "character varying", "character": case "character varying", "character":
col.SQLType = core.SQLType{core.Varchar, 0, 0} col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: 0, DefaultLength2: 0}
case "timestamp without time zone": case "timestamp without time zone":
col.SQLType = core.SQLType{core.DateTime, 0, 0} col.SQLType = core.SQLType{Name: core.DateTime, DefaultLength: 0, DefaultLength2: 0}
case "timestamp with time zone": case "timestamp with time zone":
col.SQLType = core.SQLType{core.TimeStampz, 0, 0} col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0}
case "double precision": case "double precision":
col.SQLType = core.SQLType{core.Double, 0, 0} col.SQLType = core.SQLType{Name: core.Double, DefaultLength: 0, DefaultLength2: 0}
case "boolean": case "boolean":
col.SQLType = core.SQLType{core.Bool, 0, 0} col.SQLType = core.SQLType{Name: core.Bool, DefaultLength: 0, DefaultLength2: 0}
case "time without time zone": case "time without time zone":
col.SQLType = core.SQLType{core.Time, 0, 0} col.SQLType = core.SQLType{Name: core.Time, DefaultLength: 0, DefaultLength2: 0}
case "oid": case "oid":
col.SQLType = core.SQLType{core.BigInt, 0, 0} col.SQLType = core.SQLType{Name: core.BigInt, DefaultLength: 0, DefaultLength2: 0}
default: default:
col.SQLType = core.SQLType{strings.ToUpper(dataType), 0, 0} col.SQLType = core.SQLType{Name: strings.ToUpper(dataType), DefaultLength: 0, DefaultLength2: 0}
} }
if _, ok := core.SqlTypes[col.SQLType.Name]; !ok { if _, ok := core.SqlTypes[col.SQLType.Name]; !ok {
return nil, nil, errors.New(fmt.Sprintf("unknow colType: %v", dataType)) return nil, nil, errors.New(fmt.Sprintf("unknow colType: %v", dataType))
@ -1087,5 +1087,5 @@ func (db *postgres) GetIndexes(tableName string) (map[string]*core.Index, error)
} }
func (db *postgres) Filters() []core.Filter { func (db *postgres) Filters() []core.Filter {
return []core.Filter{&core.IdFilter{}, &core.QuoteFilter{}, &core.SeqFilter{"$", 1}} return []core.Filter{&core.IdFilter{}, &core.QuoteFilter{}, &core.SeqFilter{Prefix: "$", Start: 1}}
} }

View File

@ -319,7 +319,7 @@ func (db *sqlite3) GetColumns(tableName string) ([]string, map[string]*core.Colu
col.Name = strings.Trim(field, "`[] ") col.Name = strings.Trim(field, "`[] ")
continue continue
} else if idx == 1 { } else if idx == 1 {
col.SQLType = core.SQLType{field, 0, 0} col.SQLType = core.SQLType{Name: field, DefaultLength: 0, DefaultLength2: 0}
} }
switch field { switch field {
case "PRIMARY": case "PRIMARY":