Skip to content

[fix](load): quote slot labels in routine-load legacy expr translation to avoid reserved-keyword parse failure#63747

Merged
morrySnow merged 4 commits into
apache:masterfrom
Baymine:fix/quote-slot-labels-routine-load
Jun 3, 2026
Merged

[fix](load): quote slot labels in routine-load legacy expr translation to avoid reserved-keyword parse failure#63747
morrySnow merged 4 commits into
apache:masterfrom
Baymine:fix/quote-slot-labels-routine-load

Conversation

@Baymine

@Baymine Baymine commented May 27, 2026

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:
When a routine load job uses a column name that is a SQL reserved keyword (e.g., group) in a PRECEDING FILTER clause, the
Nereids-to-legacy expression translator sets the slot label as the raw name (e.g., group) without quoting. When the legacy
expression SQL is later re-parsed (e.g., during routine load reparse via NereidsLoadUtils.parseExpressionSeq), the unquoted
reserved keyword causes a parse failure, pausing the routine load job.

This PR quotes the slot label using SqlUtils.getIdentSql() so that reserved-keyword column names are properly backtick-quoted in
the translated legacy expression SQL, preventing the parse failure.

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • Yes. Slot labels in routine-load legacy expression translation are now backtick-quoted, which changes the
      toSqlWithoutTbl() output but does not affect semantics.
  • Does this need documentation?

    • No.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

…tion to avoid reserved-keyword parse failure
@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@Baymine

Baymine commented May 27, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

morrySnow
morrySnow previously approved these changes May 28, 2026
@github-actions github-actions Bot added the approved Indicates a PR has been approved by one committer. label May 28, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actions

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@morrySnow

Copy link
Copy Markdown
Contributor

should move getIdentSql from InitMaterializationContextHook to sqlUtils

starocean999
starocean999 previously approved these changes May 28, 2026
…Utils

Move the getIdentSql and escapeUnquote methods to the shared SqlUtils class
so they can be reused by PlanUtils for quoting slot labels in routine-load
legacy expression translation.
@Baymine Baymine dismissed stale reviews from starocean999 and morrySnow via c48f85c May 28, 2026 10:26
@Baymine

Baymine commented May 28, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@github-actions github-actions Bot removed the approved Indicates a PR has been approved by one committer. label May 28, 2026
@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-H: Total hot run time: 31629 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit c48f85c59d28e3c2e5899d381d93784ebfb8b2d7, data reload: false

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17708	4036	4022	4022
q2	q3	10827	1408	796	796
q4	4687	480	343	343
q5	7584	2274	2135	2135
q6	251	179	136	136
q7	964	772	638	638
q8	9354	1774	1670	1670
q9	6639	4953	4923	4923
q10	6425	2253	1873	1873
q11	453	271	243	243
q12	694	424	290	290
q13	18188	3376	2816	2816
q14	266	255	235	235
q15	q16	818	809	707	707
q17	955	937	897	897
q18	6786	5869	5510	5510
q19	1180	1290	1191	1191
q20	535	430	262	262
q21	5898	2769	2631	2631
q22	468	370	311	311
Total cold run time: 100680 ms
Total hot run time: 31629 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4828	4722	5000	4722
q2	q3	4953	5317	4642	4642
q4	2098	2190	1400	1400
q5	4953	4669	4745	4669
q6	235	171	125	125
q7	1775	1744	1582	1582
q8	2265	1927	1915	1915
q9	7398	7439	7396	7396
q10	4724	4654	4205	4205
q11	536	384	345	345
q12	727	741	540	540
q13	2966	3404	2805	2805
q14	264	282	260	260
q15	q16	658	690	616	616
q17	1274	1243	1245	1243
q18	7308	6863	6620	6620
q19	1078	1119	1089	1089
q20	2204	2212	1951	1951
q21	5234	4553	4435	4435
q22	533	463	422	422
Total cold run time: 56011 ms
Total hot run time: 50982 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 171490 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit c48f85c59d28e3c2e5899d381d93784ebfb8b2d7, data reload: false

