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.