Conversation
|
This is an automated comment for commit 3aac663 with description of existing statuses. It's updated for the latest CI running ❌ Click here to open a full report in a separate page Successful checks
|
8a9ca47 to
8e92730
Compare
b596514 to
9a975bf
Compare
|
Tests failed because #49359 is also required, I'll temporarily add commits from that branch here. |
9a975bf to
1e50db0
Compare
97115ca to
7c80861
Compare
18c485c to
4af8d68
Compare
Locally new and old versions of tests are approximately the same. Temporarily reverted changes in this test 01062_pm_all_join_with_block_continuation |
4af8d68 to
964c7f9
Compare
It doesn't have All in all, this PR is finished it contains fixes for several tests. What was done for each test is described in the top-level PR comment, and also each one is addressed in separate commit. @novikd you may take a look |
|
The new test appears to be longer than 600 seconds under some settings. |
| removeJoin(*query->as<ASTSelectQuery>(), new_rewriter_result, context); | ||
| { | ||
| if (!query_info.planner_context) | ||
| throw Exception(ErrorCodes::LOGICAL_ERROR, "Query is not analyzed"); |
There was a problem hiding this comment.
Maybe it's possible to make a more meaningful log message.
There was a problem hiding this comment.
Updated to Query is not analyzed: no planner context. Either way, it's LOGICAL_ERROR and it doesn't matter a lot for a user, but rather for developer.
| /// Note: it's also doesn't work with the read-in-order optimization. | ||
| /// No checks here because read in order is not applied if we have `CreateSetAndFilterOnTheFlyStep` in the pipeline between the reading and sorting steps. | ||
| bool has_non_const_keys = has_non_const(left_plan.getCurrentDataStream().header, join_clause.key_names_left) | ||
| && has_non_const(right_plan.getCurrentDataStream().header, join_clause.key_names_right); |
There was a problem hiding this comment.
Both sides should have non constant keys, otherwise SortingTransform on corresponding side emit rows before whole table had been read and it breaks CreateSetAndFilterOnTheFlyStep
|
|
||
| SELECT lc, toTypeName(lc) FROM l_lc AS l RIGHT JOIN r_lc AS r USING (x) ORDER BY l.lc; | ||
|
|
||
| SELECT lowCardinalityKeys(lc.lc) FROM r FULL JOIN l_lc as lc USING (lc) ORDER BY lowCardinalityKeys(lc.lc); |
There was a problem hiding this comment.
In new analyzer lc.lc became String (because r contains String and we take supertype as a result type), so lowCardinalityKeys is not applicable. We can leave this query only for old analyzer, but I don't think it's essential.
964c7f9 to
4cfe600
Compare
UPD: this check was after checing ClickHouse/src/Analyzer/Passes/QueryAnalysisPass.cpp Lines 2426 to 2441 in a799d4e |
Fixed test file, JOIN using alias from external scope
Copy missing corresponding code from Interpreter, adjust test (removed with cube)
Function getHeaderForProcessingStage handle join on top of query tree
This reverts commit 88865ac.
4cfe600 to
3aac663
Compare
Seems DetailsWe deleted objects after timeout: And expected objects: Was deleted only after test was finished and table was dropped. So I believe no bug here |
Changelog category (leave one):
TODO:
Fixed reference files:
01353_low_cardinality_join_types02267_join_dup_columns_issue3619902242_join_rocksdbFixed bug and adjusted error code in test
01049_join_low_card_bug_longFix bug with query:
adjust reference file (columns after USING have type of supertype of the source columns), also it needs fix from Fix join_use_nulls in analyzer #49359 (so, it's not removed from broken_tests.txt)
01721_join_implicit_cast_longAdjust reference.
Not sure about the change:
01062_pm_all_join_with_block_continuationFixed test file, JOIN using alias from external scope.Removed this fix from the PR, will in another one.02000_join_on_constFixed test file,
... ANY JOIN ... ON 1 == 1is forbidden02382_join_and_filtering_setCopy missing corresponding code from Interpreter, adjust test (removed with cube)
01890_materialized_distributed_joinFunction getHeaderForProcessingStage handle join on top of query tree