query5	4356	647	523	523
query6	359	220	197	197
query7	4252	574	312	312
query8	347	231	204	204
query9	8808	4004	3982	3982
query10	460	329	293	293
query11	5798	2419	2286	2286
query12	197	126	121	121
query13	1284	616	435	435
query14	6122	5477	5076	5076
query14_1	4422	4403	4395	4395
query15	213	202	180	180
query16	1059	469	439	439
query17	1131	713	577	577
query18	2462	481	355	355
query19	207	188	153	153
query20	138	133	128	128
query21	215	135	116	116
query22	13622	13484	13399	13399
query23	17290	16608	16266	16266
query23_1	16369	16387	16496	16387
query24	7475	1770	1306	1306
query24_1	1312	1322	1306	1306
query25	560	511	434	434
query26	836	314	180	180
query27	2679	577	355	355
query28	4444	2007	2014	2007
query29	983	647	536	536
query30	309	239	194	194
query31	1142	1079	942	942
query32	89	73	70	70
query33	538	361	291	291
query34	1180	1116	664	664
query35	756	775	689	689
query36	1379	1389	1287	1287
query37	144	109	92	92
query38	3225	3173	3030	3030
query39	918	917	900	900
query39_1	874	878	865	865
query40	221	142	122	122
query41	68	61	62	61
query42	110	105	105	105
query43	327	326	289	289
query44	
query45	217	202	197	197
query46	1114	1186	737	737
query47	2388	2394	2249	2249
query48	419	427	300	300
query49	598	483	382	382
query50	990	337	243	243
query51	4380	4515	4242	4242
query52	101	102	91	91
query53	261	280	202	202
query54	316	265	251	251
query55	93	94	83	83
query56	308	307	308	307
query57	1436	1435	1323	1323
query58	299	266	272	266
query59	1559	1657	1419	1419
query60	328	311	306	306
query61	159	149	152	149
query62	705	650	595	595
query63	240	201	201	201
query64	1844	827	615	615
query65	
query66	1656	484	348	348
query67	29708	29537	29438	29438
query68	
query69	493	325	304	304
query70	1041	1012	1010	1010
query71	296	272	260	260
query72	3042	2731	2361	2361
query73	830	732	450	450
query74	5135	4894	4716	4716
query75	2696	2657	2289	2289
query76	2297	1135	805	805
query77	409	402	347	347
query78	12403	12449	11849	11849
query79	1366	1011	758	758
query80	677	562	481	481
query81	454	287	249	249
query82	617	160	127	127
query83	368	292	253	253
query84	263	154	119	119
query85	949	614	530	530
query86	405	336	305	305
query87	3455	3373	3243	3243
query88	3607	2728	2696	2696
query89	443	391	345	345
query90	1886	189	208	189
query91	200	185	156	156
query92	78	79	78	78
query93	1505	1562	922	922
query94	539	361	295	295
query95	671	398	351	351
query96	1065	821	346	346
query97	2729	2772	2593	2593
query98	242	225	230	225
query99	1186	1167	1132	1132
Total cold run time: 251969 ms
Total hot run time: 171490 ms

@Baymine Baymine requested a review from morrySnow May 28, 2026 12:26
@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 14.29% (1/7) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 15.38% (6/39) 🎉
Increment coverage report
Complete coverage report

@morrySnow

Copy link
Copy Markdown
Contributor

please fix failure p0 cases

@Baymine

