merge
This commit is contained in:
commit
112bc13fe9
24
mssql.go
24
mssql.go
|
@ -16,16 +16,30 @@ type mssql struct {
|
|||
quoteFilter Filter
|
||||
}
|
||||
|
||||
type mssqlParser struct {
|
||||
type odbcParser struct {
|
||||
}
|
||||
|
||||
func (p *mssqlParser) parse(driverName, dataSourceName string) (*uri, error) {
|
||||
return &uri{dbName: "xorm_test", dbType: MSSQL}, nil
|
||||
func (p *odbcParser) parse(driverName, dataSourceName string) (*uri, error) {
|
||||
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 {
|
||||
db.quoteFilter = &QuoteFilter{}
|
||||
return db.base.init(&mssqlParser{}, drivername, uri)
|
||||
return db.base.init(&odbcParser{}, drivername, uri)
|
||||
}
|
||||
|
||||
func (db *mssql) SqlType(c *Column) string {
|
||||
|
@ -153,7 +167,7 @@ where a.object_id=object_id('` + tableName + `')`
|
|||
if _, ok := sqlTypes[ct]; ok {
|
||||
col.SQLType = SQLType{ct, 0, 0}
|
||||
} 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