Conversation
|
Workflow [PR], commit [7d6cd2b] Summary: ❌
AI ReviewSummaryThis PR fixes ClickHouse Rules
Final Verdict
|
a0f377b to
37e30c9
Compare
| if (!column_needles) | ||
| return {}; | ||
|
|
||
| /// When the query plan is serialized and deserialized (e.g. with serialize_query_plan=1), |
There was a problem hiding this comment.
Minor: column_const --> column_needles_const
More importantly, my brain is broken. What exact type of needle column is a problem?
There was a problem hiding this comment.
| What exact type of needle column is a problem?
Any serialized constColumn.
The deserialization code looks like:
ClickHouse/src/Interpreters/ActionsDAG.cpp
Lines 3959 to 3963 in b873297
LLVM Coverage Report
Changed lines: 62.50% (5/8) · Uncovered code |
When
serialize_query_plan = 1is active (e.g. in "distributed plan" CI mode),ActionsDAG::deserializeConstantrecreatesColumnConstwithsize_ = 0as a placeholder (broadcast size is unknown at deserialization time). The data column inside theColumnConststill holds the actual value.initializeSearchTokensinhasAnyAllTokens.cppcalledcolumn_needles->empty()which delegates toColumnConst::size()and returns true whensize_ = 0.CI report: https://s3.amazonaws.com/clickhouse-test-reports/json.html?REF=master&sha=0e2f4c6c1fef69f5c0ba46252d04b1cd4687b661&name_0=MasterCI&name_1=Stateless%20tests%20%28amd_asan_ubsan%2C%20distributed%20plan%2C%20parallel%2C%202%2F2%29
Followup for #102128 fixes new issue exposed in.
This could also avoid: #102108
And solves the root cause of exposed problem with new test
02346_text_index_bug101913from #101939 fixing #101913Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):
Fixes
hasAllTokensandhasAnyTokensreturning no matches when queries are executed via a Distributed table with serialize_query_plan = 1.Documentation entry for user-facing changes