diff --git a/dialects/mysql.go b/dialects/mysql.go index 6cf40608..03bc9a4b 100644 --- a/dialects/mysql.go +++ b/dialects/mysql.go @@ -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 } diff --git a/dialects/oracle.go b/dialects/oracle.go index fe3e0a2f..7043972b 100644 --- a/dialects/oracle.go +++ b/dialects/oracle.go @@ -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 diff --git a/dialects/sqlite3.go b/dialects/sqlite3.go index bca0bc18..306f377c 100644 --- a/dialects/sqlite3.go +++ b/dialects/sqlite3.go @@ -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 }