More improvements

This commit is contained in:
Lunny Xiao 2021-07-04 16:46:32 +08:00
parent d2a5cd7660
commit b062ddd0b0
No known key found for this signature in database
GPG Key ID: C3B7C91B632F738A
3 changed files with 19 additions and 6 deletions

View File

@ -672,26 +672,31 @@ func (p *mysqlDriver) Parse(driverName, dataSourceName string) (*URI, error) {
func (p *mysqlDriver) GenScanResult(colType string) (interface{}, error) {
switch colType {
case "VARCHAR", "TEXT":
case "CHAR", "VARCHAR", "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT", "ENUM", "SET":
var s sql.NullString
return &s, nil
case "BIGINT":
var s sql.NullInt64
return &s, nil
case "TINYINT", "INT":
case "TINYINT", "SMALLINT", "MEDIUMINT", "INT":
var s sql.NullInt32
return &s, nil
case "FLOAT":
case "FLOAT", "REAL", "DOUBLE PRECISION":
var s sql.NullFloat64
return &s, nil
case "DECIMAL", "NUMERIC":
var s sql.NullString
return &s, nil
case "DATETIME":
var s sql.NullTime
return &s, nil
case "BIT":
var s sql.RawBytes
return &s, nil
case "BINARY", "VARBINARY", "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONGBLOB":
var r sql.RawBytes
return &r, nil
default:
fmt.Printf("unknow mysql database type: %v\n", colType)
var r sql.RawBytes
return &r, nil
}

View File

@ -852,9 +852,18 @@ func (cfg *godrorDriver) Parse(driverName, dataSourceName string) (*URI, error)
func (p *godrorDriver) GenScanResult(colType string) (interface{}, error) {
switch colType {
case "VARCHAR", "TEXT":
case "CHAR", "NCHAR", "VARCHAR", "VARCHAR2", "NVARCHAR2", "LONG", "CLOB", "NCLOB":
var s sql.NullString
return &s, nil
case "NUMBER":
var s sql.NullString
return &s, nil
case "DATE":
var s sql.NullTime
return &s, nil
case "BLOB":
var r sql.RawBytes
return &r, nil
default:
var r sql.RawBytes
return &r, nil

View File

@ -572,7 +572,6 @@ func (p *sqlite3Driver) GenScanResult(colType string) (interface{}, error) {
var s sql.RawBytes
return &s, nil
default:
fmt.Printf("====unknow handle db type: %v \n", colType)
var r sql.NullString
return &r, nil
}