feat: define xorm.FromDialectAndDB (#1812)

refactor: rename the function name

feat: define xorm.FromDialectAndDB

Co-authored-by: jumpeiMano <jumpeim37@gmail.com>
Reviewed-on: https://gitea.com/xorm/xorm/pulls/1812
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-Authored-By: jumpeiMano <jumpeimano@noreply.gitea.io>
Co-Committed-By: jumpeiMano <jumpeimano@noreply.gitea.io>
This commit is contained in:
jumpeiMano 2020-10-20 11:11:04 +08:00 committed by Lunny Xiao
parent 0c1b815227
commit 17f28a1314
1 changed files with 13 additions and 1 deletions

View File

@ -61,6 +61,10 @@ func NewEngine(driverName string, dataSourceName string) (*Engine, error) {
return nil, err
}
return newEngine(driverName, dataSourceName, dialect, db)
}
func newEngine(driverName, dataSourceName string, dialect dialects.Dialect, db *core.DB) (*Engine, error) {
cacherMgr := caches.NewManager()
mapper := names.NewCacheMapper(new(names.SnakeMapper))
tagParser := tags.NewParser("xorm", dialect, mapper, mapper, cacherMgr)
@ -88,7 +92,7 @@ func NewEngine(driverName string, dataSourceName string) (*Engine, error) {
engine.SetLogger(log.NewLoggerAdapter(logger))
runtime.SetFinalizer(engine, func(engine *Engine) {
engine.Close()
_ = engine.Close()
})
return engine, nil
@ -101,6 +105,14 @@ func NewEngineWithParams(driverName string, dataSourceName string, params map[st
return engine, err
}
// NewEngineWithDialectAndDB new a db manager according to the parameter.
// If you do not want to use your own dialect or db, please use NewEngine.
// For creating dialect, you can call dialects.OpenDialect. And, for creating db,
// you can call core.Open or core.FromDB.
func NewEngineWithDialectAndDB(driverName, dataSourceName string, dialect dialects.Dialect, db *core.DB) (*Engine, error) {
return newEngine(driverName, dataSourceName, dialect, db)
}
// EnableSessionID if enable session id
func (engine *Engine) EnableSessionID(enable bool) {
engine.logSessionID = enable