From ea82aa0fbf3c292a1b400fafb19fc20b7cebdc43 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 18 Apr 2014 18:39:59 +0800 Subject: [PATCH] add set db to dialect --- .gitignore | 1 + dialect.go | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..98e6ef67 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.db diff --git a/dialect.go b/dialect.go index 51c4cd4d..f17cf784 100644 --- a/dialect.go +++ b/dialect.go @@ -24,8 +24,9 @@ type Uri struct { // a dialect is a driver's wrapper type Dialect interface { - Init(*Uri, string, string) error + Init(*DB, *Uri, string, string) error URI() *Uri + DB() *DB DBType() DbType SqlType(*Column) string @@ -64,16 +65,20 @@ func OpenDialect(dialect Dialect) (*DB, error) { } type Base struct { + db *DB dialect Dialect driverName string dataSourceName string *Uri } -func (b *Base) Init(dialect Dialect, uri *Uri, drivername, dataSourceName string) error { - b.dialect = dialect +func (b *Base) DB() *DB { + return b.db +} + +func (b *Base) Init(db *DB, dialect Dialect, uri *Uri, drivername, dataSourceName string) error { + b.db, b.dialect, b.Uri = db, dialect, uri b.driverName, b.dataSourceName = drivername, dataSourceName - b.Uri = uri return nil }