v.20.12New Feature

Add COLLATE Support for Nullable, LowCardinality, Array, and Tuple with String Nested Type

Add COLLATE support for Nullable, LowCardinality, Array and Tuple, where nested type is String. Also refactor the code associated with collations in ColumnString.cpp. #16273 (Kruglov Pavel).
Added COLLATE support for Nullable, LowCardinality, Array, and Tuple data types when the nested type is String, along with a refactor of the collation-related code in ColumnString.cpp.

Why it matters

This feature extends COLLATE support to more complex data types that contain strings, enabling consistent and correct string comparison and sorting for Nullable, LowCardinality, Array, and Tuple types. It improves the handling of collations in nested string scenarios, enhancing query correctness and user control over string operations.

How to use it

Users can specify COLLATE on columns of Nullable, LowCardinality, Array, or Tuple types with nested String data types in SQL queries. The feature works seamlessly with existing COLLATE syntax, enabling customized collation rules for these nested string types without additional configuration.