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