Fix Intersect with constant strings#37738
Conversation
| const IColumn & column = *key_columns[0]; | ||
| const ColumnString & column_string = assert_cast<const ColumnString &>(column); | ||
| const IColumn * column = key_columns[0]; | ||
| if (isColumnConst(*column)) |
There was a problem hiding this comment.
BTW, what about other modifiers like Nullable?
There was a problem hiding this comment.
That works, nullable columns use specific hashing method for integer (e.g. nullable_keys128) and generic method for other types.
Single const string is a special case that uses String hash method but it didn't handle the const, and that was the case reported in the issue.
As expected. |
|
@alexey-milovidov it is not expected, you've just broken stress tests in master by merging this. To avoid failures like this @Avogar, is it possible to make BC check more convenient? Maybe use git history to exclude tests that were created (or modified?) between HEAD and merge-base of HEAD and previous release tag... |
|
Btw, there's a typo in the test name |
Yes, the plan was to fix the typo with the backwards tag added. |
Yep, tag with the version is better. (however, we will try to use git history instead) |
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Fix
SELECT ... INTERSECTandEXCEPT SELECTstatements with constant string types.Fix #37727