1 Star 0 Fork 22

GavinGuo/dm

forked from springrain/dm 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
p.go 1.76 KB
一键复制 编辑 原始数据 按行查看 历史
springrain 提交于 2022-01-05 19:14 . 升级 v1.8.5
/*
* Copyright (c) 2000-2018, 达梦数据库有限公司.
* All rights reserved.
*/
package dm
import (
"context"
"database/sql"
"database/sql/driver"
"sync"
"gitee.com/chunanyong/dm/i18n"
)
// 发版标记
var version = "8.1.2.94"
var build_date = "2021.11.11"
var svn = "8453"
var globalDmDriver = newDmDriver()
func init() {
sql.Register("dm", globalDmDriver)
}
func driverInit(svcConfPath string) {
load(svcConfPath)
if GlobalProperties != nil && GlobalProperties.Len() > 0 {
setDriverAttributes(GlobalProperties)
}
globalDmDriver.createFilterChain(nil, GlobalProperties)
switch Locale {
case 0:
i18n.InitConfig(i18n.Messages_zh_CN)
case 1:
i18n.InitConfig(i18n.Messages_en_US)
case 2:
i18n.InitConfig(i18n.Messages_zh_TW)
}
}
type DmDriver struct {
filterable
readPropMutex sync.Mutex
}
func newDmDriver() *DmDriver {
d := new(DmDriver)
d.idGenerator = dmDriverIDGenerator
return d
}
/*************************************************************
** PUBLIC METHODS AND FUNCTIONS
*************************************************************/
func (d *DmDriver) Open(dsn string) (driver.Conn, error) {
return d.open(dsn)
}
func (d *DmDriver) OpenConnector(dsn string) (driver.Connector, error) {
return d.openConnector(dsn)
}
func (d *DmDriver) open(dsn string) (*DmConnection, error) {
c, err := d.openConnector(dsn)
if err != nil {
return nil, err
}
return c.connect(context.Background())
}
func (d *DmDriver) openConnector(dsn string) (*DmConnector, error) {
connector := new(DmConnector).init()
connector.url = dsn
connector.dmDriver = d
d.readPropMutex.Lock()
err := connector.mergeConfigs(dsn)
d.readPropMutex.Unlock()
if err != nil {
return nil, err
}
connector.createFilterChain(connector, nil)
return connector, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/mainmars/dm.git
[email protected]:mainmars/dm.git
mainmars
dm
dm
master

搜索帮助