Fix build
This commit is contained in:
parent
80f0e8e0b2
commit
96309f04a3
|
@ -6,6 +6,7 @@ package dialects
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"database/sql"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
@ -33,6 +34,23 @@ func (db *db2) Init(uri *URI) error {
|
||||||
return db.Base.Init(db, uri)
|
return db.Base.Init(db, uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (db *db2) Version(context.Context, core.Queryer) (*schemas.Version, error) {
|
||||||
|
return nil, fmt.Errorf("not implementation")
|
||||||
|
}
|
||||||
|
|
||||||
|
func (db *db2) ColumnTypeKind(t string) int {
|
||||||
|
switch strings.ToUpper(t) {
|
||||||
|
case "DATE", "DATETIME", "DATETIME2", "TIME":
|
||||||
|
return schemas.TIME_TYPE
|
||||||
|
case "VARCHAR", "TEXT", "CHAR", "NVARCHAR", "NCHAR", "NTEXT":
|
||||||
|
return schemas.TEXT_TYPE
|
||||||
|
case "FLOAT", "REAL", "BIGINT", "DATETIMEOFFSET", "TINYINT", "SMALLINT", "INT":
|
||||||
|
return schemas.NUMERIC_TYPE
|
||||||
|
default:
|
||||||
|
return schemas.UNKNOW_TYPE
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (db *db2) SQLType(c *schemas.Column) string {
|
func (db *db2) SQLType(c *schemas.Column) string {
|
||||||
var res string
|
var res string
|
||||||
switch t := c.SQLType.Name; t {
|
switch t := c.SQLType.Name; t {
|
||||||
|
@ -412,7 +430,35 @@ func (db *db2) Filters() []Filter {
|
||||||
return []Filter{}
|
return []Filter{}
|
||||||
}
|
}
|
||||||
|
|
||||||
type db2Driver struct{}
|
type db2Driver struct {
|
||||||
|
baseDriver
|
||||||
|
}
|
||||||
|
|
||||||
|
func (p *db2Driver) Features() *DriverFeatures {
|
||||||
|
return &DriverFeatures{
|
||||||
|
SupportReturnInsertedID: false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g *db2Driver) GenScanResult(colType string) (interface{}, error) {
|
||||||
|
switch colType {
|
||||||
|
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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (p *db2Driver) Parse(driverName, dataSourceName string) (*URI, error) {
|
func (p *db2Driver) Parse(driverName, dataSourceName string) (*URI, error) {
|
||||||
var dbName string
|
var dbName string
|
||||||
|
|
|
@ -211,18 +211,6 @@ func regDrvsNDialects() bool {
|
||||||
getDriver func() Driver
|
getDriver func() Driver
|
||||||
getDialect func() Dialect
|
getDialect func() Dialect
|
||||||
}{
|
}{
|
||||||
<<<<<<< HEAD
|
|
||||||
"mssql": {"mssql", func() Driver { return &odbcDriver{} }, func() Dialect { return &mssql{} }},
|
|
||||||
"odbc": {"mssql", func() Driver { return &odbcDriver{} }, func() Dialect { return &mssql{} }}, // !nashtsai! TODO change this when supporting MS Access
|
|
||||||
"mysql": {"mysql", func() Driver { return &mysqlDriver{} }, func() Dialect { return &mysql{} }},
|
|
||||||
"mymysql": {"mysql", func() Driver { return &mymysqlDriver{} }, func() Dialect { return &mysql{} }},
|
|
||||||
"postgres": {"postgres", func() Driver { return &pqDriver{} }, func() Dialect { return &postgres{} }},
|
|
||||||
"pgx": {"postgres", func() Driver { return &pqDriverPgx{} }, func() Dialect { return &postgres{} }},
|
|
||||||
"sqlite3": {"sqlite3", func() Driver { return &sqlite3Driver{} }, func() Dialect { return &sqlite3{} }},
|
|
||||||
"sqlite": {"sqlite3", func() Driver { return &sqlite3Driver{} }, func() Dialect { return &sqlite3{} }},
|
|
||||||
"oci8": {"oracle", func() Driver { return &oci8Driver{} }, func() Dialect { return &oracle{} }},
|
|
||||||
"godror": {"oracle", func() Driver { return &godrorDriver{} }, func() Dialect { return &oracle{} }},
|
|
||||||
=======
|
|
||||||
"mssql": {"mssql", func() Driver { return &odbcDriver{} }, func() Dialect { return &mssql{} }},
|
"mssql": {"mssql", func() Driver { return &odbcDriver{} }, func() Dialect { return &mssql{} }},
|
||||||
"odbc": {"mssql", func() Driver { return &odbcDriver{} }, func() Dialect { return &mssql{} }}, // !nashtsai! TODO change this when supporting MS Access
|
"odbc": {"mssql", func() Driver { return &odbcDriver{} }, func() Dialect { return &mssql{} }}, // !nashtsai! TODO change this when supporting MS Access
|
||||||
"mysql": {"mysql", func() Driver { return &mysqlDriver{} }, func() Dialect { return &mysql{} }},
|
"mysql": {"mysql", func() Driver { return &mysqlDriver{} }, func() Dialect { return &mysql{} }},
|
||||||
|
@ -232,9 +220,8 @@ func regDrvsNDialects() bool {
|
||||||
"sqlite3": {"sqlite3", func() Driver { return &sqlite3Driver{} }, func() Dialect { return &sqlite3{} }},
|
"sqlite3": {"sqlite3", func() Driver { return &sqlite3Driver{} }, func() Dialect { return &sqlite3{} }},
|
||||||
"sqlite": {"sqlite3", func() Driver { return &sqlite3Driver{} }, func() Dialect { return &sqlite3{} }},
|
"sqlite": {"sqlite3", func() Driver { return &sqlite3Driver{} }, func() Dialect { return &sqlite3{} }},
|
||||||
"oci8": {"oracle", func() Driver { return &oci8Driver{} }, func() Dialect { return &oracle{} }},
|
"oci8": {"oracle", func() Driver { return &oci8Driver{} }, func() Dialect { return &oracle{} }},
|
||||||
"goracle": {"oracle", func() Driver { return &goracleDriver{} }, func() Dialect { return &oracle{} }},
|
"godror": {"oracle", func() Driver { return &godrorDriver{} }, func() Dialect { return &oracle{} }},
|
||||||
"go_ibm_db": {"db2", func() Driver { return &db2Driver{} }, func() Dialect { return &db2{} }},
|
"go_ibm_db": {"db2", func() Driver { return &db2Driver{} }, func() Dialect { return &db2{} }},
|
||||||
>>>>>>> 538a3b2 (Use new dialect interface)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for driverName, v := range providedDrvsNDialects {
|
for driverName, v := range providedDrvsNDialects {
|
||||||
|
|
Loading…
Reference in New Issue