ClickHouse 26.9.17.8 → 26.10.2.103
9 releases · 6 breaking changes · 1 security fix · 0 advisories fixed
1security6breaking0deprecated45feature53fix
Breaking changes
- breaking Backported in: CREATE TABLE x AS src inherits the credentials embedded in the engine of src, which are masked in SHOW CREATE TABLE. It now requires the SELECT privilege on src when the inherited definition can carry credentials, instead of only SHOW COLUMNS. (Yarik Briukhovetskyi). in 26.10.2.103
- breaking Backported in: Remove object addresses from NATS, io_uring and HDFS messages. (Raúl Marín). in 26.9.24.8
- breaking Backported in: Remove object addresses from logical error messages. (Raúl Marín). in 26.9.24.8
- breaking Backported in: CREATE TABLE x AS src inherits the credentials embedded in the engine of src, which are masked in SHOW CREATE TABLE. It now requires the SELECT privilege on src when the inherited definition can carry credentials, instead of only SHOW COLUMNS. (Yarik Briukhovetskyi). in 26.9.21.9
- breaking Backported in: Overriding a key that is stored in a named collection now requires SHOW NAMED COLLECTIONS SECRETS on that collection. This also applies to overrides through an alias (including flat kafka_* settings over nested kafka.* keys), through a SETTINGS clause of a table engine or table… in 26.9.20.23
- breaking Backported in: Connections to MySQL (the mysql table function, the MySQL table and database engines, and MySQL dictionaries) that set ssl_ca or ssl_ca_pem now verify the server certificate chain and host name, after updating mariadb-connector-c to v3.4.10. Previously the CA was not enforced, so a… in 26.9.20.23
Security changes
- security Backported in: Update the vendored expat to 2.9.0, fixing a denial of service through a crafted backup manifest during RESTORE (CVE-2026-66046) and the other 2.8.3–2.9.0 security fixes. (Actuele AI). in 26.9.20.23
Every release in between
breakingBackported in: CREATE TABLE x AS src inherits the credentials embedded in the engine of src, which are masked in SHOW CREATE TABLE. It now requires the SELECT privilege on src when the inherited definition can carry credentials, instead of only SHOW COLUMNS. (Yarik Briukhovetskyi).
featureBackported in: Added the experimental Elasticsearch table engine and elasticsearch table function for reading documents from an Elasticsearch index as a JSON column, with the document id and index name available as virtual columns. Enable them with the enable_elasticsearch setting. (Kirill Kopnev).
featureThe setting use_query_condition_cache_for_time_conditions (using the query condition cache for conditions involving the current time) is now experimental and disabled by default. (Alexey Milovidov).
featureBackported in: Column statistics of MergeTree data parts are cached per data part and column in a new statistics cache (server settings statistics_cache_size, statistics_cache_policy, statistics_cache_size_ratio; SYSTEM DROP STATISTICS CACHE), loaded on demand and merged on the fly for every…
featureBackported in: Lazy materialization now works for LIMIT N queries over JOINs. Controlled by the new setting query_plan_lazy_materialization_for_join, enabled by default. . (Nikolai Kochetov).
featureBackported in: Sets of IN with a subquery spill to disk by default: max_bytes_ratio_before_external_set now defaults to 0.5, so a set spills once query memory exceeds half of the memory that the server or user memory limits leave. Set it to 0 to keep such sets in memory. Sets on disk are built and…
featureBackported in: Estimating subcolumn sizes for PREWHERE (for example m['key'] of a Map(LowCardinality(String), String) column) no longer reads the LowCardinality dictionary or the Variant discriminators header of every data part, which made planning slow on object storage, especially for each new…
featureBackported in: Improved automatic_parallel_replicas observability by adding outcome-specific ProfileEvents, split optimization/plan-build timing counters, and runtime statistics-collection timing in query_log. (Nikita Taranov).
featureBackported in: Queries with FINAL now use the virtual row optimization of reading in order. Supported for ReplacingMergeTree, CollapsingMergeTree, VersionedCollapsingMergeTree, SummingMergeTree, AggregatingMergeTree and CoalescingMergeTree. (Vladimir Cherkasov).
featureBackported in: Reduced the memory usage of incremental BACKUP: the base backup keeps only the sizes and checksums of its files instead of the full information about each file. For a base backup of millions of files this saves gigabytes. (Julia Kartseva).
featureBackported in: Compare TOTP codes and plaintext_password passwords in constant time, so that the response time does not depend on how many leading characters are correct or on which time window matched. (Vladimir Cherkasov).
featureBackported in: A replica that takes part in a parallel replicas read now follows the initiator even when its own automatic_parallel_replicas_mode is not 0, for example when allow_feature_tier drops the value the initiator sends, or when INSERT ... SETTINGS automatic_parallel_replicas_mode = 2…
featureBackported in: The "Format" button in the Web UI now supports inputs with multiple queries: each query is formatted separately and replaced in place, keeping the comments and delimiters between them. (Alexey Milovidov).
featureBackported in: Automatic parallel replicas settings (automatic_parallel_replicas_mode, automatic_parallel_replicas_min_bytes_per_replica) are now production tier instead of experimental. (Nikita Taranov).
featureBackported in: The nodes in the output of EXPLAIN AST graph = 1 are numbered sequentially instead of being identified by memory addresses, so the output is the same on every run. (Raúl Marín).
featureBackported in: Fatal error reports no longer contain runtime memory addresses: stack frames and the fault address are printed as offsets inside the executable or a library, which can be passed to addr2line, and other addresses are hidden. system.crash_log.fault_address now contains the offset…
featureBackported in: A JOIN whose ON condition has a constant-false conjunct now works with the experimental parallel_replicas_plan_based setting when the join uses grace_hash, spills to disk, or runs with join_use_nulls = 1, instead of terminating the server or failing with NOT_FOUND_COLUMN_IN_BLOCK.…
featureBackported in: Fix a possible crash or out-of-bounds memory access when reading from HDFS if a DataNode or NameNode sends malformed responses. (Alexey Milovidov).
featureBackported in: Adds a minimum threshold for spilling in-memory data when external aggregation is enabled. (Mikhail Artemenko).
featureBackported in: System tables no longer contain runtime memory addresses: stack frames outside the main binary are stored as 0, system.trace_log.ptr is an identifier instead of an address, and the ids in system.processors_profile_log are indices within the query. (Raúl Marín).
featureBackported in: Improve glue catalog cache. Let's cache only mapping column name -> timestamp, not the whole metadata. (Konstantin Vedernikov).
featureBackported in: The obfuscate table function and the clickhouse obfuscator tool now support LowCardinality, Enum, Date32, DateTime64, Decimal, wide integers, IPv4, IPv6, BFloat16, Tuple and Map columns. The exception for an unsupported type now names the type and the column. (Alexey Milovidov).
featureBackported in: Hardening: certificate chains containing the compromised eMudhra intermediate CAs or the roots that issued them (emSign Root TLS CA - G3, emSign ECC Root CA - G3) are rejected even if the trust store of the operating system still trusts them. The CA certificates embedded into the…
featureBackported in: This patch supports writeFileUsingBlobWritingFunction for disks with multiple configured locations. (Mikhail Artemenko).
featureNO CL ENTRY: 'Revert "Backport to 26.10: Lower Bound External Group By Spill"'. (Mikhail Artemenko).
featureBackported in: Make 03673_columns_description_cache and 04257_102926_columns_descriptions_cache_nested_eviction robust to asynchronous part removal, applying the fix already made to their sibling 04510_shared_part_schema_metadata_eviction. (Groene AI).
featureBackported in: Query cache: do not store a partial subquery result. (Konstantin Bogdanov).
featureBackported in: Rewrite arrayJoin(emptyArrayToSingle(x)) -> LEFT ARRAY JOIN x. (Yarik Briukhovetskyi).
featureBackported in: Fix h3CellAreaM2/h3CellAreaRads2 precision loss for cells crossing the antimeridian. (Konstantin Bogdanov).
featureBackported in: Fix flaky integration test test_prometheus_protocols/test_evaluation.py::test_multiple_instant_vectors, which compared the series of an instant vector in a fixed order. (Groene AI).
featureBackported in: Use node ids instead of addresses in pipeline diagnostics. (Raúl Marín).
featureBackported in: Exit early in sliceContains for short and early-hit searches. (Raúl Marín).
featureBackported in: Fix Broken pipe in test 05345_robin_hood_large_hash_tables. (Alexey Milovidov).
featureBackported in: Lazily replicated ARRAY JOIN passenger columns hold only the rows of their output block again, so materialized views, max_result_bytes and squashing size ARRAY JOIN output correctly. (Groene AI).
featureBackported in: With distributed_plan_join_runtime_filters, a runtime filter that is no longer needed by its receiver no longer produces EXCHANGE_PEER_DISCONNECTED errors in system.errors and in the log. (Alexander Gololobov).
featureBackported in: Rename integer division setting to sql_compatible_division_for_integers. (Ilya Yatsishin).
featureBackported in: Revert "SLRU filesystem cache: promote partially downloaded file segments". (Sema Checherinda).
featureBackported in: Pin the old server image of test_custom_s3_disk_remote_url_allow_hosts to 26.8.26.12. (Groene AI).
featureBackported in: Decline automatic parallel replicas when the coordinated read gets another read's analysis. (Nikita Taranov).
featureBackported in: Keep the sliceContains block loop independent of the first-vector test on AArch64. (Groene AI).
+61 more items in the release notesfeatureBackported in: Add the tcp_with_proxy_allow_interserver_mode server setting, which allows disabling the native protocol's interserver mode on tcp_with_proxy_port. (Pradeep Chhetri).
fixBackported in: Fix a possible crash or out-of-bounds memory access when reading from HDFS if a DataNode or NameNode sends malformed responses. (Alexey Milovidov).
otherBackported in: Improve glue catalog cache. Let's cache only mapping column name -> timestamp, not the whole metadata. (Konstantin Vedernikov).
fixBackported in: Fix a second-factor bypass in the MySQL protocol: a user configured with plaintext_password or double_sha1_password plus a time-based one-time password could authenticate with the password alone, because the mysql_native_password auth response was verified without checking the TOTP.…
fixBackported in: Fix query parameters in the filter of CREATE ROW POLICY and ALTER ROW POLICY being stored unsubstituted: a {db:Identifier} table qualifier was resolved in the current database of the query reading the table, and a value parameter made every read of the table fail. The parameters are…
fixBackported in: Fixed a row-policy bypass where an authenticated user could forge the result of a scalar subquery used in a row policy (e.g. USING has((SELECT ...), col)) by sending a Scalar packet (as with clickhouse-client --external ... --scalar) named with the subquery's query-tree hash, and…
fixBackported in: Creating a FileLog tables now require READ and WRITE privileges, analogous to File tables. (Robert Schulze).
fixBackported in: For users with a time-based one-time password, the error REQUIRED_SECOND_FACTOR is now returned whenever the code is missing, regardless of whether the password is correct. Previously a wrong password without a code returned AUTHENTICATION_FAILED, which allowed guessing the password…
fixBackported in: Keeper no longer pre-allocates memory for the array size declared in a request (for example the ACL list in Create) before it reads the array elements. Before this fix, a small malformed request could cause a large memory allocation. (Antonio Andelic).
fixBackported in: Fixed wrong strings, sometimes followed by an UNKNOWN_PACKET_FROM_SERVER error, when a sparse Nullable(String) column is sent over the native protocol to clickhouse-client or between servers by remote, cluster and Distributed, for example toString(nullIf(x, 0)) over a sparse column,…
fixBackported in: Fix polygonConvexHullCartesian returning garbage for a polygon with an empty exterior ring and a non-empty interior ring. (Alexey Milovidov).
fixBackported in: Fixes a crash in estimateCompressionRatio with codecs DoubleDelta and Gorilla. (Robert Schulze).
otherBackported in: Make 03673_columns_description_cache and 04257_102926_columns_descriptions_cache_nested_eviction robust to asynchronous part removal, applying the fix already made to their sibling 04510_shared_part_schema_metadata_eviction. (Groene AI).
otherBackported in: Do not skip the client output teardown when the terminal is gone. (Groene AI).
fixBackported in: Fixed a query silently returning fewer rows after an unrelated JOIN had run: a join runtime filter (enable_join_runtime_filters) moved into a read's PREWHERE made the read record a "no matching rows" verdict in the query condition cache for granules, or Parquet row groups, whose…
fixBackported in: Mask credentials embedded in HTTP URIs. (Han Fei).
fixBackported in: Fix a stack overflow on a deeply nested query plan received in the QueryPlan packet of the native protocol. (Alexey Milovidov).
fixBackported in: Fix use-after-free in complex key ssd_cache dictionaries when the cache file wraps around its partitions. Fix CANNOT_READ_ALL_DATA when reading long values of ssd_cache dictionaries from the cache file. (Alexey Milovidov).
fixBackported in: Fixed count() with WHERE d = toDate32('1900-01-01') (or !=) over a MergeTree Date32 column returning the number of 1970-01-01 rows when optimize_trivial_count_with_sparsity_filter is enabled (the default since 26.8). Closes. (Groene AI).
breakingBackported in: Remove object addresses from NATS, io_uring and HDFS messages. (Raúl Marín).
breakingBackported in: Remove object addresses from logical error messages. (Raúl Marín).
otherBackported in: Reduce repeated IN evaluation when many adjacent singleton row-mask updates are applied to one part. (Sergey Kuznetsov).
featureBackported in: Estimating subcolumn sizes for PREWHERE (for example m['key'] of a Map(LowCardinality(String), String) column) no longer reads the LowCardinality dictionary or the Variant discriminators header of every data part, which made planning slow on object storage, especially for each new…
otherBackported in: BACKUP uses less memory per file it backs up: an entry of the backup no longer keeps a copy of the description of the disk the file is on. A backup of a table with millions of files saves a few gigabytes. (Julia Kartseva).
otherBackported in: Fatal error reports no longer contain runtime memory addresses: stack frames and the fault address are printed as offsets inside the executable or a library, which can be passed to addr2line, and other addresses are hidden. system.crash_log.fault_address now contains the offset…
otherBackported in: A JOIN whose ON condition has a constant-false conjunct now works with the experimental parallel_replicas_plan_based setting when the join uses grace_hash, spills to disk, or runs with join_use_nulls = 1, instead of terminating the server or failing with NOT_FOUND_COLUMN_IN_BLOCK.…
fixBackported in: Fixed a read of uninitialized memory when a Variant, Dynamic or JSON column holding only NULL values is compressed, for example on insert into a Memory table created with compress = 1, or when a block is compressed for a JOIN or for the query result cache. The reported size of such…
fixBackported in: BACKUP and RESTORE to S3 retry requests that fail with ExpiredToken after refreshing credentials. The retry time limit is 120 seconds by default and can be changed with backup_s3_expired_token_retry_timeout_ms. (Nikolai Ovchinnikov).
fixBackported in: Fixed a server crash (or missing rows in the view, with a Null source table) on INSERT into the source table of a materialized view when a row policy or additional_table_filters of a table read by the view references the source table, e.g. USING x IN src. (Groene AI).
fixBackported in: Fix a segmentation fault in GROUP BY with the adaptive aggregator and external aggregation when a memory limit was hit while draining staged records. (Alexey Milovidov).
fixBackported in: Fix segfault when reading a MySQLDump file whose CREATE TABLE query has an ENUM column without a list of values or with non-string values. (Alexey Milovidov).
fixBackported in: Fixed a heap-use-after-free in the view dependency graph after renaming a materialized view whose query selects from itself. CREATE MATERIALIZED VIEW and ALTER TABLE ... MODIFY QUERY now reject a query that makes a materialized view select from itself. (Groene AI).
fixBackported in: Fix a stack overflow when a Redis server replies with deeply nested arrays. (Alexey Milovidov).
fixBackported in: Fix a stack overflow on a Protobuf schema with a very long chain of nested messages. (Alexey Milovidov).
otherBackported in: Not required. (Groene AI).
otherBackported in: An equality with a Bool value that no statistics can estimate, such as WHERE j.f = false on a JSON path, a Bool column without statistics, or IN with a Bool set, is now estimated to match half of the rows per value instead of 1%, so a join on such a filtered table builds its hash…
fixBackported in: Fixed crashes of the interactive line editor of clickhouse-client and clickhouse-local, which also crashed the server when used through the web terminal or an SSH session: after a history search that found nothing on an edited recalled query, when the prompt or the line given to an…
breakingBackported in: CREATE TABLE x AS src inherits the credentials embedded in the engine of src, which are masked in SHOW CREATE TABLE. It now requires the SELECT privilege on src when the inherited definition can carry credentials, instead of only SHOW COLUMNS. (Yarik Briukhovetskyi).
otherBackported in: Reduced the memory usage of incremental BACKUP: the base backup keeps only the sizes and checksums of its files instead of the full information about each file. For a base backup of millions of files this saves gigabytes. (Julia Kartseva).
otherBackported in: Compare TOTP codes and plaintext_password passwords in constant time, so that the response time does not depend on how many leading characters are correct or on which time window matched. (Vladimir Cherkasov).
otherBackported in: The nodes in the output of EXPLAIN AST graph = 1 are numbered sequentially instead of being identified by memory addresses, so the output is the same on every run. (Raúl Marín).
fixBackported in: Requesting SSH-key authentication over the native protocol no longer reveals whether the named user exists, or how it authenticates, before its signature is checked. (Shaohua Wang).
fixBackported in: Reject CR and LF characters in values sent as HTTP headers or in the request line of outgoing HTTP requests (BigQuery, YTsaurus, url, DataLake catalogs, GCP OAuth, AI functions, S3 storage class), which could be used to inject headers or additional requests. (Raúl Marín).
fixBackported in: The setting http_zlib_compression_level now applies only to the gzip and deflate HTTP response compression. The level of other methods (zstd, lz4, br, xz, bz2) is controlled by output_format_compression_level. Previously, a level suitable for zlib was passed to every method, which…
otherBackported in: Use node ids instead of addresses in pipeline diagnostics. (Raúl Marín).
breakingBackported in: Overriding a key that is stored in a named collection now requires SHOW NAMED COLLECTIONS SECRETS on that collection. This also applies to overrides through an alias (including flat kafka_* settings over nested kafka.* keys), through a SETTINGS clause of a table engine or table…
breakingBackported in: Connections to MySQL (the mysql table function, the MySQL table and database engines, and MySQL dictionaries) that set ssl_ca or ssl_ca_pem now verify the server certificate chain and host name, after updating mariadb-connector-c to v3.4.10. Previously the CA was not enforced, so a…
otherBackported in: A filter on the PARTITION BY columns of a window function is no longer pushed below the window (this reverts). The push-down made queries up to 8 times slower when the window reads a JOIN and the filter removes every row, for example IN over an empty subquery, because the join built…
otherBackported in: A packet that cannot appear at the current point of the native protocol is now rejected without deserializing its payload. Previously the server deserialized the body of an unexpected Data packet — including arbitrary data types and aggregate function states — only to throw…
featureBackported in: Add S3 bucket to remote_url_allow_hosts. (Konstantin Vedernikov).
otherBackported in: Reduced the peak memory usage of RESTORE and of incremental BACKUP: the metadata file of a backup is now parsed while it is read, instead of being read into memory whole first. For backups of millions of files this saves gigabytes. (Julia Kartseva).
fixBackported in: Fixed a crash caused by a stack overflow when a deeply nested JSON document was parsed into a JSON column or passed to the JSONExtract family of functions. Such documents are now rejected with the TOO_DEEP_RECURSION error. (Pavel Kruglov).
fixBackported in: Fix a server crash when a RIGHT JOIN/FULL JOIN is planned for parallel replicas (parallel_replicas_plan_based=1) and the join output header declares a column by type only — e.g. the residual column of a constant NULL conjunct in the ON clause. Type-only header columns are now…
fixBackported in: Fixed CANNOT_READ_ALL_DATA (while reading prefix of column ...) during query planning when a MergeTree table has an active empty Wide part, left by a TTL drop or by a mutation that deleted all rows of a part, and the query filters on a subcolumn, such as a key of a…
securityBackported in: Update the vendored expat to 2.9.0, fixing a denial of service through a crafted backup manifest during RESTORE (CVE-2026-66046) and the other 2.8.3–2.9.0 security fixes. (Actuele AI).
fixBackported in: Fixed loading, short ATTACH, and UNDROP TABLE for existing SQL-defined S3 disks whose endpoints are absent from remote_url_allow_hosts; new full-definition CREATE and ATTACH still reject disallowed endpoints. (Alexey Bakharew).
fixBackported in: Fixed ORDER BY ... LIMIT over a column of an Interval type (or Nullable, LowCardinality, Tuple or Array of one) failing with TYPE_MISMATCH when use_top_k_dynamic_filtering is enabled, which is the default. Closes. (Groene AI).
fixBackported in: Fixed a stack overflow crash on a deeply nested CapnProto schema that the nesting depth check missed: a comment or a byte order mark between import and its path, an escape sequence in the import path, or a backtick text line. A backtick text line with many brackets is no longer…
fixBackported in: Fixed a possible segmentation fault when reading an Avro map into a Map column (for example Map(DateTime, String)) with the AvroConfluent format, including Kafka tables. Closes. (Groene AI).
fixBackported in: Fixed an issue where pressing Ctrl-R and then Ctrl-Z in the web terminal or the SSH interface suspended the whole server process. (Alexey Milovidov).
fixBackported in: Fix a wrong result, or an exception in debug builds, when optimize_aggregators_of_group_by_keys eliminated any, min or max of a GROUPING SETS key with group_by_use_nulls. (Alexey Milovidov).
fixBackported in: Fixed a server crash when a RabbitMQ table with the headers exchange type had a routing key without =, or when rabbitmq_routing_key_list was empty. Routing keys without = for the headers exchange type are now rejected with an exception. The problem was found and reported by @dstesk…
fixBackported in: Allow to do vertical merge if result part storage type is not Full. (alesapin).
fixBackported in: Fixed a crash (stack overflow) on a CapnProto schema with a long chain of type expression suffixes (Int32.a.a..., Int32()()...) or of declarations that refer to each other (constants, aliases, struct fields, annotations, imports). Such a schema is now rejected with The CapnProto…
fixBackported in: Fixed Reading in parallel from replicas is enabled but cluster to execute query is not provided (CLUSTER_DOESNT_EXIST) when selecting from a Distributed table whose cluster is not declared in remote_servers - the cluster of a Replicated database, or one found by cluster discovery -…
otherBackported in: Update vectorscan to 5.4.13. (Actuele AI).
otherBackported in: Observed as a bottleneck in the ci-logs cluster. (Mikhail Artemenko).
otherBackported in: DROP TABLE, DETACH TABLE, server shutdown and ALTER TABLE ... MODIFY SETTING refresh_statistics_interval no longer wait until a running background refresh of the statistics cache of a MergeTree table has read the statistics of every part. On object storage with thousands of parts…
fixBackported in: Fix ALTER TABLE ... MATERIALIZE STATISTICS / DROP STATISTICS failing forever and wedging the table's mutation queue when a server profile sets allow_statistics = 0 and the statement enables it per-session, the same opt-in ADD STATISTICS honours. Also close a hole where MATERIALIZE…
fixBackported in: Fix a credential written in cleartext to system.query_log and the server log when a key = value argument precedes the positional arguments of the mongodb, redis, remote, arrowFlight and ytsaurus table functions or the MongoDB, Redis, Remote, ArrowFlight, ExternalDistributed and…
fixBackported in: Fixed queries that go through another server (remote, Distributed, parallel replicas, GLOBAL IN) failing with SYNTAX_ERROR, UNKNOWN_CODEC or CORRUPTED_DATA when output_format_native_encode_types_in_binary_format or input_format_native_decode_types_in_binary_format is enabled. The…
fixBackported in: Free prefetched messages when StorageKafka2 partitions move between consumers, preventing per-partition memory growth until restart. (Aparajita Pandey).
fixBackported in: The web terminal and the SSH interface no longer reset the settings of the user (from settings profiles, roles, and CREATE USER ... SETTINGS) to default values. Previously, restrictions such as readonly, resource limits, and additional_table_filters were not applied in these…
fixBackported in: Don't fuse a filter into ARRAY JOIN before its row-only part is lifted below it, so the element filter doesn't copy the whole array to every element. (Konstantin Vedernikov).
otherBackported in: Not required. (Groene AI).
featureBackported in: optimize_and_compare_chain again derives transitive conditions through a DateTime or lower-scale DateTime64 constant compared with a DateTime64 expression, as it did before 26.8. For example, t1.ts = t2.ts adds t2.ts < toDateTime('2026-09-16 00:00:00'), so the other side of a join…
featureBackported in: Added a server setting access_control_improvements.readonly_restricts_set_role, false by default. When enabled, SET ROLE is refused with error code READONLY in a session or query whose readonly setting is not zero. Previously SET ROLE was the only identity-changing statement that…
featureBackported in: Added the setting use_aggregation_memory_tracker to choose how GROUP BY measures its memory when deciding on two-level aggregation. compatibility below 26.9 restores the measurement from before 26.7. (Hechem Selmi).
fixBackported in: Fix wrong results for uniq*, GROUP BY, LIMIT n BY, ORDER BY after GROUP BY, and window PARTITION BY over toString of a DateTime/DateTime64 in a time zone with a daylight-saving transition, and over toFixedString of a String. Both functions claimed to be injective while mapping…
fixBackported in: Fixed the LOGICAL_ERROR Reading from materialized CTE '...' before its materialization completed - DelayedPortsProcessor gate is missing in the query plan raised when an IN or other set subquery defines a MATERIALIZED CTE that two other MATERIALIZED CTEs of that subquery read (for…
fixBackported in: Fixed use_skip_indexes = 0 also disabling part pruning by the partition-key min-max index (since 26.5), which made such queries read every part of the table. (Ashish Kumar Choubey).
fixBackported in: Reject malformed serialized groupBitmap states with INCORRECT_DATA instead of failing later during bitmap operations. (Elmi Ahmadov).
fixBackported in: Fixed a WHERE condition or a row policy on a Hive partition column (use_hive_partitioning = 1) returning too few rows when the Parquet data file also has a column with that name and other values: Parquet row-group, page and dictionary pruning used the file's values instead of the…
fixBackported in: Fixed a heap use-after-free in the s3, azureBlobStorage, hdfs and other object storage table functions and engines when an exception (for example MEMORY_LIMIT_EXCEEDED) was thrown while creating the reader of a file in a row input format such as CSV. (Groene AI).
fixBackported in: Fixed a server crash, wrong results or a rejected query in ORDER BY ... WITH FILL ... INTERPOLATE when one INTERPOLATE expression has to be converted to its target's type and another item reads the same column or literal, for example INTERPOLATE (a AS b, b AS a) with targets of…