fix err,add postgres column ARRAY

This commit is contained in:
Jerry 2020-03-10 13:47:22 +08:00
parent 9d4594632f
commit cdec8d5e8e
2 changed files with 12 additions and 0 deletions

View File

@ -1099,6 +1099,8 @@ WHERE c.relkind = 'r'::char AND c.relname = $1%s AND f.attnum > 0 ORDER BY f.att
col.SQLType = schemas.SQLType{Name: schemas.Binary, DefaultLength: 0, DefaultLength2: 0} col.SQLType = schemas.SQLType{Name: schemas.Binary, DefaultLength: 0, DefaultLength2: 0}
case "oid": case "oid":
col.SQLType = schemas.SQLType{Name: schemas.BigInt, DefaultLength: 0, DefaultLength2: 0} col.SQLType = schemas.SQLType{Name: schemas.BigInt, DefaultLength: 0, DefaultLength2: 0}
case "array":
col.SQLType = schemas.SQLType{Name: schemas.Array, DefaultLength: 0, DefaultLength2: 0}
default: default:
startIdx := strings.Index(strings.ToLower(dataType), "string(") startIdx := strings.Index(strings.ToLower(dataType), "string(")
if startIdx != -1 && strings.HasSuffix(dataType, ")") { if startIdx != -1 && strings.HasSuffix(dataType, ")") {

View File

@ -34,6 +34,7 @@ const (
BLOB_TYPE BLOB_TYPE
TIME_TYPE TIME_TYPE
NUMERIC_TYPE NUMERIC_TYPE
ARRAY_TYPE
) )
func (s *SQLType) IsType(st int) bool { func (s *SQLType) IsType(st int) bool {
@ -59,6 +60,10 @@ func (s *SQLType) IsNumeric() bool {
return s.IsType(NUMERIC_TYPE) return s.IsType(NUMERIC_TYPE)
} }
func (s *SQLType) IsArray() bool {
return s.IsType(ARRAY_TYPE)
}
func (s *SQLType) IsJson() bool { func (s *SQLType) IsJson() bool {
return s.Name == Json || s.Name == Jsonb return s.Name == Json || s.Name == Jsonb
} }
@ -123,6 +128,8 @@ var (
Json = "JSON" Json = "JSON"
Jsonb = "JSONB" Jsonb = "JSONB"
Array = "ARRAY"
SqlTypes = map[string]int{ SqlTypes = map[string]int{
Bit: NUMERIC_TYPE, Bit: NUMERIC_TYPE,
TinyInt: NUMERIC_TYPE, TinyInt: NUMERIC_TYPE,
@ -149,6 +156,7 @@ var (
Uuid: TEXT_TYPE, Uuid: TEXT_TYPE,
Clob: TEXT_TYPE, Clob: TEXT_TYPE,
SysName: TEXT_TYPE, SysName: TEXT_TYPE,
Array: TEXT_TYPE,
Date: TIME_TYPE, Date: TIME_TYPE,
DateTime: TIME_TYPE, DateTime: TIME_TYPE,
@ -180,6 +188,8 @@ var (
Serial: NUMERIC_TYPE, Serial: NUMERIC_TYPE,
BigSerial: NUMERIC_TYPE, BigSerial: NUMERIC_TYPE,
Array: ARRAY_TYPE,
} }
intTypes = sort.StringSlice{"*int", "*int16", "*int32", "*int8"} intTypes = sort.StringSlice{"*int", "*int16", "*int32", "*int8"}