docs/changelogs/v26.1.3.52-stable.md
azure_queue to azure_queue_metadata_cache and system.s3queue to s3queue_metadata_cache. #95809 (Kseniia Sumarokova).Variant type mismatch. #95811 (Bharat Nallan).allow_experimental_nullable_tuple_type. When enabled, it allows inferred tuple types to be Nullable(Tuple(...)), so missing nested objects can become NULL instead of a tuple of NULL elements. #95525 (Nihal Z. Miaji).DeltaLake tables from system.tables. #95899 (Antonio Andelic).ATTACH queries for a view with SQL Security. This prevents potential privilege escalation when a user attaches a view with a definer without validating required access. #94865 (pufit).USING clause. Previously, subsequent joins incorrectly updated types of underlying source columns to a common supertype even when the column was not involved in that join (e.g., in SELECT t2.a FROM t1 LEFT JOIN t2 USING (a) LEFT JOIN t3 USING (a), the t2.a column is only used by the first join, so its type should be the supertype of t1.a and t2.a, excluding t3.a). This could lead to logical errors or crashes when functions expected different column types than what actually appeared in the execution plan. #95157 (Vladimir Cherkasov).LIMIT/OFFSET is used in distributed queries. #95357 (Nihal Z. Miaji).tupleElement applied to arrays of JSON. Closes #95581. #95647 (Pavel Kruglov).NOT_SUPPORTED error that could occur when using the direct join algorithm with an empty MergeTree table. #95935 (Vladimir Cherkasov).JSON(SKIP path) all JSON keys with prefix path were skipped, even keys like "pathpath", so it could lead to data loss for these paths during insert. Now it's fixed and only key "path" is skipped. #95948 (Pavel Kruglov).global_profiler_real_time_period_ns and global_profiler_cpu_time_period_ns). Instead of set value, a truncated value was used, causing profiler to wakeup more than intended. #96048 (Antonio Andelic).use_primary_key and a very large number of disjunctions of conditions that use the index. #96112 (Alexey Milovidov).formatDateTime with non-fixed-width formatters, such as MySQL and JODA-style. #96133 (Alexey Milovidov).AccessRights::contains returning incorrect results with partial revokes. #96170 (pufit).optimize_syntax_fuse_functions to not rewrite sum/count/avg into sumCount() when the aggregate argument is LowCardinality(Nullable). Closes #95390. #96239 (Nihal Z. Miaji).not IN and not has function in some cases. #96241 (Nihal Z. Miaji).stack-use-after-scope in the vector similarity index. #96259 (Alexey Milovidov).max_execution_time values. #96450 (Sergei Trifonov).LIMIT/OFFSET is used in distributed queries. #96475 (Nihal Z. Miaji).LOGICAL_ERROR exception in Parquet V3 native reader when PREWHERE filter column contains non-boolean UInt8 values. #96594 (Alexey Milovidov).heap-use-after-free in CREATE TABLE with constraints. #96669 (Nikita Taranov).min(timestamp) returning epoch (1970-01-01) via _minmax_count_projection after TTL merge when all rows in a block are filtered out. #96703 (Raquel Barbadillo).ALTER TABLE DROP COLUMN queries failing after a lightweight update was previously performed on the same column. #96861 (Anton Popov).std::terminate exception in indexOfAssumeSorted when called with incompatible types (e.g., IPv4 array with integer search value). #96877 (Alexey Milovidov).Bad cast from type DB::ColumnNullable to DB::ColumnString when using window functions with group_by_use_nulls = 1 and CUBE/ROLLUP/GROUPING SETS. #96878 (Alexey Milovidov).arrayJoin function producing duplicate rows when used with INNER JOIN and WHERE clause, caused by the partial predicate push-down optimization incorrectly pushing filters containing arrayJoin below a JOIN. #96989 (Alexey Milovidov).FunctionVariantAdaptor with functions requiring const arguments like arrayROCAUC. #97116 (Bharat Nallan).LOGICAL_ERROR exception in FunctionVariantAdaptor when a function operating on Variant columns returns Nothing type, which can happen with empty arrays in UNION ALL queries. #97213 (Alexey Milovidov).applyUncommittedState for deltas without paths. #95846 (Alexey Milovidov).