tidb-5.0.4升级到tidb7.1.0 sql 不兼容反馈,踩坑血泪史【欢迎大家补充】

【 TiDB 使用环境】生产环境
【 TiDB 版本】7.1.0

1. tidb 7.1.0 JSON_OBJECT + if() 与tidb-5 返回结果不一致。tidb-5返回true/false, tidb-7返回0/1

CREATE TABLE `tt2` (
  `I_ID` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `I_HAS_RECEIPT` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0:否,1:是',
  PRIMARY KEY (`I_ID`) /*T![clustered_index] CLUSTERED */
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 COMMENT='xx';

insert into tt2 values(1, 0),(2, 1);

select JSON_OBJECT('has_receipt',if(I_HAS_RECEIPT = 0, false, true))from tt2 limit 10;

https://github.com/pingcap/tidb/issues/47197

2. group_concat( order by) 需要增加在临时表、内存表层面的order by

3. 升级TIDB版本需要DM同步升级,否则可能导致json数据不兼容。

4. tidb-5 的 整型对比 date_sub 返回不一致; tidb-5返回true、tidb-7返回false

select  date_sub(date_sub("2023-09-22 00:00:00", interval 2 month),INTERVAL WEEKDAY(date_sub("2023-09-22 00:00:00", interval 2 month)) DAY)
 

5. tidb-5 的ticdc升级过程中,会阻塞消息推送/同步,导致下游无请求数据。

ticdc升级我们没发生问题啊,这个有案例嘛

已知bug:cdc同步到kafka时,延迟很大

omm吗