Support subcolumns in MergeTree sorting key and skip indexes#72644
Support subcolumns in MergeTree sorting key and skip indexes#72644Avogar merged 10 commits intoClickHouse:masterfrom
Conversation
|
This is an automated comment for commit d028426 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
|
|
Don't look at the number of changed lines, the chages in code are only 236 lines, the rest are tests reference files |
tests/queries/0_stateless/03275_subcolumns_in_primary_key.sql.j2
Outdated
Show resolved
Hide resolved
tests/queries/0_stateless/03276_subcolumns_in_skipping_indexes.reference
Outdated
Show resolved
Hide resolved
Cherry pick #72644 to 24.12: Support subcolumns in MergeTree sorting key and skip indexes
|
|
||
| set optimize_read_in_order=1; | ||
| set allow_experimental_json_type=1; | ||
| set allow_experimental_variant_type=1; |
There was a problem hiding this comment.
I see the variant type being enabled here, but I don't see it being used in the tests?
There was a problem hiding this comment.
It's needed to run this type of query:
insert into test select number, toJSONString(map('a', number % 2, 'b', 'str_' || number % 3, 'c', range(number % 10))), 'Hello, World!' from numbers(4);
By default it will not be able to create such map with an exception:
There is no supertype for types UInt8, String, Array(UInt8)
But with use_variant_as_common_type=1 and allow_experimental_variant_type=1 it will return Map with type Map(String, Variant(Array(UInt8), String, UInt8)). It's just easier to create a JSON with paths with different types this way
Backport #72644 to 24.12: Support subcolumns in MergeTree sorting key and skip indexes
Update CHANGELOG.md to account for #72644
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
Support subcolumns in MergeTree sorting key and skip indexes.
Documentation entry for user-facing changes
CI Settings (Only check the boxes if you know what you are doing):