This release makes binary-only changes. Once installed, any existing use of pg_clickhouse v0.3 will get its benefits on reload without needing to ALTER EXTENSION UPDATE.
⚡ Improvements
- Replaced the
clickhouse-cppbinary client with ClickHouse/clickhouse-c, pulled in as a git submodule and included in the release package undervendor/clickhouse-c. This change eliminates conflicts between the C++ and Postgres memory & exception handling and streams query results by the ClickHouse block for reduced memory consumption. It also greatly reduces build time and the size of the library by over 75%. Thanks to serprex for the the new library and the PR (#254). - Added multidimensional array support across
SELECTandINSERTto both the binary and http drivers. Rectangular ClickHouseArray(Array(...))values now map to PostgreSQL multidimensional arrays (jagged arrays not supported) and PostgreSQL multidimensional arrays inserted into ClickHouseArray(Array(...))columns preserve their nesting. Thanks to serprex for the PR (#233). - Added pushdown for [re2 extension] functions introduced in pg_re2 v0.3.0:
re2extractallgroupshorizontal,re2extractallgroupsvertical,re2regexpquotemeta, andre2splitbyregexp. Thanks to serprex for the PR (#232).
🐞 Bug Fixes
- Fixed incorrect casting of ClickHouse
UInt16values toint16in the Binary driver. They now correctly convert toint32(PostgresINT4). Part of the omnibus binary c driver conversion contributed by serprex (#233).
🆚 For more detail compare changes since v0.3.0.