代码拉取完成,页面将自动刷新
package dialects
import (
"fmt"
"gitee.com/knowgo/gpa/engine/constants"
"gitee.com/knowgo/gpa/engine/sql/dialects/dialect"
"gitee.com/knowgo/gpa/engine/sql/dialects/impls"
)
var (
drivers = map[constants.DIALECT]dialect.Driver{}
// dialectMap = map[constants.DIALECT]intf.Dialect{}
)
func init() {
impls.RegisterPostgres(register)
}
func register(dialect constants.DIALECT, drv dialect.Driver) {
// dialectMap[name] = d
if drv == nil {
panic("core: Register driver is nil")
}
// drv.Dialect = d
if _, dup := drivers[dialect]; dup {
panic("core: Register called twice for driver " + dialect)
}
drivers[dialect] = drv
}
// func RegisterDialect(name string, dialect Dialect) {
// dialectMap[name] = dialect
// }
// func GetDialect(name types.DRIVER) intf.Dialect {
// return dialectMap[string(name)]
// }
// func RegisterDriver(driverName string, driver Driver) {
// if driver == nil {
// panic("core: Register driver is nil")
// }
// if _, dup := drivers[driverName]; dup {
// panic("core: Register called twice for driver " + driverName)
// }
// drivers[driverName] = driver
// }
// func GetDriver(dialect constants.DIALECT) intf.Driver {
// return drivers[dialect]
// }
// func RegisteredDriverCount() int {
// return len(drivers)
// }
// OpenDialect opens a dialect via driver name and connection string
func OpenDialect(dialect constants.DIALECT, connstr string) (dialect.Dialect, error) {
driver := drivers[dialect] // GetDriver(driverName)
if driver == nil {
return nil, fmt.Errorf("unsupported driver name: %v", dialect)
}
uri, err := driver.Parse(dialect, connstr)
if err != nil {
return nil, err
}
dial := driver.GetDialect() // GetDialect(uri.DRIVER)
if dial == nil {
return nil, fmt.Errorf("unsupported dialect type: %v", uri.DRIVER)
}
dial.Init(uri)
return dial, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。