@@ -47,10 +47,10 @@ func (This *mysqlDB) Close() bool {
4747}
4848
4949func (This * mysqlDB ) GetSchemaList () (data []string ) {
50- rows , err := This . conn . Query ( "SHOW DATABASES" , [] driver.Value {})
51- if err != nil {
52- log . Printf ( "[ERROR] output[%s] GetSchemaList err:%+v \n " , OutputName , err )
53- This . err = err
50+ var rows driver.Rows
51+ rows , This . err = This . conn . Query ( "SHOW DATABASES" , []driver. Value {})
52+ if This . err != nil {
53+ log . Printf ( "[ERROR] output[%s] GetSchemaList err:%+v \n " , OutputName , This . err )
5454 return
5555 }
5656 defer rows .Close ()
@@ -120,13 +120,14 @@ func (This *mysqlDB) GetTableFields(schema, table string) (data []TableStruct) {
120120 p := make ([]driver.Value , 0 )
121121 p = append (p , schema )
122122 p = append (p , table )
123- rows , err := This .conn .Query (sql , p )
124- if err != nil {
123+ var rows driver.Rows
124+ rows , This .err = This .conn .Query (sql , p )
125+ if This .err != nil {
125126 return
126127 }
127128 defer rows .Close ()
128- if err != nil {
129- log .Printf ("[ERROR] output[%s] GetTableFields schema:%s table:%s err:%+v \n " , OutputName , schema , table , err )
129+ if This . err != nil {
130+ log .Printf ("[ERROR] output[%s] GetTableFields schema:%s table:%s err:%+v \n " , OutputName , schema , table , This . err )
130131 return FieldList
131132 }
132133 for {
@@ -191,26 +192,27 @@ func (This *mysqlDB) GetTableFields(schema, table string) (data []TableStruct) {
191192}
192193
193194func (This * mysqlDB ) Begin () error {
194- _ , err : = This .conn .Exec ("BEGIN" , make ([]driver.Value , 0 ))
195- return err
195+ _ , This . err = This .conn .Exec ("BEGIN" , make ([]driver.Value , 0 ))
196+ return This . err
196197}
197198
198199func (This * mysqlDB ) Commit () error {
199- _ , err : = This .conn .Exec ("COMMIT" , make ([]driver.Value , 0 ))
200- return err
200+ _ , This . err = This .conn .Exec ("COMMIT" , make ([]driver.Value , 0 ))
201+ return This . err
201202}
202203
203204func (This * mysqlDB ) Rollback () error {
204- _ , err : = This .conn .Exec ("ROLLBACK" , make ([]driver.Value , 0 ))
205- return err
205+ _ , This . err = This .conn .Exec ("ROLLBACK" , make ([]driver.Value , 0 ))
206+ return This . err
206207}
207208
208209func (This * mysqlDB ) ShowTableCreate (schema , table string ) string {
209210 sql := "SHOW CREATE TABLE `" + schema + "`.`" + table + "`"
210211 p := make ([]driver.Value , 0 )
211- rows , err := This .conn .Query (sql , p )
212- if err != nil {
213- log .Printf ("[ERROR] output[%s] ShowTableCreate schema:%s table:%s err:%+v \n " , OutputName , schema , table , err )
212+ var rows driver.Rows
213+ rows , This .err = This .conn .Query (sql , p )
214+ if This .err != nil {
215+ log .Printf ("[ERROR] output[%s] ShowTableCreate schema:%s table:%s err:%+v \n " , OutputName , schema , table , This .err )
214216 return ""
215217 }
216218 defer rows .Close ()
@@ -231,9 +233,10 @@ func (This *mysqlDB) ShowTableCreate(schema, table string) string {
231233func (This * mysqlDB ) SelectVersion () string {
232234 sql := "SELECT version()"
233235 p := make ([]driver.Value , 0 )
234- rows , err := This .conn .Query (sql , p )
235- if err != nil {
236- log .Printf ("[ERROR] output[%s] SelectVersion err:%+v \n " , OutputName , err )
236+ var rows driver.Rows
237+ rows , This .err = This .conn .Query (sql , p )
238+ if This .err != nil {
239+ log .Printf ("[ERROR] output[%s] SelectVersion err:%+v \n " , OutputName , This .err )
237240 return ""
238241 }
239242 defer rows .Close ()
@@ -253,22 +256,23 @@ func (This *mysqlDB) SelectVersion() string {
253256
254257func (This * mysqlDB ) CreateDatabase (database string ) (err error ) {
255258 sql := fmt .Sprintf ("CREATE DATABASE IF NOT EXISTS `%s`" , database )
256- _ , err = This .conn .Exec (sql , []driver.Value {})
257- return
259+ _ , This . err = This .conn .Exec (sql , []driver.Value {})
260+ return This . err
258261}
259262
260263func (This * mysqlDB ) Exec (sql string ) (err error ) {
261- _ , err = This .conn .Exec (sql , []driver.Value {})
262- return
264+ _ , This . err = This .conn .Exec (sql , []driver.Value {})
265+ return This . err
263266}
264267
265268func (This * mysqlDB ) ShowBackends () (backendsList []map [string ]driver.Value , err error ) {
266269 sql := "SHOW backends"
267270 p := make ([]driver.Value , 0 )
268- rows , err := This .conn .Query (sql , p )
269- if err != nil {
270- log .Printf ("[WARN] output[%s] ShowBackbends err:%+v \n " , OutputName , err )
271- return make ([]map [string ]driver.Value , 0 ), err
271+ var rows driver.Rows
272+ rows , This .err = This .conn .Query (sql , p )
273+ if This .err != nil {
274+ log .Printf ("[WARN] output[%s] ShowBackbends err:%+v \n " , OutputName , This .err )
275+ return make ([]map [string ]driver.Value , 0 ), This .err
272276 }
273277 defer rows .Close ()
274278 for {
@@ -285,3 +289,23 @@ func (This *mysqlDB) ShowBackends() (backendsList []map[string]driver.Value, err
285289 }
286290 return backendsList , nil
287291}
292+
293+ func (This * mysqlDB ) ShowVersionComment () (versionComment string , err error ) {
294+ sql := "SHOW VARIABLES LIKE 'version_comment'"
295+ p := make ([]driver.Value , 0 )
296+ rows , err := This .conn .Query (sql , p )
297+ if err != nil {
298+ log .Printf ("[WARN] output[%s] ShowVersionComment err:%+v \n " , OutputName , err )
299+ return "" , err
300+ }
301+ defer rows .Close ()
302+ for {
303+ dest := make ([]driver.Value , len (rows .Columns ()), len (rows .Columns ()))
304+ err := rows .Next (dest )
305+ if err != nil {
306+ break
307+ }
308+ versionComment = fmt .Sprint (dest [1 ])
309+ }
310+ return
311+ }
0 commit comments