在OBmysql模式下,5.7.25-OceanBase-v4.2.5.6版本使用with recursive异常,5.7.25-OceanBase-v3.2.4.8使用正常

【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】5.7.25-OceanBase-v4.2.5.6
【问题描述】with recursive 查询 出现异常,但是在5.7.25-OceanBase-v3.2.4.8中是正常的
【复现路径】问题出现前后相关操作
复现:basic_dept 表结构 :dept_id , ext_code, ext_parent_code,ext_name
with recursive dept_path as (
select ext_code ,ext_parent_code ,ext_name, concat(’ > ’ ,dept_id, ’ > ’ ) as path ,dept_id
from basic_dept where dept_id = ‘XXXX’
union all select d.ext_code ,d.ext_parent_code ,d.ext_name, concat(dp.path , d.dept_id , ’ > ') as path ,d.dept_id
from basic_dept d join dept_path dp on d.ext_parent_code = dp.ext_code)

【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

推荐使用 obdiag 工具进行根因分析和日志采集,以便确认问题所在。

根因分析场景: SQL性能问题
根因分析命令: obdiag rca run --scene=sql_performance --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

日志采集场景: SQL执行出错
日志采集命令: obdiag gather scene run --scene=observer.sql_err --env “{db_connect=’-h127.0.0.1 -P2881 -utest@test -p****** -Dtest’, trace_id=‘Yxx’}”

上述命令将针对您遇到的问题进行详细的诊断分析。通过执行这两个命令,您可以收集当前执行 WITH RECURSIVE 查询时所遇到的具体错误日志及性能瓶颈。请将日志提供给我们,以便我们进一步定位问题。

麻烦您提供一些信息以便我们更好地帮助您:

  1. 能否提供完整的 SQL 查询语句,包括递归部分的具体逻辑?
  2. 可以提供表 basic_dept 的定义吗?这将帮助我们理解您的表结构。
  3. 在哪个版本(5.7.25-OceanBase-v4.2.5.6)上遇到了问题?可以提供具体的错误消息或错误代码吗?
  4. 是否有相关的配置变更或系统环境的变化?这些变化可能会影响查询的执行。
  5. 您是否有在其他场景下使用过相同的 WITH RECURSIVE 查询,这些场景下是否也存在问题?

附上敏捷诊断工具 obdiag 使用帮助链接

ErrorCode = 1406, SQLState = 22001, Details = Data truncation: Data too long for column

你好,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节。建议你通过以下方式寻求帮助:
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询

https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022