【标题】(请简要描述下实现的内容)
修复问题:兼容B库模式下,bigint unsigned类型转bigint类型部分结果与mysql不一致
【实现内容】:
opengauss兼容B库模式下,bigint unsigned类型转bigint类型隐式和赋值转换结果与mysql保持一致
【根因分析】:
bigint unsigned类型转bigint类型隐式和赋值转换在opengauss中实现为超过int8的最大值就截断为int8的最大值,而在mysql中实现为转换成正整数溢出的负数。
【实现方案】:
bigint unsigned类型转bigint类型隐式和赋值转换通过函数ui8toi8完成转换,修改这个函数去掉截断为int8最大值的逻辑。
【关联需求或issue】:
#I7VCQ8:兼容B库模式下,bigint unsigned类型转bigint类型部分结果与mysql不一致
【开发自验报告】:

  1. 请附上自验结果(内容或者截图)
    输入图片说明
    输入图片说明
  2. 是否可以添加fastcheck测试用例,如是,请补充fastcheck用例
  3. 是否涉及资料修改,如是,在docs仓库补充资料
  4. 是否考虑支撑升级和在线扩容等扩展场景
  5. 是否考虑异常场景/并发场景/前向兼容/性能场景
  6. 是否对其他模块产生影响

【其他说明】: