Merge pull request #1 from xxjwxc/master

fix HashMap is out of order
master
fyyang 4 years ago committed by GitHub
commit 39f7512c11
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -44,30 +44,33 @@ var TypeMysqlDicMp = map[string]string{
"integer": "int64",
}
// TypeMysqlMatchMp Fuzzy Matching Types.模糊匹配类型
var TypeMysqlMatchMp = map[string]string{
`^(tinyint)[(]\d+[)] unsigned`: "uint8",
`^(smallint)[(]\d+[)] unsigned`: "uint16",
`^(int)[(]\d+[)] unsigned`: "uint32",
`^(bigint)[(]\d+[)] unsigned`: "uint64",
`^(tinyint)[(]\d+[)]`: "int8",
`^(smallint)[(]\d+[)]`: "int16",
`^(int)[(]\d+[)]`: "int",
`^(bigint)[(]\d+[)]`: "int64",
`^(char)[(]\d+[)]`: "string",
`^(enum)[(](.)+[)]`: "string",
`^(varchar)[(]\d+[)]`: "string",
`^(varbinary)[(]\d+[)]`: "[]byte",
`^(blob)[(]\d+[)]`: "[]byte",
`^(binary)[(]\d+[)]`: "[]byte",
`^(decimal)[(]\d+,\d+[)]`: "float64",
`^(mediumint)[(]\d+[)]`: "string",
`^(double)[(]\d+,\d+[)]`: "float64",
`^(double)[(]\d+,\d+[)] unsigned`: "float64",
`^(float)[(]\d+,\d+[)]`: "float64",
`^(float)[(]\d+,\d+[)] unsigned`: "float64",
`^(datetime)[(]\d+[)]`: "time.Time",
`^(bit)[(]\d+[)]`: "[]uint8",
`^(text)[(]\d+[)]`: "string",
`^(integer)[(]\d+[)]`: "int",
// TypeMysqlMatchList Fuzzy Matching Types.模糊匹配类型
var TypeMysqlMatchList = []struct {
Key string
Value string
}{
{`^(tinyint)[(]\d+[)] unsigned`, "uint8"},
{`^(smallint)[(]\d+[)] unsigned`, "uint16"},
{`^(int)[(]\d+[)] unsigned`, "uint32"},
{`^(bigint)[(]\d+[)] unsigned`, "uint64"},
{`^(float)[(]\d+,\d+[)] unsigned`, "float64"},
{`^(double)[(]\d+,\d+[)] unsigned`, "float64"},
{`^(tinyint)[(]\d+[)]`, "int8"},
{`^(smallint)[(]\d+[)]`, "int16"},
{`^(int)[(]\d+[)]`, "int"},
{`^(bigint)[(]\d+[)]`, "int64"},
{`^(char)[(]\d+[)]`, "string"},
{`^(enum)[(](.)+[)]`, "string"},
{`^(varchar)[(]\d+[)]`, "string"},
{`^(varbinary)[(]\d+[)]`, "[]byte"},
{`^(blob)[(]\d+[)]`, "[]byte"},
{`^(binary)[(]\d+[)]`, "[]byte"},
{`^(decimal)[(]\d+,\d+[)]`, "float64"},
{`^(mediumint)[(]\d+[)]`, "string"},
{`^(double)[(]\d+,\d+[)]`, "float64"},
{`^(float)[(]\d+,\d+[)]`, "float64"},
{`^(datetime)[(]\d+[)]`, "time.Time"},
{`^(bit)[(]\d+[)]`, "[]uint8"},
{`^(text)[(]\d+[)]`, "string"},
{`^(integer)[(]\d+[)]`, "int"},
}

@ -62,9 +62,9 @@ func getTypeName(name string, isNull bool) string {
}
// Fuzzy Regular Matching.模糊正则匹配
for k, v := range cnf.TypeMysqlMatchMp {
if ok, _ := regexp.MatchString(k, name); ok {
return fixNullToPorint(v, isNull)
for _, l := range cnf.TypeMysqlMatchList {
if ok, _ := regexp.MatchString(l.Key, name); ok {
return fixNullToPorint(l.Value, isNull)
}
}

Loading…
Cancel
Save