|
|
|
@ -229,7 +229,7 @@ func (db *mssql) SetParams(params map[string]string) {
|
|
|
|
|
var t = strings.ToUpper(defaultVarchar)
|
|
|
|
|
switch t {
|
|
|
|
|
case "NVARCHAR", "VARCHAR":
|
|
|
|
|
db.defaultVarchar = defaultVarchar
|
|
|
|
|
db.defaultVarchar = t
|
|
|
|
|
default:
|
|
|
|
|
db.defaultVarchar = "VARCHAR"
|
|
|
|
|
}
|
|
|
|
@ -242,7 +242,7 @@ func (db *mssql) SetParams(params map[string]string) {
|
|
|
|
|
var t = strings.ToUpper(defaultChar)
|
|
|
|
|
switch t {
|
|
|
|
|
case "NCHAR", "CHAR":
|
|
|
|
|
db.defaultChar = defaultChar
|
|
|
|
|
db.defaultChar = t
|
|
|
|
|
default:
|
|
|
|
|
db.defaultChar = "CHAR"
|
|
|
|
|
}
|
|
|
|
@ -285,7 +285,7 @@ func (db *mssql) SQLType(c *schemas.Column) string {
|
|
|
|
|
case schemas.MediumInt:
|
|
|
|
|
res = schemas.Int
|
|
|
|
|
case schemas.Text, schemas.MediumText, schemas.TinyText, schemas.LongText, schemas.Json:
|
|
|
|
|
res = schemas.Varchar + "(MAX)"
|
|
|
|
|
res = db.defaultVarchar + "(MAX)"
|
|
|
|
|
case schemas.Double:
|
|
|
|
|
res = schemas.Real
|
|
|
|
|
case schemas.Uuid:
|
|
|
|
@ -297,10 +297,26 @@ func (db *mssql) SQLType(c *schemas.Column) string {
|
|
|
|
|
case schemas.BigInt:
|
|
|
|
|
res = schemas.BigInt
|
|
|
|
|
c.Length = 0
|
|
|
|
|
case schemas.NVarchar:
|
|
|
|
|
res = t
|
|
|
|
|
if c.Length == -1 {
|
|
|
|
|
res += "(MAX)"
|
|
|
|
|
}
|
|
|
|
|
case schemas.Varchar:
|
|
|
|
|
res = db.defaultVarchar
|
|
|
|
|
if c.Length == -1 {
|
|
|
|
|
res += "(MAX)"
|
|
|
|
|
}
|
|
|
|
|
case schemas.Char:
|
|
|
|
|
res = db.defaultChar
|
|
|
|
|
if c.Length == -1 {
|
|
|
|
|
res += "(MAX)"
|
|
|
|
|
}
|
|
|
|
|
case schemas.NChar:
|
|
|
|
|
res = t
|
|
|
|
|
if c.Length == -1 {
|
|
|
|
|
res += "(MAX)"
|
|
|
|
|
}
|
|
|
|
|
default:
|
|
|
|
|
res = t
|
|
|
|
|
}
|
|
|
|
@ -424,8 +440,18 @@ func (db *mssql) GetColumns(queryer core.Queryer, ctx context.Context, tableName
|
|
|
|
|
col.SQLType = schemas.SQLType{Name: schemas.TimeStampz, DefaultLength: 0, DefaultLength2: 0}
|
|
|
|
|
case "NVARCHAR":
|
|
|
|
|
col.SQLType = schemas.SQLType{Name: schemas.NVarchar, DefaultLength: 0, DefaultLength2: 0}
|
|
|
|
|
if col.Length > 0 {
|
|
|
|
|
col.Length /= 2
|
|
|
|
|
col.Length2 /= 2
|
|
|
|
|
}
|
|
|
|
|
case "IMAGE":
|
|
|
|
|
col.SQLType = schemas.SQLType{Name: schemas.VarBinary, DefaultLength: 0, DefaultLength2: 0}
|
|
|
|
|
case "NCHAR":
|
|
|
|
|
if col.Length > 0 {
|
|
|
|
|
col.Length /= 2
|
|
|
|
|
col.Length2 /= 2
|
|
|
|
|
}
|
|
|
|
|
fallthrough
|
|
|
|
|
default:
|
|
|
|
|
if _, ok := schemas.SqlTypes[ct]; ok {
|
|
|
|
|
col.SQLType = schemas.SQLType{Name: ct, DefaultLength: 0, DefaultLength2: 0}
|
|
|
|
|