代码拉取完成,页面将自动刷新
同步操作将从 unsafe-rust/sq 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package sq
import (
"fmt"
)
// Dialect 处理不同SQL数据库的方言。
type Dialect interface {
GetName() string // GetName 放回当前正在使用的方言(例如:mysql,mssql...)
Quote(key string) string // Quote 通过使用保留字作为字段名来对字段名加引号,以避免SQL解析异常
}
type commonDialect struct {}
func (commonDialect) GetName() string {
return "common"
}
func (commonDialect) Quote(key string) string {
return fmt.Sprintf(`"%s"`, key)
}
// dialectsMap 管理方言的 map 容器。
var dialectsMap = map[string]Dialect{}
// RegisterDialect 注册一个新方言。
func RegisterDialect(name string, dialect Dialect) {
dialectsMap[name] = dialect
}
// GetDialect 获取指定方言名称的方言。
func GetDialect(name string) (dialect Dialect, ok bool) {
dialect, ok = dialectsMap[name]
return
}
// mustGetDialect 内部函数,获取方言,获取失败,内部会panic。
func mustGetDialect(name string) Dialect {
if dialect, ok := dialectsMap[name]; ok {
return dialect
}
panic(fmt.Sprintf("`%v` is not officially supported", name))
return nil
}
// newDialect 内部函数,获取<name>对应的方言,如果获取失败,则返回默认的 commonDialect
func newDialect(name string) Dialect {
if value, ok := GetDialect(name); ok {
return value
}
fmt.Printf("`%v` is not officially supported, running under compatibility mode.\n", name)
return &commonDialect{}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。