Baymine commented Jun 1, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-H: Total hot run time: 29078 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 6dc2b766a0822e43f2da08ae7ad5f150af753c5a, data reload: false

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17615	4129	4022	4022
q2	q3	10765	1331	778	778
q4	4685	471	341	341
q5	7514	884	589	589
q6	185	171	138	138
q7	777	835	659	659
q8	9455	1589	1589	1589
q9	6866	4456	4462	4456
q10	6822	1810	1524	1524
q11	439	276	245	245
q12	647	420	286	286
q13	18166	3406	2767	2767
q14	264	253	237	237
q15	q16	825	766	699	699
q17	1011	939	959	939
q18	6884	5844	5492	5492
q19	1429	1306	1042	1042
q20	514	388	263	263
q21	6139	2849	2703	2703
q22	459	368	309	309
Total cold run time: 101461 ms
Total hot run time: 29078 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	5057	4923	4950	4923
q2	q3	5102	5227	4588	4588
q4	2090	2186	1398	1398
q5	4873	4651	4823	4651
q6	248	191	132	132
q7	1891	1725	1537	1537
q8	2522	2244	2225	2225
q9	7409	7509	7518	7509
q10	4733	4697	4222	4222
q11	537	395	388	388
q12	723	736	531	531
q13	3033	3407	2793	2793
q14	277	283	247	247
q15	q16	675	705	620	620
q17	1306	1282	1277	1277
q18	7379	6752	6757	6752
q19	1142	1153	1103	1103
q20	2218	2213	1931	1931
q21	5349	4616	4506	4506
q22	534	471	413	413
Total cold run time: 57098 ms
Total hot run time: 51746 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 171401 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 6dc2b766a0822e43f2da08ae7ad5f150af753c5a, data reload: false

query5	4313	660	540	540
query6	348	219	233	219
query7	4219	568	301	301
query8	326	239	244	239
query9	8793	4072	4060	4060
query10	459	364	304	304
query11	5814	2374	2164	2164
query12	185	129	126	126
query13	1312	634	457	457
query14	6076	5448	5172	5172
query14_1	4535	4529	4474	4474
query15	219	204	185	185
query16	1027	484	458	458
query17	1163	761	629	629
query18	2531	507	375	375
query19	224	214	174	174
query20	146	146	150	146
query21	214	140	121	121
query22	13647	13630	13432	13432
query23	17223	16509	16134	16134
query23_1	16361	16444	16343	16343
query24	7404	1782	1331	1331
query24_1	1321	1318	1321	1318
query25	607	515	449	449
query26	1323	351	181	181
query27	2780	542	350	350
query28	4427	2023	2041	2023
query29	1131	653	544	544
query30	314	238	200	200
query31	1147	1072	971	971
query32	91	81	80	80
query33	572	387	324	324
query34	1252	1184	677	677
query35	810	834	735	735
query36	1431	1509	1350	1350
query37	158	114	95	95
query38	3323	3209	3112	3112
query39	948	916	901	901
query39_1	898	879	874	874
query40	238	153	129	129
query41	64	64	68	64
query42	114	110	111	110
query43	334	349	295	295
query44	
query45	212	209	194	194
query46	1117	1211	713	713
query47	2379	2385	2235	2235
query48	411	423	293	293
query49	649	491	392	392
query50	959	368	246	246
query51	4298	4308	4241	4241
query52	108	107	95	95
query53	249	278	209	209
query54	317	262	260	260
query55	95	94	88	88
query56	326	311	317	311
query57	1478	1439	1337	1337
query58	301	277	267	267
query59	1587	1655	1439	1439
query60	328	325	302	302
query61	161	182	158	158
query62	701	655	598	598
query63	244	198	212	198
query64	2409	791	646	646
query65	
query66	1712	498	359	359
query67	29810	29654	29578	29578
query68	
query69	461	331	296	296
query70	1052	1021	1033	1021
query71	316	283	275	275
query72	2979	2694	2416	2416
query73	848	757	439	439
query74	5129	5045	4751	4751
query75	2678	2609	2285	2285
query76	2261	1164	782	782
query77	420	416	339	339
query78	12300	12531	11819	11819
query79	1523	1083	793	793
query80	1330	533	481	481
query81	535	279	237	237
query82	990	158	126	126
query83	326	273	249	249
query84	261	141	110	110
query85	953	537	458	458
query86	451	345	336	336
query87	3428	3373	3244	3244
query88	3684	2773	2739	2739
query89	461	391	341	341
query90	1900	195	181	181
query91	176	163	135	135
query92	82	81	74	74
query93	1594	1377	827	827
query94	715	323	322	322
query95	692	497	354	354
query96	1132	776	335	335
query97	2730	2735	2614	2614
query98	239	230	231	230
query99	1175	1167	1029	1029
Total cold run time: 255315 ms
Total hot run time: 171401 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 66.67% (6/9) 🎉
Increment coverage report
Complete coverage report

