You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by "Mryange (via GitHub)" <gi...@apache.org> on 2026/04/01 08:42:55 UTC

[PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Mryange opened a new pull request, #61999:
URL: https://github.com/apache/doris/pull/61999

   ### What problem does this PR solve?
   
   The HybridSet / FixedContainer / InListPredicateBase template system has ~264 redundant template instantiations and a latent bug. This PR fixes 4 issues:
   
   **1. Bug: `in.h` `create_string_value_set` matches wrong overload**
   
   `create_string_value_set(get_size_with_out_null(context))` silently matches the single-parameter template overload `create_string_value_set(bool)` via implicit `size_t→bool` conversion, instead of the intended two-parameter `create_string_value_set(size_t, bool)`. This causes `FixedContainer<StringRef, N>` to never activate for string IN queries. Fixed by calling `create_string_value_set(size, true)`.
   
   **2. Eliminate 24 redundant instances in `create_set` path**
   
   String types always use `StringSet<DynamicContainer>` regardless of N, but previous code still instantiated all N variants. Added `if constexpr (is_string_type(type))` short-circuit in `HybridSetTraits::get_function`.
   
   **3. Eliminate ~320 redundant instances in `InListPredicateBase`**
   
   - Non-string types in the constructor simply do `_values = hybrid_set` (pointer sharing), making N irrelevant. Moved N-dispatch behind `if constexpr (is_string_type(TYPE))` in both `predicate_creator_in_list_*.cpp`.
   - Date/DECIMALV2 types have identical `ElementType` and `ContainerType` between caller's HybridSet and InListPredicateBase — the data copy was unnecessary. Narrowed the copy branch to string-only.
   
   **4. Simplify `FixedContainer::find()` with fold expression**
   
   Replaced ~60-line manual `if constexpr` expansion (N=0..8) with a C++17 fold expression + `std::index_sequence`. Identical assembly at `-O2`.
   
   ### Changed files
   
   | File | Change |
   |------|--------|
   | `be/src/exprs/function/in.h` | Fix `create_string_value_set` call to use 2-arg overload |
   | `be/src/exprs/create_predicate_function.h` | Compile-time short-circuit for string types |
   | `be/src/exprs/hybrid_set.h` | Fold expression rewrite of `FixedContainer::find()` |
   | `be/src/storage/predicate/in_list_predicate.h` | Narrow if-branch to string-only; remove unnecessary data copy for date/DECIMALV2 |
   | `be/src/storage/predicate/predicate_creator_in_list_in.cpp` | N-dispatch only for string types |
   | `be/src/storage/predicate/predicate_creator_in_list_not_in.cpp` | Same as above |
   
   ### Release note
   
   None
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [ ] 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 <!-- Add your reason?  -->
   
   - Behavior changed:
       - [ ] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [ ] No.
       - [ ] Yes. <!-- Add document PR link here. eg: https://github.com/apache/doris-website/pull/1214 -->
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into -->
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "Mryange (via GitHub)" <gi...@apache.org>.
Mryange commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4168507946

   run buildall


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "Mryange (via GitHub)" <gi...@apache.org>.
Mryange commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4169472978

   run buildall


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4169804533

   
   <details>
   <summary>TPC-H: <b>Total hot run time: 29302 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
   Tpch sf100 test result on commit 0bacb1ec54507f27fbd5e3bc03e746ee47771bea, 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	17624	3690	3676	3676
   q2	q3	10684	847	598	598
   q4	4671	460	377	377
   q5	7468	1342	1147	1147
   q6	191	165	140	140
   q7	911	950	759	759
   q8	9314	1439	1270	1270
   q9	5515	5402	5259	5259
   q10	6288	2022	1780	1780
   q11	487	280	284	280
   q12	806	706	508	508
   q13	18058	2812	2190	2190
   q14	287	286	261	261
   q15	q16	902	870	781	781
   q17	988	1005	827	827
   q18	6387	5596	5549	5549
   q19	1196	1210	1066	1066
   q20	605	551	408	408
   q21	4839	2434	2043	2043
   q22	474	415	383	383
   Total cold run time: 97695 ms
   Total hot run time: 29302 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	4401	4335	4307	4307
   q2	q3	4640	4729	4271	4271
   q4	2035	2113	1359	1359
   q5	4892	4970	5141	4970
   q6	217	168	139	139
   q7	2047	1748	1637	1637
   q8	3446	3177	3138	3138
   q9	8361	8205	8194	8194
   q10	4447	4423	4209	4209
   q11	797	415	382	382
   q12	666	697	497	497
   q13	2708	3111	2420	2420
   q14	315	308	284	284
   q15	q16	796	775	679	679
   q17	1285	1256	1248	1248
   q18	7754	6941	7003	6941
   q19	1135	1135	1112	1112
   q20	2213	2282	2031	2031
   q21	6494	5272	4698	4698
   q22	569	505	449	449
   Total cold run time: 59218 ms
   Total hot run time: 52965 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4172158662

   # BE Regression && UT Coverage Report
   Increment line coverage `100% (0/0)` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 71.87% (26658/37090) |
   | Line Coverage     | 54.82% (281581/513653) |
   | Region Coverage   | 51.83% (233096/449736) |
   | Branch Coverage   | 53.27% (100704/189039) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "BiteTheDDDDt (via GitHub)" <gi...@apache.org>.
BiteTheDDDDt merged PR #61999:
URL: https://github.com/apache/doris/pull/61999


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4169866965

   
   <details>
   <summary>TPC-DS: <b>Total hot run time: 179817 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
   TPC-DS sf100 test result on commit 0bacb1ec54507f27fbd5e3bc03e746ee47771bea, data reload: false
   
   query5	4340	645	524	524
   query6	363	245	205	205
   query7	4235	605	337	337
   query8	332	246	221	221
   query9	8772	3928	3964	3928
   query10	516	401	357	357
   query11	6689	5499	5130	5130
   query12	188	136	127	127
   query13	1290	615	465	465
   query14	5599	5194	4786	4786
   query14_1	4212	4118	4134	4118
   query15	213	205	182	182
   query16	1014	476	450	450
   query17	1146	777	661	661
   query18	2774	513	379	379
   query19	253	236	193	193
   query20	141	132	130	130
   query21	223	143	119	119
   query22	13917	15238	14532	14532
   query23	17955	17239	16565	16565
   query23_1	16879	16924	16802	16802
   query24	8428	1794	1388	1388
   query24_1	1442	1446	1397	1397
   query25	663	494	433	433
   query26	1252	337	181	181
   query27	2622	630	374	374
   query28	4444	1938	1883	1883
   query29	933	629	553	553
   query30	304	236	195	195
   query31	1089	1025	929	929
   query32	88	69	71	69
   query33	530	368	299	299
   query34	1168	1117	674	674
   query35	741	756	648	648
   query36	1230	1224	1047	1047
   query37	154	99	84	84
   query38	3076	3057	2980	2980
   query39	915	895	849	849
   query39_1	848	842	840	840
   query40	232	157	138	138
   query41	63	63	58	58
   query42	276	272	271	271
   query43	317	316	274	274
   query44	
   query45	204	203	191	191
   query46	1113	1234	799	799
   query47	2310	2296	2259	2259
   query48	427	400	297	297
   query49	643	530	425	425
   query50	694	274	217	217
   query51	4389	4272	4334	4272
   query52	279	285	270	270
   query53	319	349	273	273
   query54	323	278	268	268
   query55	103	96	90	90
   query56	325	313	321	313
   query57	1716	1709	1543	1543
   query58	290	318	272	272
   query59	2869	2968	2697	2697
   query60	328	344	327	327
   query61	156	153	152	152
   query62	677	626	557	557
   query63	318	271	267	267
   query64	5203	1400	1065	1065
   query65	
   query66	1419	470	371	371
   query67	24411	24252	24177	24177
   query68	
   query69	454	340	318	318
   query70	1023	983	997	983
   query71	363	325	314	314
   query72	2939	2680	2401	2401
   query73	785	780	445	445
   query74	9835	9688	9617	9617
   query75	3551	3367	3002	3002
   query76	2309	1150	739	739
   query77	390	416	331	331
   query78	11256	11382	10729	10729
   query79	2318	1114	845	845
   query80	1485	772	683	683
   query81	539	279	240	240
   query82	919	154	120	120
   query83	333	288	259	259
   query84	261	150	119	119
   query85	955	506	454	454
   query86	451	318	362	318
   query87	3244	3202	3068	3068
   query88	3577	2708	2647	2647
   query89	471	409	379	379
   query90	2054	175	177	175
   query91	177	163	144	144
   query92	79	69	68	68
   query93	1191	886	511	511
   query94	681	344	290	290
   query95	652	442	332	332
   query96	980	792	343	343
   query97	2670	2668	2542	2542
   query98	243	232	229	229
   query99	1072	1071	943	943
   Total cold run time: 260849 ms
   Total hot run time: 179817 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4170505154

   # BE Regression && UT Coverage Report
   Increment line coverage `100% (0/0)` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 71.87% (26657/37090) |
   | Line Coverage     | 54.80% (281478/513653) |
   | Region Coverage   | 51.80% (232944/449736) |
   | Branch Coverage   | 53.24% (100651/189039) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4169133250

   
   <details>
   <summary>TPC-H: <b>Total hot run time: 29749 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
   Tpch sf100 test result on commit 0bacb1ec54507f27fbd5e3bc03e746ee47771bea, 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	17887	3881	3909	3881
   q2	q3	10679	889	618	618
   q4	4676	469	364	364
   q5	7473	1350	1170	1170
   q6	193	175	150	150
   q7	933	945	783	783
   q8	9305	1508	1310	1310
   q9	5555	5370	5320	5320
   q10	6259	2044	1761	1761
   q11	480	284	287	284
   q12	863	688	524	524
   q13	18066	2823	2182	2182
   q14	290	284	271	271
   q15	q16	856	857	789	789
   q17	1081	1131	831	831
   q18	6500	5665	5564	5564
   q19	1179	1147	1082	1082
   q20	595	560	418	418
   q21	4212	2501	2065	2065
   q22	511	403	382	382
   Total cold run time: 97593 ms
   Total hot run time: 29749 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	4707	4652	4694	4652
   q2	q3	4641	4752	4124	4124
   q4	2058	2149	1399	1399
   q5	5111	5272	5324	5272
   q6	227	181	143	143
   q7	2037	1817	1713	1713
   q8	3317	3120	3074	3074
   q9	8421	8380	8217	8217
   q10	4500	4537	4245	4245
   q11	611	448	417	417
   q12	662	733	494	494
   q13	2783	3035	2356	2356
   q14	287	296	262	262
   q15	q16	775	799	715	715
   q17	1317	1285	1254	1254
   q18	8142	7266	7106	7106
   q19	1158	1115	1128	1115
   q20	2243	2200	1945	1945
   q21	6117	5466	4903	4903
   q22	576	524	445	445
   Total cold run time: 59690 ms
   Total hot run time: 53851 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "Copilot (via GitHub)" <gi...@apache.org>.
Copilot commented on code in PR #61999:
URL: https://github.com/apache/doris/pull/61999#discussion_r3025552081


##########
be/src/exprs/function/in.h:
##########
@@ -113,7 +113,7 @@ class FunctionIn : public IFunction {
                    context->get_arg_type(0)->get_primitive_type() == PrimitiveType::TYPE_VARCHAR ||
                    context->get_arg_type(0)->get_primitive_type() == PrimitiveType::TYPE_STRING) {
             // the StringValue's memory is held by FunctionContext, so we can use StringValueSet here directly
-            state->hybrid_set.reset(create_string_value_set(get_size_with_out_null(context)));
+            state->hybrid_set.reset(create_string_value_set(get_size_with_out_null(context), true));
         } else {
             state->hybrid_set.reset(create_set(context->get_arg_type(0)->get_primitive_type(),

Review Comment:
   This change fixes more than a perf issue: previously `create_string_value_set(get_size_with_out_null(context))` could call the `bool null_aware` overload via `size_t -> bool`, which makes `null_aware=false` when the IN-list contains only NULLs (size==0). That changes query semantics (NULL propagation) for string IN/NOT IN with all-NULL constant lists. The PR description/checklist currently says no behavior change; it should be updated to reflect this bug fix.



##########
be/src/exprs/function/in.h:
##########
@@ -113,7 +113,7 @@ class FunctionIn : public IFunction {
                    context->get_arg_type(0)->get_primitive_type() == PrimitiveType::TYPE_VARCHAR ||
                    context->get_arg_type(0)->get_primitive_type() == PrimitiveType::TYPE_STRING) {
             // the StringValue's memory is held by FunctionContext, so we can use StringValueSet here directly
-            state->hybrid_set.reset(create_string_value_set(get_size_with_out_null(context)));
+            state->hybrid_set.reset(create_string_value_set(get_size_with_out_null(context), true));
         } else {
             state->hybrid_set.reset(create_set(context->get_arg_type(0)->get_primitive_type(),

Review Comment:
   The overload-resolution fix in `open()` is subtle and affects correctness for cases like `col IN (NULL)` / `col NOT IN (NULL)` on string types (null-aware behavior when the non-null list size is 0). There are existing BE tests around `FunctionIn` (e.g. `be/test/testutil/mock/mock_in_expr.cpp`), but none appear to cover the all-NULL constant list case for string types. Adding a unit/regression test for this scenario would prevent regressions.



##########
be/src/storage/predicate/predicate_creator_in_list_not_in.cpp:
##########
@@ -27,34 +27,42 @@ template <PrimitiveType TYPE, PredicateType PT>
 static std::shared_ptr<ColumnPredicate> create_in_list_predicate_impl(
         const uint32_t cid, const std::string col_name, const std::shared_ptr<HybridSetBase>& set,
         bool is_opposite, size_t char_length = 0) {
-    auto set_size = set->size();
-    if (set_size == 1) {
-        return InListPredicateBase<TYPE, PT, 1>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 2) {
-        return InListPredicateBase<TYPE, PT, 2>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 3) {
-        return InListPredicateBase<TYPE, PT, 3>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 4) {
-        return InListPredicateBase<TYPE, PT, 4>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 5) {
-        return InListPredicateBase<TYPE, PT, 5>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 6) {
-        return InListPredicateBase<TYPE, PT, 6>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 7) {
-        return InListPredicateBase<TYPE, PT, 7>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == FIXED_CONTAINER_MAX_SIZE) {
-        return InListPredicateBase<TYPE, PT, 8>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else {
+    // Only string types construct their own HybridSetType in the constructor (to convert
+    // from DynamicContainer to FixedContainer<std::string, N>), so N dispatch is only needed
+    // for them. All other types directly share the caller's hybrid_set.
+    if constexpr (!is_string_type(TYPE)) {
         return InListPredicateBase<TYPE, PT, FIXED_CONTAINER_MAX_SIZE + 1>::create_shared(
                 cid, col_name, set, is_opposite, char_length);
+    } else {
+        auto set_size = set->size();
+        if (set_size == 1) {
+            return InListPredicateBase<TYPE, PT, 1>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 2) {
+            return InListPredicateBase<TYPE, PT, 2>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 3) {
+            return InListPredicateBase<TYPE, PT, 3>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 4) {
+            return InListPredicateBase<TYPE, PT, 4>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 5) {
+            return InListPredicateBase<TYPE, PT, 5>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 6) {
+            return InListPredicateBase<TYPE, PT, 6>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 7) {
+            return InListPredicateBase<TYPE, PT, 7>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == FIXED_CONTAINER_MAX_SIZE) {
+            return InListPredicateBase<TYPE, PT, 8>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);

Review Comment:
   The N-dispatch still hard-codes the max fixed-container specialization as template parameter `8` when `set_size == FIXED_CONTAINER_MAX_SIZE`. This becomes incorrect if `FIXED_CONTAINER_MAX_SIZE` changes. Prefer using `InListPredicateBase<TYPE, PT, FIXED_CONTAINER_MAX_SIZE>::create_shared(...)` (and keep the condition in sync) to avoid magic numbers.
   ```suggestion
               return InListPredicateBase<TYPE, PT, FIXED_CONTAINER_MAX_SIZE>::create_shared(
                       cid, col_name, set, is_opposite, char_length);
   ```



##########
be/src/storage/predicate/predicate_creator_in_list_in.cpp:
##########
@@ -27,34 +27,42 @@ template <PrimitiveType TYPE, PredicateType PT>
 static std::shared_ptr<ColumnPredicate> create_in_list_predicate_impl(
         const uint32_t cid, const std::string col_name, const std::shared_ptr<HybridSetBase>& set,
         bool is_opposite, size_t char_length = 0) {
-    auto set_size = set->size();
-    if (set_size == 1) {
-        return InListPredicateBase<TYPE, PT, 1>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 2) {
-        return InListPredicateBase<TYPE, PT, 2>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 3) {
-        return InListPredicateBase<TYPE, PT, 3>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 4) {
-        return InListPredicateBase<TYPE, PT, 4>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 5) {
-        return InListPredicateBase<TYPE, PT, 5>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 6) {
-        return InListPredicateBase<TYPE, PT, 6>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == 7) {
-        return InListPredicateBase<TYPE, PT, 7>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else if (set_size == FIXED_CONTAINER_MAX_SIZE) {
-        return InListPredicateBase<TYPE, PT, 8>::create_shared(cid, col_name, set, is_opposite,
-                                                               char_length);
-    } else {
+    // Only string types construct their own HybridSetType in the constructor (to convert
+    // from DynamicContainer to FixedContainer<std::string, N>), so N dispatch is only needed
+    // for them. All other types directly share the caller's hybrid_set.
+    if constexpr (!is_string_type(TYPE)) {
         return InListPredicateBase<TYPE, PT, FIXED_CONTAINER_MAX_SIZE + 1>::create_shared(
                 cid, col_name, set, is_opposite, char_length);
+    } else {
+        auto set_size = set->size();
+        if (set_size == 1) {
+            return InListPredicateBase<TYPE, PT, 1>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 2) {
+            return InListPredicateBase<TYPE, PT, 2>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 3) {
+            return InListPredicateBase<TYPE, PT, 3>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 4) {
+            return InListPredicateBase<TYPE, PT, 4>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 5) {
+            return InListPredicateBase<TYPE, PT, 5>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 6) {
+            return InListPredicateBase<TYPE, PT, 6>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == 7) {
+            return InListPredicateBase<TYPE, PT, 7>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);
+        } else if (set_size == FIXED_CONTAINER_MAX_SIZE) {
+            return InListPredicateBase<TYPE, PT, 8>::create_shared(cid, col_name, set, is_opposite,
+                                                                   char_length);

Review Comment:
   The N-dispatch still hard-codes the max fixed-container specialization as template parameter `8` when `set_size == FIXED_CONTAINER_MAX_SIZE`. This becomes incorrect if `FIXED_CONTAINER_MAX_SIZE` changes. Prefer using `InListPredicateBase<TYPE, PT, FIXED_CONTAINER_MAX_SIZE>::create_shared(...)` (and keep the condition in sync) to avoid magic numbers.
   ```suggestion
               return InListPredicateBase<TYPE, PT, FIXED_CONTAINER_MAX_SIZE>::create_shared(
                       cid, col_name, set, is_opposite, char_length);
   ```



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4170460890

   # BE Regression && UT Coverage Report
   Increment line coverage `100% (0/0)` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 71.87% (26657/37090) |
   | Line Coverage     | 54.79% (281456/513653) |
   | Region Coverage   | 51.80% (232969/449736) |
   | Branch Coverage   | 53.24% (100643/189039) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4172114328

   # BE UT Coverage Report
   Increment line coverage ` ` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/0bacb1ec54507f27fbd5e3bc03e746ee47771bea_0bacb1ec54507f27fbd5e3bc03e746ee47771bea/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/0bacb1ec54507f27fbd5e3bc03e746ee47771bea_0bacb1ec54507f27fbd5e3bc03e746ee47771bea/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 52.89% (20031/37870) |
   | Line Coverage     | 36.48% (187941/515223) |
   | Region Coverage   | 32.68% (145643/445597) |
   | Branch Coverage   | 33.89% (63859/188457) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4170434892

   # BE Regression && UT Coverage Report
   Increment line coverage `100% (0/0)` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 73.60% (27297/37089) |
   | Line Coverage     | 57.22% (293719/513310) |
   | Region Coverage   | 54.42% (244365/449062) |
   | Branch Coverage   | 56.11% (105966/188849) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "Mryange (via GitHub)" <gi...@apache.org>.
Mryange closed pull request #61999: [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug
URL: https://github.com/apache/doris/pull/61999


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4169591970

   # BE Regression && UT Coverage Report
   Increment line coverage `100% (0/0)` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 73.60% (27298/37090) |
   | Line Coverage     | 57.20% (293829/513653) |
   | Region Coverage   | 54.37% (244500/449734) |
   | Branch Coverage   | 56.09% (106027/189037) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4174157098

   PR approved by anyone and no changes requested.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4174200096

   No issues found in the reviewed change set.
   
   Critical checkpoint conclusions:
   - Goal and correctness: The PR goal is to fix the `create_string_value_set` overload bug and reduce redundant template instantiations in `HybridSet`/`InListPredicateBase`. The code changes do accomplish that goal. The `FunctionIn::open()` call now selects the intended sized overload for string IN predicates, and the storage predicate refactor keeps the string-specialized copy path while collapsing non-string instantiations where `N` is not used.
   - Scope and minimality: The modification is small and focused on the relevant predicate/set construction paths plus the `FixedContainer::find()` simplification. I did not find unrelated behavior changes.
   - Concurrency: No new concurrency or lock interaction is introduced in the touched code paths.
   - Lifecycle management: No special lifecycle or static initialization risks were introduced. Shared ownership of `HybridSetBase` in `InListPredicateBase` remains straightforward.
   - Configuration: No configuration items were added or changed.
   - Compatibility: No incompatible storage format, RPC, or function symbol changes were introduced.
   - Parallel code paths: The two parallel storage predicate creator paths (`IN_LIST` and `NOT_IN_LIST`) were updated consistently. The `FunctionIn` execution path was also updated for the string overload fix.
   - Conditional checks: The new string-only branch and comments match the actual specialization requirements; I did not find a missing sibling path.
   - Test coverage: I did not see tests added with this PR. That is the main residual risk: the newly activated fixed-size `StringValueSet` path in `FunctionIn` and the non-string `InListPredicateBase` sharing path would benefit from targeted coverage.
   - Observability: No new observability appears necessary for this refactor-level change.
   - Transaction/persistence: Not applicable.
   - Data writes/modifications: Not applicable.
   - FE/BE variable passing: Not applicable.
   - Performance: The direction of the change is sound. The fold-expression rewrite of `FixedContainer::find()` is behaviorally equivalent, and reducing redundant template instantiations should lower compile-time/code-size overhead without changing hot-path semantics.
   - Other issues: None found from the reviewed paths.
   
   Residual risk:
   - No new regression/unit test coverage was included for the behavior-changing bug fix in `FunctionIn` string-set construction.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4170476949

   # BE Regression && UT Coverage Report
   Increment line coverage `100% (0/0)` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/61999_0bacb1ec54507f27fbd5e3bc03e746ee47771bea_merge/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 71.87% (26657/37090) |
   | Line Coverage     | 54.79% (281456/513653) |
   | Region Coverage   | 51.80% (232969/449736) |
   | Branch Coverage   | 53.24% (100643/189039) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "Thearas (via GitHub)" <gi...@apache.org>.
Thearas commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4168500702

   
   Thank you for your contribution to Apache Doris.
   Don't know what should be done next? See [How to process your PR](https://cwiki.apache.org/confluence/display/DORIS/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?
       


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "doris-robot (via GitHub)" <gi...@apache.org>.
doris-robot commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4169189498

   
   <details>
   <summary>TPC-DS: <b>Total hot run time: 179651 ms</b></summary>
   
   ```
   machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
   scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
   TPC-DS sf100 test result on commit 0bacb1ec54507f27fbd5e3bc03e746ee47771bea, data reload: false
   
   query5	4337	661	520	520
   query6	349	232	216	216
   query7	4243	565	377	377
   query8	353	270	232	232
   query9	8765	3978	3981	3978
   query10	488	419	357	357
   query11	6660	5508	5154	5154
   query12	182	135	131	131
   query13	1317	627	469	469
   query14	5762	5263	4848	4848
   query14_1	4203	4151	4142	4142
   query15	217	203	192	192
   query16	1002	444	434	434
   query17	951	817	664	664
   query18	2473	522	388	388
   query19	255	234	199	199
   query20	145	136	133	133
   query21	233	148	119	119
   query22	13566	13565	13378	13378
   query23	17933	17627	16926	16926
   query23_1	17046	16872	16809	16809
   query24	8096	1808	1433	1433
   query24_1	1463	1400	1463	1400
   query25	692	557	530	530
   query26	1369	338	193	193
   query27	2705	655	382	382
   query28	4561	1934	1891	1891
   query29	997	679	561	561
   query30	303	238	197	197
   query31	1105	1038	948	948
   query32	84	76	71	71
   query33	541	354	301	301
   query34	1199	1167	688	688
   query35	743	787	670	670
   query36	1193	1264	1009	1009
   query37	153	98	86	86
   query38	3137	3065	2973	2973
   query39	915	898	841	841
   query39_1	843	832	855	832
   query40	243	163	140	140
   query41	62	63	59	59
   query42	277	272	275	272
   query43	316	329	276	276
   query44	
   query45	205	199	192	192
   query46	1143	1283	787	787
   query47	2351	2377	2192	2192
   query48	417	412	300	300
   query49	655	525	457	457
   query50	704	298	214	214
   query51	4311	4305	4274	4274
   query52	284	286	266	266
   query53	330	350	275	275
   query54	343	286	277	277
   query55	99	98	96	96
   query56	334	339	336	336
   query57	1773	1714	1531	1531
   query58	300	280	282	280
   query59	2917	3050	2752	2752
   query60	335	343	332	332
   query61	160	154	157	154
   query62	706	618	566	566
   query63	320	275	268	268
   query64	5332	1440	1110	1110
   query65	
   query66	1475	475	376	376
   query67	24418	24363	24211	24211
   query68	
   query69	464	372	308	308
   query70	1013	1010	1013	1010
   query71	376	336	321	321
   query72	3011	2748	2371	2371
   query73	791	810	454	454
   query74	9878	9798	9532	9532
   query75	3580	3402	3011	3011
   query76	2309	1181	795	795
   query77	416	432	343	343
   query78	11557	11508	10738	10738
   query79	1543	1111	793	793
   query80	891	759	662	662
   query81	470	283	241	241
   query82	1398	158	121	121
   query83	368	291	264	264
   query84	325	182	122	122
   query85	884	536	459	459
   query86	393	337	313	313
   query87	3260	3205	3074	3074
   query88	3618	2704	2681	2681
   query89	480	412	384	384
   query90	1985	186	172	172
   query91	183	186	142	142
   query92	79	79	71	71
   query93	910	890	509	509
   query94	534	352	303	303
   query95	664	460	343	343
   query96	1057	786	351	351
   query97	2717	2671	2549	2549
   query98	239	230	223	223
   query99	1076	1063	968	968
   Total cold run time: 260073 ms
   Total hot run time: 179651 ms
   ```
   </details>
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "hello-stephen (via GitHub)" <gi...@apache.org>.
hello-stephen commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4169570187

   # BE UT Coverage Report
   Increment line coverage ` ` :tada:
   
   [Increment coverage report](http://coverage.selectdb-in.cc/coverage/0bacb1ec54507f27fbd5e3bc03e746ee47771bea_0bacb1ec54507f27fbd5e3bc03e746ee47771bea/increment_report/index.html)
   [Complete coverage report](http://coverage.selectdb-in.cc/coverage/0bacb1ec54507f27fbd5e3bc03e746ee47771bea_0bacb1ec54507f27fbd5e3bc03e746ee47771bea/report/index.html)
   | Category          | Coverage           |
   |-------------------|--------------------|
   | Function Coverage | 52.89% (20031/37870) |
   | Line Coverage     | 36.48% (187941/515223) |
   | Region Coverage   | 32.67% (145584/445595) |
   | Branch Coverage   | 33.88% (63856/188455) |


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "Mryange (via GitHub)" <gi...@apache.org>.
Mryange commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4171013780

   run beut


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "github-actions[bot] (via GitHub)" <gi...@apache.org>.
github-actions[bot] commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4174157006

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


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org


Re: [PR] [refine](predicate) reduce HybridSet/InListPredicate template bloat and fix create_string_value_set bug [doris]

Posted by "zclllyybb (via GitHub)" <gi...@apache.org>.
zclllyybb commented on PR #61999:
URL: https://github.com/apache/doris/pull/61999#issuecomment-4174184024

   /review


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org