diff --git a/mysql/database.go b/mysql/database.go index 378affda08fcb73899a8ebae2580a172d000638c..7730534e524c2d62b96512736c440cd0bf15d231 100644 --- a/mysql/database.go +++ b/mysql/database.go @@ -43,6 +43,8 @@ var ( TimeFormat = "%d:%02d:%02d.%03d" ) +var template *sqlgen.Template + var ( columnPattern = regexp.MustCompile(`^([a-z]+)\(?([0-9,]+)?\)?\s?([a-z]*)?`) sqlPlaceholder = sqlgen.Value{sqlgen.Raw{`?`}} @@ -69,7 +71,7 @@ func debugEnabled() bool { func init() { - sqlgen.SetTemplate(sqlgen.Template{ + template = &sqlgen.Template{ mysqlColumnSeparator, mysqlIdentifierSeparator, mysqlIdentifierQuote, @@ -97,7 +99,7 @@ func init() { mysqlDropDatabaseLayout, mysqlDropTableLayout, mysqlSelectCountLayout, - }) + } db.Register(Driver, &Source{}) } @@ -108,7 +110,7 @@ func (self *Source) doExec(stmt sqlgen.Statement, args ...interface{}) (sql.Resu return nil, db.ErrNotConnected } - query := stmt.Compile() + query := stmt.Compile(template) if debugEnabled() == true { sqlutil.DebugQuery(query, args) @@ -126,7 +128,7 @@ func (self *Source) doQuery(stmt sqlgen.Statement, args ...interface{}) (*sql.Ro return nil, db.ErrNotConnected } - query := stmt.Compile() + query := stmt.Compile(template) if debugEnabled() == true { sqlutil.DebugQuery(query, args) @@ -144,7 +146,7 @@ func (self *Source) doQueryRow(stmt sqlgen.Statement, args ...interface{}) (*sql return nil, db.ErrNotConnected } - query := stmt.Compile() + query := stmt.Compile(template) if debugEnabled() == true { sqlutil.DebugQuery(query, args) diff --git a/mysql/result.go b/mysql/result.go index 0564f8f9365bab4cda01820827ab1a6593298b4a..1f4b3a89f54643ec0cffd6486e55183963b36104 100644 --- a/mysql/result.go +++ b/mysql/result.go @@ -28,7 +28,7 @@ import ( "upper.io/db/util/sqlgen" ) -type counter struct { +type counter_t struct { Total uint64 `db:"_t"` } @@ -239,7 +239,7 @@ func (self *Result) Count() (uint64, error) { defer rows.Close() - dst := counter{} + dst := counter_t{} self.table.T.FetchRow(&dst, rows) return dst.Total, nil