morrySnow
morrySnow previously approved these changes Jun 2, 2026
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actions github-actions Bot added the approved Indicates a PR has been approved by one committer. label Jun 2, 2026
@morrySnow

Copy link
Copy Markdown
Contributor

/review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review result: request changes.

Critical checkpoint conclusions:

  • Goal/test proof: the PR fixes identifier quoting for translated predicates and adds a routine-load regression case for keyword column names, but one config edit intended to enable the test is ineffective.
  • Scope/focus: the code and test changes are mostly focused on identifier quoting; the regression-conf edit is not aligned with how the framework loads config.
  • Concurrency/lifecycle: no concurrency, lock-order, or special lifecycle issue was found in the actual PR diff.
  • Config/incompatibility: no Doris runtime config item is added, but the added regression otherConfigs block is not consumed by Config.fromConfigObject, so it does not change the test environment as intended.
  • Parallel paths: identifier quoting was applied to both MV SQL assembly and PlanUtils expression translation; no missing parallel production path was confirmed.
  • Test coverage: the new routine-load test covers the keyword-column case when Kafka tests are enabled by the active pipeline config; the default regression-conf edit does not enable it.
  • Observability/persistence/data writes/performance: no issue was found in these areas for the actual PR diff.

User focus: no additional user-provided review focus was supplied.

Comment thread regression-test/conf/regression-conf.groovy Outdated
@github-actions github-actions Bot removed the approved Indicates a PR has been approved by one committer. label Jun 2, 2026
@Baymine

Baymine commented Jun 3, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-H: Total hot run time: 29147 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit d7fa09cd6693e7ed1c00fa5fbeda7194078febc8, data reload: false

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17873	4009	3984	3984
q2	q3	10740	1419	809	809
q4	4690	473	347	347
q5	7616	881	592	592
q6	186	183	141	141
q7	801	842	664	664
q8	9436	1667	1640	1640
q9	5754	4527	4529	4527
q10	6743	1845	1548	1548
q11	442	273	256	256
q12	631	424	295	295
q13	18231	3440	2805	2805
q14	267	264	255	255
q15	q16	826	780	711	711
q17	952	917	1062	917
q18	7054	5719	5573	5573
q19	1286	1229	1064	1064
q20	524	406	266	266
q21	5891	2589	2446	2446
q22	437	357	307	307
Total cold run time: 100380 ms
Total hot run time: 29147 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4493	4298	4302	4298
q2	q3	4574	4974	4319	4319
q4	2104	2228	1407	1407
q5	4530	4321	4404	4321
q6	236	178	133	133
q7	1827	1819	1846	1819
q8	2830	2285	2264	2264
q9	8178	8482	8112	8112
q10	4857	4786	4328	4328
q11	595	421	384	384
q12	768	801	569	569
q13	3438	3623	3009	3009
q14	302	313	294	294
q15	q16	743	756	671	671
q17	1373	1347	1353	1347
q18	8073	7543	7277	7277
q19	1175	1128	1088	1088
q20	2237	2242	1961	1961
q21	5358	4616	4511	4511
q22	533	464	420	420
Total cold run time: 58224 ms
Total hot run time: 52532 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 169514 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit d7fa09cd6693e7ed1c00fa5fbeda7194078febc8, data reload: false

query5	4326	629	502	502
query6	432	200	186	186
query7	4830	568	307	307
query8	366	220	205	205
query9	8803	4024	4024	4024
query10	446	311	260	260
query11	5960	2351	2243	2243
query12	156	108	101	101
query13	1250	625	415	415
query14	6334	5399	5098	5098
query14_1	4375	4399	4413	4399
query15	203	196	174	174
query16	1046	469	425	425
query17	1113	705	572	572
query18	2497	477	352	352
query19	199	183	140	140
query20	112	107	105	105
query21	215	141	118	118
query22	13847	13673	13491	13491
query23	17215	16434	16198	16198
query23_1	16404	16362	16292	16292
query24	7538	1803	1312	1312
query24_1	1314	1329	1324	1324
query25	599	483	421	421
query26	1334	338	166	166
query27	2657	554	349	349
query28	4494	2027	2011	2011
query29	1090	639	501	501
query30	311	237	200	200
query31	1112	1086	953	953
query32	105	65	63	63
query33	536	334	260	260
query34	1204	1228	653	653
query35	757	818	683	683
query36	1455	1412	1221	1221
query37	157	108	94	94
query38	3213	3126	3080	3080
query39	934	937	892	892
query39_1	891	893	884	884
query40	225	131	109	109
query41	72	68	69	68
query42	101	98	99	98
query43	323	335	291	291
query44	
query45	201	191	183	183
query46	1115	1206	724	724
query47	2347	2399	2234	2234
query48	425	433	308	308
query49	649	492	391	391
query50	1048	367	264	264
query51	4378	4290	4253	4253
query52	95	107	82	82
query53	267	271	200	200
query54	291	246	213	213
query55	84	78	73	73
query56	252	240	250	240
query57	1446	1405	1306	1306
query58	258	231	239	231
query59	1623	1694	1507	1507
query60	315	299	235	235
query61	157	151	152	151
query62	695	659	600	600
query63	234	192	188	188
query64	2558	787	602	602
query65	
query66	1827	468	350	350
query67	29834	29760	29450	29450
query68	
query69	426	314	266	266
query70	971	989	952	952
query71	305	230	217	217
query72	2836	2671	2411	2411
query73	854	743	433	433
query74	5122	4955	4785	4785
query75	2654	2588	2242	2242
query76	2326	1168	802	802
query77	351	372	300	300
query78	12408	12604	11789	11789
query79	1430	1031	760	760
query80	628	506	423	423
query81	466	304	255	255
query82	572	157	124	124
query83	355	279	250	250
query84	252	139	110	110
query85	873	562	439	439
query86	363	304	302	302
query87	3408	3321	3218	3218
query88	3610	2754	2722	2722
query89	428	384	330	330
query90	1959	191	179	179
query91	173	171	136	136
query92	66	61	59	59
query93	1487	1532	849	849
query94	553	358	284	284
query95	695	375	433	375
query96	1098	767	313	313
query97	2706	2705	2533	2533
query98	213	207	202	202
query99	1181	1170	1038	1038
Total cold run time: 251909 ms
Total hot run time: 169514 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 14.29% (1/7) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 3.35% (6/179) 🎉
Increment coverage report
Complete coverage report

@morrySnow

Copy link
Copy Markdown
Contributor

/review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review summary: I did not find additional blocking issues in the current head.

Critical checkpoint conclusions:

  • Goal and tests: The PR centralizes identifier quoting and uses it in Nereids-to-legacy expression conversion so routine-load filters containing reserved-word columns can be serialized and reparsed. The added FE unit test covers the reparse path for group, and the Kafka regression case exercises routine-load execution when Kafka tests are enabled.
  • Scope: The implementation is small and focused; the previous dead otherConfigs block noted in the existing review thread is no longer present in this head.
  • Concurrency and lifecycle: No new shared mutable state, locking, threads, or special lifecycle management are introduced.
  • Configuration and compatibility: No new effective config items or storage/protocol format changes are introduced.
  • Parallel code paths: The shared PlanUtils.translateToLegacyExpr path is used by routine-load predicate conversion, including the Kafka and Kinesis task reparse paths, so the fix is applied at the common conversion point.
  • Conditional checks and error handling: No new special conditionals or unchecked Status-style flows are introduced in the FE change.
  • Test coverage: Coverage is reasonable for the reported reserved-identifier reparse problem. The Kafka regression is gated by existing enableKafkaTest behavior.
  • Observability, transactions, persistence, data writes: No new observability needs, transaction behavior, or persistence semantics are introduced by this quoting change.
  • Performance: Identifier quoting adds only small string construction on expression serialization/conversion paths, not a hot execution path.
  • User focus: No additional user-provided focus points were specified.

@morrySnow morrySnow merged commit eeebf45 into apache:master Jun 3, 2026
31 checks passed
@morrySnow morrySnow changed the title [fix](nereids): quote slot labels in routine-load legacy expr translation to avoid reserved-keyword parse failure [fix](load): quote slot labels in routine-load legacy expr translation to avoid reserved-keyword parse failure Jun 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants