v.23.2New Feature

Support Fixed-Size Binary and Fixed-Length Byte Array Types in Arrow and Parquet

Support types FIXED_SIZE_BINARY type in Arrow, FIXED_LENGTH_BYTE_ARRAY in Parquet and match them to FixedString. Add settings output_format_parquet_fixed_string_as_fixed_byte_array/output_format_arrow_fixed_string_as_fixed_byte_array to control default output type for FixedString. Closes #45326. #45340 (Kruglov Pavel).
Added support for the FIXED_SIZE_BINARY type in Arrow and FIXED_LENGTH_BYTE_ARRAY type in Parquet, mapped to ClickHouse's FixedString type.

Why it matters

This feature improves compatibility and type fidelity when exporting and importing fixed-size binary data via Arrow and Parquet formats, ensuring that ClickHouse's FixedString type is correctly matched and handled. It solves issues related to type mismatches and data interpretation during serialization and deserialization.

How to use it

Users can control how the FixedString type is output by adjusting the settings output_format_parquet_fixed_string_as_fixed_byte_array and output_format_arrow_fixed_string_as_fixed_byte_array. These settings determine whether FixedString is exported as fixed-byte array types in Parquet and Arrow formats respectively.