merge
This commit is contained in:
commit
112bc13fe9
24
mssql.go
24
mssql.go
|
@ -16,16 +16,30 @@ type mssql struct {
|
||||||
quoteFilter Filter
|
quoteFilter Filter
|
||||||
}
|
}
|
||||||
|
|
||||||
type mssqlParser struct {
|
type odbcParser struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (p *mssqlParser) parse(driverName, dataSourceName string) (*uri, error) {
|
func (p *odbcParser) parse(driverName, dataSourceName string) (*uri, error) {
|
||||||
return &uri{dbName: "xorm_test", dbType: MSSQL}, nil
|
kv := strings.Split(dataSourceName, ";")
|
||||||
|
var dbName string
|
||||||
|
for _, c := range kv {
|
||||||
|
vv := strings.Split(strings.TrimSpace(c), "=")
|
||||||
|
if len(vv) == 2 {
|
||||||
|
switch strings.ToLower(vv[0]) {
|
||||||
|
case "database":
|
||||||
|
dbName = vv[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if dbName == "" {
|
||||||
|
return nil, errors.New("no db name provided")
|
||||||
|
}
|
||||||
|
return &uri{dbName: dbName, dbType: MSSQL}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *mssql) Init(drivername, uri string) error {
|
func (db *mssql) Init(drivername, uri string) error {
|
||||||
db.quoteFilter = &QuoteFilter{}
|
db.quoteFilter = &QuoteFilter{}
|
||||||
return db.base.init(&mssqlParser{}, drivername, uri)
|
return db.base.init(&odbcParser{}, drivername, uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (db *mssql) SqlType(c *Column) string {
|
func (db *mssql) SqlType(c *Column) string {
|
||||||
|
@ -153,7 +167,7 @@ where a.object_id=object_id('` + tableName + `')`
|
||||||
if _, ok := sqlTypes[ct]; ok {
|
if _, ok := sqlTypes[ct]; ok {
|
||||||
col.SQLType = SQLType{ct, 0, 0}
|
col.SQLType = SQLType{ct, 0, 0}
|
||||||
} else {
|
} else {
|
||||||
return nil, nil, errors.New(fmt.Sprintf("unknow colType %v", ct))
|
return nil, nil, errors.New(fmt.Sprintf("unknow colType %v for %v", ct, col))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue