Skip to content

Conversation

@yujun777
Copy link
Contributor

@yujun777 yujun777 commented Oct 13, 2025

simplify expression equals with true / false literal.

for example:

  1. a > 1 = true => a > 1;
  2. a > 1 = false => not(a > 1);
  3. a > 1 <=> true => a > 1 and a is not null;

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:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

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

@Thearas
Copy link
Contributor

Thearas commented Oct 13, 2025

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?

@yujun777
Copy link
Contributor Author

run buildall

1 similar comment
@yujun777
Copy link
Contributor Author

run buildall

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 90.91% (80/88) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link

TPC-DS: Total hot run time: 190990 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 3362f61f7cb44989aa305fe0f0264de90c4b9054, data reload: false

query1	1088	437	405	405
query2	6556	1728	1656	1656
query3	6774	227	219	219
query4	26150	23516	23369	23369
query5	4885	631	491	491
query6	352	238	222	222
query7	4657	510	302	302
query8	318	286	256	256
query9	8732	2584	2572	2572
query10	521	344	317	317
query11	15263	15362	14935	14935
query12	185	122	114	114
query13	1667	567	434	434
query14	11717	9387	9404	9387
query15	213	208	182	182
query16	7706	763	576	576
query17	1386	771	682	682
query18	2281	470	376	376
query19	218	232	186	186
query20	171	126	126	126
query21	230	149	124	124
query22	4788	4824	4475	4475
query23	34982	34556	34084	34084
query24	8526	2572	2591	2572
query25	614	593	626	593
query26	1806	312	162	162
query27	2748	578	354	354
query28	4476	2214	2191	2191
query29	834	655	508	508
query30	301	226	197	197
query31	930	801	736	736
query32	84	67	71	67
query33	584	390	323	323
query34	814	840	530	530
query35	809	830	773	773
query36	980	1005	929	929
query37	124	109	91	91
query38	3544	3533	3515	3515
query39	1518	1396	1406	1396
query40	221	127	124	124
query41	67	64	66	64
query42	126	127	118	118
query43	493	515	481	481
query44	1350	864	826	826
query45	185	177	172	172
query46	847	1008	651	651
query47	1760	1809	1746	1746
query48	388	430	323	323
query49	781	514	429	429
query50	655	707	407	407
query51	3955	4069	3911	3911
query52	109	107	104	104
query53	241	279	195	195
query54	599	600	547	547
query55	91	96	88	88
query56	338	308	311	308
query57	1179	1197	1198	1197
query58	284	275	288	275
query59	2576	2626	2487	2487
query60	362	395	332	332
query61	165	162	153	153
query62	828	732	683	683
query63	231	200	193	193
query64	4447	1170	860	860
query65	4046	3971	3979	3971
query66	1095	435	328	328
query67	15419	15363	14995	14995
query68	7004	880	592	592
query69	491	319	297	297
query70	1431	1293	1303	1293
query71	544	342	320	320
query72	6021	4952	4986	4952
query73	675	624	367	367
query74	8883	8919	8700	8700
query75	3362	3343	2873	2873
query76	3284	1179	735	735
query77	617	422	335	335
query78	9477	9647	8889	8889
query79	2540	823	590	590
query80	703	585	528	528
query81	532	263	228	228
query82	343	160	139	139
query83	274	275	256	256
query84	265	116	93	93
query85	923	537	423	423
query86	390	318	314	314
query87	3737	3773	3746	3746
query88	3787	2239	2269	2239
query89	404	327	302	302
query90	2027	221	227	221
query91	168	164	133	133
query92	85	75	68	68
query93	2112	988	638	638
query94	697	420	345	345
query95	405	327	324	324
query96	482	585	283	283
query97	2942	2949	2860	2860
query98	255	221	208	208
query99	1354	1420	1304	1304
Total cold run time: 278584 ms
Total hot run time: 190990 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 30.29 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 3362f61f7cb44989aa305fe0f0264de90c4b9054, data reload: false

query1	0.05	0.06	0.05
query2	0.09	0.06	0.06
query3	0.25	0.08	0.08
query4	1.61	0.11	0.12
query5	0.29	0.26	0.24
query6	1.19	0.66	0.66
query7	0.03	0.03	0.03
query8	0.06	0.04	0.04
query9	0.65	0.53	0.52
query10	0.59	0.57	0.58
query11	0.17	0.11	0.12
query12	0.15	0.12	0.12
query13	0.64	0.62	0.62
query14	1.03	1.02	1.04
query15	0.87	0.85	0.88
query16	0.40	0.41	0.40
query17	1.04	1.05	1.04
query18	0.21	0.20	0.20
query19	1.95	1.83	1.82
query20	0.01	0.01	0.02
query21	15.43	0.94	0.57
query22	0.75	1.02	0.95
query23	14.80	1.40	0.62
query24	6.51	2.28	0.42
query25	0.31	0.12	0.06
query26	0.64	0.16	0.13
query27	0.07	0.05	0.05
query28	9.02	1.34	0.93
query29	12.55	3.90	3.34
query30	0.28	0.14	0.11
query31	2.83	0.60	0.38
query32	3.23	0.56	0.47
query33	3.03	3.05	3.13
query34	16.26	5.56	4.89
query35	4.92	4.96	4.90
query36	0.67	0.53	0.50
query37	0.10	0.07	0.07
query38	0.06	0.04	0.04
query39	0.04	0.03	0.03
query40	0.17	0.14	0.15
query41	0.08	0.03	0.04
query42	0.03	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 103.1 s
Total hot run time: 30.29 s

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 14.77% (13/88) 🎉
Increment coverage report
Complete coverage report

@yujun777 yujun777 force-pushed the simplify-compare-with-boolean-literal branch from a48c2d0 to 4a07b96 Compare October 14, 2025 11:20
@yujun777
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-DS: Total hot run time: 187990 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 4a07b96faad135bb0de9bedfd510abffbcda5731, data reload: false

query1	1066	440	416	416
query2	6555	1686	1783	1686
query3	6745	220	222	220
query4	26160	23381	23958	23381
query5	5862	639	488	488
query6	352	263	221	221
query7	4662	503	303	303
query8	324	260	250	250
query9	8716	2664	2666	2664
query10	558	359	295	295
query11	15910	14999	14765	14765
query12	195	118	112	112
query13	1661	582	442	442
query14	12368	9191	9156	9156
query15	228	193	181	181
query16	7645	725	507	507
query17	1418	772	656	656
query18	2074	445	368	368
query19	235	219	219	219
query20	194	136	130	130
query21	213	156	117	117
query22	4884	4771	4683	4683
query23	34808	33739	33586	33586
query24	8151	2472	2488	2472
query25	632	513	522	513
query26	1473	270	161	161
query27	2874	523	393	393
query28	4609	2253	2255	2253
query29	845	645	505	505
query30	306	256	208	208
query31	914	798	742	742
query32	88	74	73	73
query33	597	397	349	349
query34	839	871	550	550
query35	831	864	787	787
query36	1001	1058	961	961
query37	134	122	106	106
query38	3642	3610	3478	3478
query39	1512	1434	1404	1404
query40	220	125	114	114
query41	62	58	56	56
query42	122	110	118	110
query43	493	489	482	482
query44	1325	869	847	847
query45	180	181	174	174
query46	845	1005	653	653
query47	1794	1850	1743	1743
query48	409	435	330	330
query49	770	525	417	417
query50	632	695	401	401
query51	3909	3884	3927	3884
query52	106	108	104	104
query53	240	266	206	206
query54	591	595	519	519
query55	93	85	90	85
query56	375	357	293	293
query57	1208	1197	1132	1132
query58	284	279	274	274
query59	2524	2644	2509	2509
query60	358	351	340	340
query61	153	154	151	151
query62	795	711	671	671
query63	232	195	193	193
query64	4477	1120	865	865
query65	4061	3959	3946	3946
query66	1036	449	339	339
query67	15875	15212	15168	15168
query68	8022	924	605	605
query69	522	335	301	301
query70	1350	1315	1362	1315
query71	484	342	354	342
query72	5990	2737	5269	2737
query73	735	763	370	370
query74	8907	8848	8632	8632
query75	3287	3376	2821	2821
query76	3296	1162	725	725
query77	586	418	323	323
query78	9558	9969	8863	8863
query79	2848	828	607	607
query80	863	577	506	506
query81	554	258	230	230
query82	730	164	133	133
query83	267	266	249	249
query84	259	119	99	99
query85	874	479	422	422
query86	347	324	305	305
query87	3791	3780	3604	3604
query88	3917	2318	2299	2299
query89	392	330	300	300
query90	2062	209	211	209
query91	161	165	198	165
query92	86	65	64	64
query93	2621	983	633	633
query94	776	427	339	339
query95	400	312	316	312
query96	498	597	297	297
query97	2934	2972	2851	2851
query98	250	222	215	215
query99	1322	1433	1310	1310
Total cold run time: 283139 ms
Total hot run time: 187990 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 30.22 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 4a07b96faad135bb0de9bedfd510abffbcda5731, data reload: false

query1	0.06	0.05	0.05
query2	0.10	0.05	0.05
query3	0.25	0.08	0.08
query4	1.60	0.12	0.12
query5	0.28	0.27	0.25
query6	1.17	0.64	0.64
query7	0.03	0.03	0.03
query8	0.05	0.04	0.04
query9	0.63	0.53	0.51
query10	0.58	0.58	0.57
query11	0.20	0.11	0.11
query12	0.14	0.12	0.12
query13	0.62	0.61	0.62
query14	1.06	1.01	1.03
query15	0.86	0.86	0.88
query16	0.40	0.40	0.41
query17	1.06	1.07	1.05
query18	0.22	0.19	0.20
query19	1.88	1.80	1.80
query20	0.01	0.01	0.01
query21	15.47	0.94	0.56
query22	0.75	1.23	0.64
query23	14.96	1.41	0.64
query24	7.46	1.39	0.66
query25	0.49	0.20	0.17
query26	0.64	0.18	0.14
query27	0.07	0.05	0.05
query28	8.91	1.36	0.91
query29	12.57	3.88	3.24
query30	0.27	0.14	0.14
query31	2.83	0.60	0.38
query32	3.24	0.55	0.48
query33	3.07	3.13	3.15
query34	16.16	5.50	4.79
query35	4.92	4.90	5.00
query36	0.70	0.51	0.51
query37	0.10	0.07	0.08
query38	0.06	0.05	0.04
query39	0.04	0.03	0.03
query40	0.17	0.15	0.14
query41	0.09	0.03	0.03
query42	0.04	0.03	0.03
query43	0.05	0.04	0.04
Total cold run time: 104.26 s
Total hot run time: 30.22 s

@hello-stephen
Copy link
Contributor

BE UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 52.55% (17755/33789)
Line Coverage 37.75% (161475/427747)
Region Coverage 32.21% (123213/382584)
Branch Coverage 33.63% (54117/160929)

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 91.11% (82/90) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

BE Regression && UT Coverage Report

Increment line coverage 100% (0/0) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 71.17% (23575/33124)
Line Coverage 57.62% (246315/427493)
Region Coverage 52.67% (204131/387534)
Branch Coverage 54.54% (88260/161818)

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 16.67% (15/90) 🎉
Increment coverage report
Complete coverage report

@yujun777 yujun777 force-pushed the simplify-compare-with-boolean-literal branch from 4a07b96 to ad27d9e Compare October 25, 2025 02:49
@yujun777
Copy link
Contributor Author

run buildall

@yujun777
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

ClickBench: Total hot run time: 29.07 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 165e3642c4aab221069161cf884a3d4e8d6bafac, data reload: false

query1	0.07	0.06	0.06
query2	0.10	0.06	0.06
query3	0.27	0.09	0.10
query4	1.61	0.12	0.13
query5	0.30	0.29	0.28
query6	1.20	0.70	0.69
query7	0.04	0.03	0.02
query8	0.07	0.05	0.05
query9	0.66	0.57	0.57
query10	0.63	0.62	0.64
query11	0.18	0.13	0.14
query12	0.17	0.14	0.14
query13	0.66	0.62	0.61
query14	1.05	1.04	1.05
query15	0.89	0.89	0.89
query16	0.43	0.42	0.43
query17	1.13	1.18	1.15
query18	0.24	0.22	0.23
query19	2.01	1.93	1.93
query20	0.02	0.01	0.02
query21	15.37	0.23	0.15
query22	4.95	0.08	0.05
query23	15.66	0.29	0.11
query24	2.37	0.48	1.12
query25	0.09	0.07	0.06
query26	0.17	0.16	0.15
query27	0.08	0.06	0.06
query28	5.22	1.18	0.95
query29	12.70	4.58	3.73
query30	0.30	0.16	0.13
query31	2.82	0.65	0.41
query32	3.24	0.58	0.50
query33	3.19	3.16	3.11
query34	15.84	5.26	4.56
query35	4.67	4.62	4.66
query36	0.72	0.53	0.52
query37	0.11	0.07	0.07
query38	0.07	0.05	0.04
query39	0.04	0.04	0.03
query40	0.18	0.16	0.14
query41	0.10	0.04	0.03
query42	0.04	0.04	0.03
query43	0.04	0.04	0.05
Total cold run time: 99.7 s
Total hot run time: 29.07 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 86.59% (71/82) 🎉
Increment coverage report
Complete coverage report

@yujun777
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

TPC-DS: Total hot run time: 190206 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 c173b9d4c5228ceef6321f4915fac47512c750b8, data reload: false

query1	1071	434	409	409
query2	6554	1729	1725	1725
query3	6755	227	226	226
query4	26367	23663	23619	23619
query5	5788	667	471	471
query6	338	270	242	242
query7	4649	502	315	315
query8	330	277	277	277
query9	8753	2613	2595	2595
query10	604	335	308	308
query11	16095	15079	15201	15079
query12	186	129	119	119
query13	1681	579	475	475
query14	12141	9498	9298	9298
query15	227	188	179	179
query16	7708	668	518	518
query17	1600	862	650	650
query18	2055	451	369	369
query19	248	212	208	208
query20	142	143	139	139
query21	218	137	126	126
query22	4677	4748	4585	4585
query23	35162	33933	33545	33545
query24	8344	2501	2562	2501
query25	578	524	514	514
query26	1771	281	169	169
query27	2698	560	366	366
query28	4615	2222	2218	2218
query29	813	646	509	509
query30	292	255	215	215
query31	955	829	780	780
query32	89	69	75	69
query33	659	384	341	341
query34	841	869	550	550
query35	814	843	754	754
query36	961	994	908	908
query37	128	113	87	87
query38	3551	3517	3495	3495
query39	1528	1418	1433	1418
query40	227	145	126	126
query41	70	68	64	64
query42	131	116	114	114
query43	485	504	485	485
query44	1250	744	743	743
query45	181	191	176	176
query46	918	990	632	632
query47	1775	1803	1697	1697
query48	404	427	318	318
query49	771	516	420	420
query50	665	694	417	417
query51	3854	3910	3830	3830
query52	119	108	108	108
query53	239	287	194	194
query54	622	600	523	523
query55	90	91	86	86
query56	321	330	293	293
query57	1190	1191	1129	1129
query58	294	272	277	272
query59	2612	2625	2541	2541
query60	344	347	323	323
query61	158	160	164	160
query62	780	734	673	673
query63	236	191	200	191
query64	4421	1177	899	899
query65	4046	3933	3948	3933
query66	1037	453	356	356
query67	15392	15162	14944	14944
query68	8917	906	600	600
query69	514	331	292	292
query70	1356	1254	1306	1254
query71	520	334	311	311
query72	5618	4849	4811	4811
query73	701	575	353	353
query74	8926	8981	8645	8645
query75	4355	3380	2862	2862
query76	3802	1162	748	748
query77	814	422	306	306
query78	9630	9739	8997	8997
query79	1871	859	598	598
query80	647	575	509	509
query81	489	262	227	227
query82	453	157	133	133
query83	287	277	257	257
query84	255	110	95	95
query85	880	474	426	426
query86	339	323	294	294
query87	3726	3726	3617	3617
query88	3440	2246	2218	2218
query89	399	329	306	306
query90	2020	219	219	219
query91	177	176	132	132
query92	85	71	64	64
query93	1479	985	649	649
query94	695	447	327	327
query95	402	325	315	315
query96	494	565	289	289
query97	2984	2960	2849	2849
query98	243	221	210	210
query99	1659	1420	1275	1275
Total cold run time: 282795 ms
Total hot run time: 190206 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 27.6 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit c173b9d4c5228ceef6321f4915fac47512c750b8, data reload: false

query1	0.06	0.06	0.05
query2	0.10	0.05	0.05
query3	0.25	0.08	0.08
query4	1.61	0.11	0.12
query5	0.27	0.26	0.26
query6	1.18	0.66	0.65
query7	0.04	0.03	0.03
query8	0.06	0.05	0.05
query9	0.63	0.52	0.52
query10	0.58	0.57	0.56
query11	0.17	0.11	0.11
query12	0.16	0.12	0.12
query13	0.62	0.60	0.61
query14	0.99	1.01	1.02
query15	0.85	0.84	0.86
query16	0.39	0.41	0.40
query17	1.01	1.01	1.06
query18	0.22	0.20	0.20
query19	1.92	1.82	1.80
query20	0.01	0.02	0.02
query21	15.48	0.20	0.13
query22	5.02	0.07	0.05
query23	15.68	0.27	0.11
query24	2.29	0.95	0.43
query25	0.07	0.07	0.05
query26	0.15	0.13	0.12
query27	0.06	0.06	0.06
query28	3.72	1.16	0.93
query29	12.57	4.00	3.29
query30	0.28	0.14	0.11
query31	2.82	0.60	0.38
query32	3.23	0.56	0.48
query33	3.07	3.03	3.19
query34	15.86	5.12	4.52
query35	4.62	4.61	4.56
query36	0.67	0.51	0.50
query37	0.10	0.07	0.07
query38	0.06	0.05	0.04
query39	0.04	0.03	0.04
query40	0.18	0.14	0.15
query41	0.10	0.04	0.04
query42	0.04	0.04	0.03
query43	0.05	0.04	0.03
Total cold run time: 97.28 s
Total hot run time: 27.6 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 86.59% (71/82) 🎉
Increment coverage report
Complete coverage report

@yujun777
Copy link
Contributor Author

run feut

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 86.59% (71/82) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 53.66% (44/82) 🎉
Increment coverage report
Complete coverage report

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Oct 28, 2025
@github-actions
Copy link
Contributor

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

@github-actions
Copy link
Contributor

PR approved by anyone and no changes requested.

@morrySnow morrySnow merged commit cbd5602 into apache:master Oct 28, 2025
28 checks passed
dwdwqfwe pushed a commit to dwdwqfwe/doris that referenced this pull request Oct 31, 2025
…che#56899)

simplify expression equals with true / false literal.

for example: 
1. `a > 1 = true`  => `a > 1`;
2. `a > 1 = false`  => `not(a > 1)`;
3. `a > 1  <=> true`  => `a > 1 and a is not null`;
yujun777 added a commit to yujun777/doris that referenced this pull request Nov 20, 2025
…che#56899)

simplify expression equals with true / false literal.
yujun777 added a commit to yujun777/doris that referenced this pull request Dec 1, 2025
…che#56899)

simplify expression equals with true / false literal.
yujun777 added a commit to yujun777/doris that referenced this pull request Dec 2, 2025
…che#56899)

simplify expression equals with true / false literal.
yujun777 added a commit to yujun777/doris that referenced this pull request Dec 8, 2025
…che#56899)

simplify expression equals with true / false literal.
yujun777 added a commit to yujun777/doris that referenced this pull request Jan 9, 2026
…che#56899)

simplify expression equals with true / false literal.
yujun777 added a commit to yujun777/doris that referenced this pull request Jan 9, 2026
…che#56899)

simplify expression equals with true / false literal.
yujun777 added a commit to yujun777/doris that referenced this pull request Jan 12, 2026
…che#56899)

simplify expression equals with true / false literal.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants