|
@@ -258,7 +258,7 @@ func (m *Mysql) SelectBySql(q string, args ...interface{}) *[]map[string]interfa
|
|
|
func (m *Mysql) SelectBySqlByTx(tx *sql.Tx, q string, args ...interface{}) *[]map[string]interface{} {
|
|
|
return m.Select(0, nil, tx, q, args...)
|
|
|
}
|
|
|
-func (m *Mysql) Select(bath int, f func(l *[]map[string]interface{}), tx *sql.Tx, q string, args ...interface{}) *[]map[string]interface{} {
|
|
|
+func (m *Mysql) Select(bath int, f func(l *[]map[string]interface{}) bool, tx *sql.Tx, q string, args ...interface{}) *[]map[string]interface{} {
|
|
|
var stmtOut *sql.Stmt
|
|
|
var err error
|
|
|
if tx == nil {
|
|
@@ -306,7 +306,9 @@ func (m *Mysql) Select(bath int, f func(l *[]map[string]interface{}), tx *sql.Tx
|
|
|
}
|
|
|
list = append(list, ret)
|
|
|
if bath > 0 && len(list) == bath {
|
|
|
- f(&list)
|
|
|
+ if !f(&list) {
|
|
|
+ break
|
|
|
+ }
|
|
|
list = []map[string]interface{}{}
|
|
|
}
|
|
|
}
|
|
@@ -316,10 +318,10 @@ func (m *Mysql) Select(bath int, f func(l *[]map[string]interface{}), tx *sql.Tx
|
|
|
}
|
|
|
return &list
|
|
|
}
|
|
|
-func (m *Mysql) SelectByBath(bath int, f func(l *[]map[string]interface{}), q string, args ...interface{}) {
|
|
|
+func (m *Mysql) SelectByBath(bath int, f func(l *[]map[string]interface{}) bool, q string, args ...interface{}) {
|
|
|
m.SelectByBathByTx(bath, f, nil, q, args...)
|
|
|
}
|
|
|
-func (m *Mysql) SelectByBathByTx(bath int, f func(l *[]map[string]interface{}), tx *sql.Tx, q string, args ...interface{}) {
|
|
|
+func (m *Mysql) SelectByBathByTx(bath int, f func(l *[]map[string]interface{}) bool, tx *sql.Tx, q string, args ...interface{}) {
|
|
|
m.Select(bath, f, tx, q, args...)
|
|
|
}
|
|
|
func (m *Mysql) FindOne(tableName string, query map[string]interface{}, fields, order string) *map[string]interface{} {
|