尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

达梦 两个bug json 导致数据库crash 和 优化器解析or 导致结果不一样

达梦 两个bug json 导致数据库crash 和 优化器解析or 导致结果不一样
📅 发布时间:2026/7/22 10:11:26

##sample1   

无法解析 json 数据库直接crash. 分析函数,定位到BUG

升级数据库软件,问题得到规避 

 

 

########sample 2  优化器解析or 导致结果不一样

 

--测试1 原有的查询顺序,查到空行。

SQL> SELECT coltablename,DONO,colupdateable,colupdateable

  FROM SEBMDEV.DATAOBJECT_LIBRARY

  WHERE DONO = 'addRoleTaskList'

  AND (colupdateable is null or coltablename is null)   

   AND (colupdateable is null or colupdateable = '1');

no rows

 

used time: 1.484(ms). Execute id is 632801.

SQL> set autotrace on

SQL> SELECT coltablename,DONO,colupdateable,colupdateable

2  FROM SEBMDEV.DATAOBJECT_LIBRARY

3  WHERE DONO = 'addRoleTaskList'

4  AND (colupdateable is null or coltablename is null)   

5   AND (colupdateable is null or colupdateable = '1');

 

0  | CSCN2 | DATAOBJECT_LIBRARY | INDEX33555513 | 1

 

used time: 1.306(ms). Execute id is 0.

 

 

--测试2 SQL2 调整了 and 执行顺序,可以查到5条记录,开发想知道差异在哪里

 

try 。可以临时规避,看起来跟连接先后顺序有关:

SELECT coltablename,DONO,colupdateable,colupdateable

FROM SEBMDEV.DATAOBJECT_LIBRARY

WHERE DONO = 'addRoleTaskList'

 AND (colupdateable is null or colupdateable = '1')  <-

AND (colupdateable is null or coltablename is null)   <-

;

SQL> SELECT coltablename,DONO,colupdateable,colupdateable

  FROM SEBMDEV.DATAOBJECT_LIBRARY

  WHERE DONO = 'addRoleTaskList'

   AND (colupdateable is null or colupdateable = '1')

  AND (colupdateable is null or coltablename is null)

  ;

 

0  | CSCN2 | DATAOBJECT_LIBRARY | INDEX33555513 | 1

 

used time: 1.255(ms). Execute id is 0.

 

 

SQL> set autotrace off

SQL> SELECT coltablename,DONO,colupdateable,colupdateable

2   FROM SEBMDEV.DATAOBJECT_LIBRARY

3    WHERE DONO = 'addRoleTaskList'

4     AND (colupdateable is null or colupdateable = '1')

5    AND (colupdateable is null or coltablename is null)

6  ;

 

LINEID   COLTABLENAME DONO      COLUPDATEABLE COLUPDATEABLE

---------- ------------ --------------- ------------- -------------

1     r      addRoleTaskList NULL     NULL

2     r      addRoleTaskList NULL     NULL

3     r      addRoleTaskList NULL     NULL

4     r      addRoleTaskList NULL     NULL

5     p      addRoleTaskList NULL     NULL

 

used time: 1.443(ms). Execute id is 632804.

 

 

 

官方回复:

应该是已知问题,调整下OPTIMIZER_OR_NBEXP,不要包含16就行

OPTIMIZER_OR_NBEXP

 

 

select name,value,sys_value,file_value,type,description from v$parameter 

where name='OPTIMIZER_OR_NBEXP';

NAME VALUE SYS_VALUE FILE_VALUE TYPE DESCRIPTION

0 OPTIMIZER_OR_NBEXP 29 29 29 SESSION Flag of or-expression optimization method

 

 

SP_SET_PARA_VALUE(1,'OPTIMIZER_OR_NBEXP',13);

 

 

达梦厂家分析后如下:此问题为已知的BUG问题,

 

 参数OPTIMIZER_OR_NBEXP包含16时,在生成计划上出现逻辑错误导致结果集错误

 

--OPTIMIZER_OR_NBEXP参数值中不包含16时,能正常返回结果集

 

目前达梦方已修改代码。除了外层判断,内层优化时也需要判断,屏蔽不可优化的nbexp。##可以修改参数OPTIMIZER_OR_NBEXP 不包含16可规避此问题##

 

后续达梦已在25年版本上已修复此BUG。

 

 
炊烟起了;夕阳下了;细雨来了多调试,交互式编程体验 记录,独立思考,对比 感谢转载作者修车 国产化 read and connect 匍匐前进, 讲故事

相关新闻

  • MySQL迁移至GreatSQL后,timestamp字段插入报错解析
  • 大模型decoder中权重矩阵的理解 - 实践
  • 【初赛】数 - Slayer

最新新闻

  • 百达翡丽**保养价格查询|维修地址与客服电话**信息公告(2026年7月最新) - 百达翡丽官方售后中心
  • 强化学习 / OPD】OpenClaw-RL 源码阅读笔记 --- (7)--- Policy Serving
  • 2026深圳Herms爱马仕闲置包包高价正规回收哪家靠谱? - 生活时报
  • 暑假集训__cdq分治
  • 苹果手机维修的“信任缺口”:2026年长沙白苹果/无法开机**售后中心深度测评 - 苹果手机电脑维修
  • 256款创意工具如何提升团队效率与创意产出

日新闻

  • AI云原生实战05-金融AI上云最难的不是技术,是“不出事“——TCE银行风控架构拆解
  • 2026年GEOSEO优化公司选型深度测评:五大硬核标准严选,这六家重塑搜索增长新格局 - 品牌前沿专家
  • **核验!2026年7月卡地亚香港**售后网点地址及服务电话公告 - 卡地亚服务中心

周新闻

  • SaaS软件行业GEO实践:AI搜索时代的品牌可见性与获客新路径
  • 什么是PCTFE?医药高端包装的“防潮王牌“材料
  • 【JVM调优实战】16-可视化利器-JConsole-VisualVM-JMC

月新闻

  • 2026年6月公司网站搭建最新热门渠道测评:四大低成本/零代码平台对比+避坑
  • 【Linux】Linux arm 编译QT程序,出现expected “}“报错
  • 【MATLAB例程】四基站二维AOA定位与距离辅助增强对比仿真。基于角度观测和测距修正的固定目标平面定位精度分析

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号