TiDB v5.0.3 SQL 语法不兼容 v4.0.7

【 TiDB 使用环境】
5.0.3

【概述】 5.0.3 sql语法不兼容4.07

【背景】 5.0.3 sql语法不兼容4.07

【现象】 5.0.3 sql语法不兼容4.07

【问题】 5.0.3 sql语法不兼容4.07


sql语句|attachment (1.4 KB) sql语句
表结构 (10.2 KB) 表结构

1赞

复现路径贴一下~

1赞

4.0.7 可以跑么?
可以上两个 Explain SQL 的图么?

explain (30.4 KB) explain

5.0.3 的环境中是不是也配备了 tiflash ? 而且这个案例中,使用的数据表在 tiflash 中也有数据?

5.0.3也开启了tiflash


收到,4.X 和 5.X 对于MPP (tiflash) 执行计划的处理方式有比较大变化,还不知道是不是因为兼容性的问题引起的

这个问题已经转给 CTC 的小伙伴了,估计要等待一下

应该是已知 bug,由于 TiDB Server parser 在 5.0 版本的改动引入的,具体见:

https://github.com/pingcap/tidb/pull/25647

建议改写 sql 跳过:

create view test_view as SELECT
    `agent`.`agent_id`,
    `agent`.`agent_type`,
    `agent`.`agent_name`,
    `agent`.`org_code` as agent_org_code, 
    `agent`.`agent_status`,
    `team`.`id` AS `team_id`,
    `team`.`team_name`,
    `team`.`team_type`,
    `team`.`org_code` as team_org_code,
    `groupa`.`id` AS `group_id`,
    `groupa`.`group_name`,
    `groupa`.`org_code` as group_org_code,
    `account`.`id` AS `account_id`,
    `account`.`account_name`,
    `account`.`cno`
FROM
    `shuidi_sdb_crm`.`sdb_crm_authorize_agent_info` as agent
    LEFT JOIN `shuidi_sdb_crm`.`sdb_crm_authorize_team` as team ON `agent`.`agent_id` = `team`.`agent_id` and `team`.`VALID` = 1 and `team`.`is_delete` = 0
    LEFT JOIN `shuidi_sdb_crm`.`sdb_crm_authorize_group` as groupa ON `team`.`id` = `groupa`.`team_id` and `groupa`.`VALID` = 1 and `groupa`.`is_delete` = 0
    LEFT JOIN `shuidi_sdb_crm`.`sdb_crm_authorize_user_account` as account ON `groupa`.`id` = `account`.`group_id` and `account`.`VALID` = 1 and `account`.`is_delete` = 0
where
    `agent`.`VALID` = 1 AND `agent`.`is_delete` = 0
1赞