-
Notifications
You must be signed in to change notification settings - Fork 754
limitN = 0 的时候,相当于没有限制。 #1117
Comments
超大的问题 |
Limit 0 有什么意义吗? |
就说说我的遭遇,我搞了某个后台定时任务,通过配置文件就控制LimitN。一开始不希望任务执行,设置LimitN = 0。结果就······ |
在 golang 中,由于零值的原因,在逻辑判断中不能很好的判断这个 |
可以把Statement中的LimitN改为*int, 不是nil的话, 就表示设置了.nil的话, 表示没有设置. |
@xbcbupt725 自己加个if啊,为0时性能还更好,至少不用请求数据库。 |
因为 golang 不可以直接取基本元素的字面量引用,这样反而会让编码更加麻烦,而且0的话,其实已经可以在外层控制的 |
很多时候比如翻页,是前端传过来的参数,写代码的人只对了最大值做限制,而没有对0判断,原本以为会是limit 0,结果现在把所有数据都查一遍了 |
if session.statement.LimitN > 0 {
orderSQL += fmt.Sprintf(" LIMIT %d", session.statement.LimitN)
}
这里 select * from xxx limit 0 原本是查询0个。但是通过xorm去limit相当于没有限制。
The text was updated successfully, but these errors were encountered: