Closed lizhizhuanshu closed 2 weeks ago
这个bug我记得改过啊。。。
这个bug我记得改过啊。。。
嗯,我用的master分支还是有这个问题,我看代码也的确没有区分有符号还是无符号, 我用的是mysql数据库
formats_.push_back(getMysqlTypeBySize(sizeof(T)));
有符号 和无符号 sizeof 结果是一样的, 然后后边都按照有符号处理的,我觉得这里应该区分有符号 还是无符号
formats_.push_back(getMysqlTypeBySize(sizeof(T)));
有符号 和无符号 sizeof 结果是一样的, 然后后边都按照有符号处理的,我觉得这里应该区分有符号 还是无符号
对,是这里,我这边也是因为项目里面发现有问题,才知道的,,这个后续如果自增id达到有符号的最大值变成负数,可能会有大问题
这个bug我记得改过啊。。。
那咱们这边准备如何处理这个问题呢,是要查看一下之前是否有其他实现,然后被覆盖了吗?
我觉得改一下 FieldType 这个枚举, 带上类型 就行了
咋关了
错误其实很简单,也非常容易复现,就是用DbClient->execSql 模板绑定无符号整数,插入时会变成有符号的整数,我用的是mysql的client实现,其他的并没有看,我发现,咱们这个实现压根就没有无符号,在插入的时候无符号也会给转化成有符号去转化为字符串,这个我觉得是非常严重的错误。
目前我可以提供mysql的实现部分,其他部分没有看,暂时也无法提供