improve bindArgsToQuery for surpport for pgsql/mssql/oracle for package gdb

This commit is contained in:
John
2020-02-29 19:55:53 +08:00
parent 6e1f8c3cfc
commit b0ef63fc9d
8 changed files with 168 additions and 108 deletions

View File

@ -20,6 +20,7 @@ type dbSqlite struct {
*dbBase
}
// Open creates and returns a underlying sql.DB object for sqlite.
func (db *dbSqlite) Open(config *ConfigNode) (*sql.DB, error) {
var source string
if config.LinkInfo != "" {
@ -35,15 +36,18 @@ func (db *dbSqlite) Open(config *ConfigNode) (*sql.DB, error) {
}
}
// getChars returns the security char for this type of database.
func (db *dbSqlite) getChars() (charLeft string, charRight string) {
return "`", "`"
}
// Tables retrieves and returns the tables of current schema.
// TODO
func (db *dbSqlite) Tables(schema ...string) (tables []string, err error) {
return
}
// TableFields retrieves and returns the fields information of specified table of current schema.
// TODO
func (db *dbSqlite) TableFields(table string, schema ...string) (fields map[string]*TableField, err error) {
table = gstr.Trim(table)
@ -53,6 +57,7 @@ func (db *dbSqlite) TableFields(table string, schema ...string) (fields map[stri
return
}
// handleSqlBeforeExec deals with the sql string before commits it to underlying sql driver.
// @todo 需要增加对Save方法的支持可使用正则来实现替换
// @todo 将ON DUPLICATE KEY UPDATE触发器修改为两条SQL语句(INSERT OR IGNORE & UPDATE)
func (db *dbSqlite) handleSqlBeforeExec(sql string) string {