This commit is contained in:
azw 2023-08-20 14:40:32 +08:00
parent f326f515dc
commit f2b83a8732

View File

@ -182,12 +182,16 @@ func (this *dbPool) PageQuery(
}) })
} }
func (this *dbPool) borrowConn(dataSource string) *q5.Mysql { func (this *dbPool) borrowConn(dataSource string) *dataSource {
this.lock.Lock()
defer this.lock.Unlock()
return nil return nil
} }
func (this *dbPool) returnConn(conn *q5.Mysql) { func (this *dbPool) returnConn(ds *dataSource) {
this.lock.Lock()
defer this.lock.Unlock()
} }
func (this *dbPool) joinSelectFields(fields []string) string { func (this *dbPool) joinSelectFields(fields []string) string {
@ -216,9 +220,10 @@ func (this *dbPool) joinInsertFields(fieldsKv [][]string, params *[]string) stri
func (this *dbPool) internalExec(dataSource string, sql string, params []string, func (this *dbPool) internalExec(dataSource string, sql string, params []string,
cb ExecResultCb) { cb ExecResultCb) {
conn := this.borrowConn(dataSource) ds := this.borrowConn(dataSource)
defer this.returnConn(conn) result, err := ds.conn.Exec(sql, q5.ToInterfaces(params)...)
result, err := conn.Exec(sql, q5.ToInterfaces(params)...) this.returnConn(ds)
var lastInsertId int64 var lastInsertId int64
var rowsAffected int64 var rowsAffected int64
if err == nil { if err == nil {
@ -241,9 +246,10 @@ func (this *dbPool) internalExec(dataSource string, sql string, params []string,
func (this *dbPool) internalQuery(dataSource string, sql string, params []string, func (this *dbPool) internalQuery(dataSource string, sql string, params []string,
cb QueryResultCb) { cb QueryResultCb) {
conn := this.borrowConn(dataSource) ds := this.borrowConn(dataSource)
defer this.returnConn(conn) rows, err := ds.conn.Query(sql, q5.ToInterfaces(params)...)
rows, err := conn.Query(sql, q5.ToInterfaces(params)...) this.returnConn(ds)
if this.style == GO_STYLE_DB { if this.style == GO_STYLE_DB {
cb(err, NewDataSet(rows)) cb(err, NewDataSet(rows))
} else { } else {
@ -256,9 +262,10 @@ func (this *dbPool) internalQuery(dataSource string, sql string, params []string
func (this *dbPool) internalQueryOne(dataSource string, sql string, params []string, func (this *dbPool) internalQueryOne(dataSource string, sql string, params []string,
cb QueryOneCb) { cb QueryOneCb) {
conn := this.borrowConn(dataSource) ds := this.borrowConn(dataSource)
defer this.returnConn(conn) rows, err := ds.conn.Query(sql, q5.ToInterfaces(params)...)
rows, err := conn.Query(sql, q5.ToInterfaces(params)...) this.returnConn(ds)
values := &[]*string{} values := &[]*string{}
if err == nil { if err == nil {
dataSet := NewDataSet(rows) dataSet := NewDataSet(rows)