From 4209cabad1f4d79becd78c0c7a9db792bff3d1fe Mon Sep 17 00:00:00 2001 From: jumpeiMano Date: Mon, 19 Oct 2020 14:27:05 +0900 Subject: [PATCH 1/2] feat: define xorm.FromDialectAndDB --- engine.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/engine.go b/engine.go index 4159a7b2..c4cfa281 100644 --- a/engine.go +++ b/engine.go @@ -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 } +// FromDialectAndDB 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 FromDialectAndDB(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 -- 2.40.1 From fa7f45555f1232c2c62e2701be1680b8e644764d Mon Sep 17 00:00:00 2001 From: jumpeiMano Date: Tue, 20 Oct 2020 12:03:30 +0900 Subject: [PATCH 2/2] refactor: rename the function name --- engine.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine.go b/engine.go index c4cfa281..6c894e74 100644 --- a/engine.go +++ b/engine.go @@ -105,11 +105,11 @@ func NewEngineWithParams(driverName string, dataSourceName string, params map[st return engine, err } -// FromDialectAndDB new a db manager according to the parameter. +// 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 FromDialectAndDB(driverName, dataSourceName string, dialect dialects.Dialect, db *core.DB) (*Engine, error) { +func NewEngineWithDialectAndDB(driverName, dataSourceName string, dialect dialects.Dialect, db *core.DB) (*Engine, error) { return newEngine(driverName, dataSourceName, dialect, db) } -- 2.40.1