More improvements
This commit is contained in:
parent
d2a5cd7660
commit
b062ddd0b0
|
@ -672,26 +672,31 @@ func (p *mysqlDriver) Parse(driverName, dataSourceName string) (*URI, error) {
|
||||||
|
|
||||||
func (p *mysqlDriver) GenScanResult(colType string) (interface{}, error) {
|
func (p *mysqlDriver) GenScanResult(colType string) (interface{}, error) {
|
||||||
switch colType {
|
switch colType {
|
||||||
case "VARCHAR", "TEXT":
|
case "CHAR", "VARCHAR", "TINYTEXT", "TEXT", "MEDIUMTEXT", "LONGTEXT", "ENUM", "SET":
|
||||||
var s sql.NullString
|
var s sql.NullString
|
||||||
return &s, nil
|
return &s, nil
|
||||||
case "BIGINT":
|
case "BIGINT":
|
||||||
var s sql.NullInt64
|
var s sql.NullInt64
|
||||||
return &s, nil
|
return &s, nil
|
||||||
case "TINYINT", "INT":
|
case "TINYINT", "SMALLINT", "MEDIUMINT", "INT":
|
||||||
var s sql.NullInt32
|
var s sql.NullInt32
|
||||||
return &s, nil
|
return &s, nil
|
||||||
case "FLOAT":
|
case "FLOAT", "REAL", "DOUBLE PRECISION":
|
||||||
var s sql.NullFloat64
|
var s sql.NullFloat64
|
||||||
return &s, nil
|
return &s, nil
|
||||||
|
case "DECIMAL", "NUMERIC":
|
||||||
|
var s sql.NullString
|
||||||
|
return &s, nil
|
||||||
case "DATETIME":
|
case "DATETIME":
|
||||||
var s sql.NullTime
|
var s sql.NullTime
|
||||||
return &s, nil
|
return &s, nil
|
||||||
case "BIT":
|
case "BIT":
|
||||||
var s sql.RawBytes
|
var s sql.RawBytes
|
||||||
return &s, nil
|
return &s, nil
|
||||||
|
case "BINARY", "VARBINARY", "TINYBLOB", "BLOB", "MEDIUMBLOB", "LONGBLOB":
|
||||||
|
var r sql.RawBytes
|
||||||
|
return &r, nil
|
||||||
default:
|
default:
|
||||||
fmt.Printf("unknow mysql database type: %v\n", colType)
|
|
||||||
var r sql.RawBytes
|
var r sql.RawBytes
|
||||||
return &r, nil
|
return &r, nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -852,9 +852,18 @@ func (cfg *godrorDriver) Parse(driverName, dataSourceName string) (*URI, error)
|
||||||
|
|
||||||
func (p *godrorDriver) GenScanResult(colType string) (interface{}, error) {
|
func (p *godrorDriver) GenScanResult(colType string) (interface{}, error) {
|
||||||
switch colType {
|
switch colType {
|
||||||
case "VARCHAR", "TEXT":
|
case "CHAR", "NCHAR", "VARCHAR", "VARCHAR2", "NVARCHAR2", "LONG", "CLOB", "NCLOB":
|
||||||
var s sql.NullString
|
var s sql.NullString
|
||||||
return &s, nil
|
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:
|
default:
|
||||||
var r sql.RawBytes
|
var r sql.RawBytes
|
||||||
return &r, nil
|
return &r, nil
|
||||||
|
|
|
@ -572,7 +572,6 @@ func (p *sqlite3Driver) GenScanResult(colType string) (interface{}, error) {
|
||||||
var s sql.RawBytes
|
var s sql.RawBytes
|
||||||
return &s, nil
|
return &s, nil
|
||||||
default:
|
default:
|
||||||
fmt.Printf("====unknow handle db type: %v \n", colType)
|
|
||||||
var r sql.NullString
|
var r sql.NullString
|
||||||
return &r, nil
|
return &r, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue