新增Chunk组块结果集操作

This commit is contained in:
一墨染尽青衣颜
2018-08-13 10:29:01 +08:00
parent 9d4eb36810
commit 820ce740ce

View File

@ -409,3 +409,31 @@ func (md *Model) getFormattedSql() string {
}
return s
}
// 组块结果集
// @author ymrjqyy
// @author 2018-08-13
func (md *Model) Chunk(limit int, callback func(result Result, err error)) {
var step = 0
var start = md.start
for {
md.limit = limit
md.start = start + step*limit
// 查询当前组块的数据
sqls := md.getFormattedSql()
data, err := md.getAll(sqls, md.whereArgs...)
if err != nil {
callback(nil, err)
break
}
if len(data) == 0 {
break
}
// 回调
callback(data, nil)
if len(data) < limit {
break
}
step++
}
}