Fix1.5.2
DuckDB v1.5.2 Bugfix Release
A comprehensive bug fix release addressing race conditions, memory leaks, integer overflows, parsing issues, and various stability improvements discovered after v1.5.1. This release includes backports of critical fixes and updates to dependencies including Julia, Lance, and storage version bumps.
This is a bug fix release for various issues discovered after we released v1.5.1
What's Changed
- Backport various race condition fixes to v1.4 by @Mytherin in #20804
- bump ref to azure for v1.4.4 (rebuild) by @benfleis in #20888
- Internal #7584: AsOf Simple Joins by @hawkfish in #21090
- Do not write ccache to github cache for v1.4-andium by @smvv in #21109
- Disable extension caching for v1.4 to free github cache space by @smvv in #21150
- Disable save_cache for v1.4-andium by @smvv in #21167
- Backport #19232: allow * Not similar to 'pattern' by @Dtenwolde in #21177
- backport zstd PR to 1.4 by @artjomPlaunov in #21178
- Fix unbounded row group growth for indexed tables on repeated load+insert cycles by @abramk in #21316
- Backport #21271 by @artjomPlaunov in #21326
- [lance] Add for v1.4-andium by @carlopi in #21410
- add lance for v1.4 by @samansmink in #21113
- Correctly detect overflows when decoding integers from storage by @Mytherin in #21482
- Correctly revert dictionary size when reverting string appends by @Mytherin in #21489
- Add descriptions for vortex and lance by @carlopi in #21500
- Fixup Write bytes are counted as BYTES_WRITTEN by @carlopi in #21501
- Fix memory leak when reusing PreparedStatement (#21089) by @wzharies in #21104
- Make some MultiStatements and PRAGMAs Transactional by @yan-alex in #21171
- Reduce concurrent thread count in test by @Mytherin in #21511
- Fixing integer overflow in list_resize by @hannes in #21515
- Fix #21512: correctly render empty results in .mode json by @Mytherin in #21517
- Fix parsing test path to skip by @jeewonhh in #21495
- Add setting for limiting the number of threads launched concurrently in the test runner (
max_test_threads) by @Mytherin in #21520 - Unify adding suffixes to path in
Path:: AddSuffixToPath- fix temp directory split bug by @Mytherin in #21527 - Correctly deal with negative values in
GetPosixVersionTag, and fix constantNULLstruct scans after recent fix by @Mytherin in #21549 - Fix missing extension static libs in Windows MinGW bundle by @mlafeldt in #21559
- PEG grammar fixes: Update extension and allow numeric struct keys by @Dtenwolde in #21331
- [v1.5-variegata] Fix #21514: ASOF join empty right by @Pieczasz in #21553
- Fix data path in
test/sql/copy/parquet/parquet_no_stats.testby @jeewonhh in #21561 - TopNWindowElimination Column Binding Fix by @d-justen in #21564
- lance: bump lance-duckdb to 4d9ecab by @Xuanwo in #21572
- Bump Julia to
v1.5.0by @taniabogatsch in #21588 - Bump Julia to
v1.4.4onv1.4-andiumby @taniabogatsch in #21589 - Simplify the way we determine which row groups to checkpoint during checkpoints by @Mytherin in #21574
- Fix for CSV reader buffer-boundary value read by @Mytherin in #21577
- CLI: Avoid division by zero when formatting a large result with a non-wide shell by @Mytherin in #21591
- Backport
__EMSCRIPTEN__fix by @Mytherin in #21581 - Fix missing SetSizeAndFinalize in BIGNUM Add for zero result case by @pdet in #21465
- Segfault due to unchecked malloc/realloc, proposed fix to #21593 by @wasade in #21594
- Reduce arg_min_max_n heap preallocation by @feichai0017 in #21467
- Fixed an issue where the describe statement did not work correctly in markdown output mode(ISSUE:#21579) by @ArNine in #21611
- fix unpivot serialization by @Maxxen in #21595
- Windows shell: enable VT100 processing on startup by @staticlibs in #21615
- Make PEG Parser use strict mode in CI by @Dtenwolde in #21590
- Fix #21623: flatten input chunk in TopNHeap::CheckBoundaryValues by @Mytherin in #21629
- Issue #21592: Window Self-Join Framing by @hawkfish in #21628
- Bump Julia to v1.5.1 by @taniabogatsch in #21637
- Merge v1.4-andium into v1.5-variegata by @Mytherin in #21639
- Bump storage version to
v1.5.2by @taniabogatsch in #21638 - bump delta and unity_catalog ext refs in v1.5-variegata by @benfleis in #21640
- Fix cancellation order between pipelines and tasks in CancelTasks by @carlopi in #21642
- Fix shell completion enter handling by @atulagrwl in #21552
- fix(adbc): err use after free by @gishor in #21605
- Fix some Parquet fuzzer issues by @lnkuiper in #21635
- Re-organize WAL replay slightly, and correctly deal with empty checkpoint WAL files in WAL recovery by @Mytherin in #21645
- Warn instead of error when trying to persist geometry columns with CRS in old storage format by @Maxxen in #21649
- Avoid throwing an error when failing to bind views in
duckdb_columnsby @Mytherin in #21658 - Infer timestamps with timezone in read_json_auto by @leo-altertable in #21660
- Windows: remove prefix from canonical paths by @staticlibs in #21652
- CLI: Add .help shortcuts by @carlopi in #21662
- Internal #8553: Window TopN Except by @hawkfish in #21671
- Fix issue with struct filter on missing structs by @Mytherin in #21676
- Internal #7568: ASOF SEMI Test by @hawkfish in #21683
- Fix type check in
st_crsby @Maxxen in #21688 - Disable regular updates for geometry by @Maxxen in #21641
- Fix stoi crash in Arrow format string parsing for w: and +w: types by @yharby in #21692
- Test runner: Support replacement without dollar (
{i}instead of${i}) in loop iterators by @Mytherin in #21708 - Internal #8657: IEJoin Filter Sides by @hawkfish in #21721
- Add missing test for delta byte array by @ccfelius in #21714
- Fix variant shredding consistency issue by @Tishj in #21715
- TopNWindowElimination fixes by @d-justen in #21663
- Ignore
NULL/__HIVE_DEFAULT_PARTITION__when detecting types by @lnkuiper in #21731 - fix path test warnings by @benfleis in #21711
- Allow
SET DEFAULT / DROP DEFAULTfor tables that have dependencies by @Mytherin in #21729 - Add clickbench by @c-herrewijn in #21730
- Fix prepared temp-table INSERT invalidation after DROP by @wordhardqi in #21712
- Allow join filter pushdown through integral up/down casts by @lnkuiper in #21743
- Allow join filter pushdown for NOP collations by @lnkuiper in #21742
- counting fix by @artjomPlaunov in #21733
- [Variant] Re-add the removed
variant_legacy_encodingsetting by @Tishj in #21710 - Fix update plans when deserializing if type no longer supports regular updates by @Maxxen in #21718
- Re-instantiate dependencies of tables for
ALTER TABLE ... DROP COLUMNandALTER TABLE .. SET DEFAULTby @Mytherin in #21752 - Use correct error message for name conflicts between table and views by @JelteF in #21760
- Bump spatial by @taniabogatsch in #21781
- PEG parser strict mode: followup fixes and improvements by @Dtenwolde in #21709
- Fix DELETE RETURNING for rows inserted in the same transaction by @rustyconover in #21541
- Disable bloom filter pushdown through casts by @lnkuiper in #21792
- Bugfixes by @lnkuiper in #21793
- Bump test utils by @taniabogatsch in #21795
- Expose HIDDEN as an ATTACH option by @utay in #21764
- Fix TopN window elimination with external CTE refs by @feichai0017 in #21686
- Issue #21682: TopN Window Sets by @hawkfish in #21775
- Add support for reading geometry type to the C-API by @Maxxen in #21763
- Fix ADBC data race by @dentiny in #21800
- Fix Arrow REE INT64 run_ends using wrong template parameter by @rustyconover in #21847
- Fix integer overflow crash in list repeat function by @rustyconover in #21873
- [minor] Fix CreateViewInfo::Copy() not copying names by @LucaSoato in #21819
- Fix case-sensitive default database check allowing detach of default database by @rustyconover in #21863
- Fix geometry TextWriter corrupting coordinates in scientific notation by @rustyconover in #21893
- Issue #21820: TopN Window Projections by @hawkfish in #21902
- Bump Postgres, MySQL and SQLite by @staticlibs in #21899
- AddToBeRescheduled: Avoid UB in assigning vs move by @carlopi in #21912
- vacuum_rebuild_indexes threshold setting by @artjomPlaunov in #21769
- Fix CSV process over buffer out-of-bound access by @dentiny in #21840
- Fix is_histogram_other_bin handle null by @dentiny in #21841
- Merge
v1.4-andiumintov1.5-variegataby @Mytherin in #21919 - Fix in-place update to look only at updated columns by @jeewonhh in #21922
- Issue #21905: AGO Overflow Check by @hawkfish in #21936
- Fix common subplan optimizer bug by @kryonix in #21932
- Issue #21907: Invalid Window Macros by @hawkfish in #21929
- [ART] Fix information loss on index build cast by @taniabogatsch in #21815
- Improve geometry WKT parsing and add geometry to
test_all_typesv2 by @taniabogatsch in #21805 - Run ArrowConverter::ToArrowSchema in a transaction by @evertlammerts in #21927
- Fix invalid memory access when CSV columns less than expected by @dentiny in #21822
- Use
BLOB, notVARCHARfor row group pruning by @lnkuiper in #21946 - Add HTTPUtil::CloseClient(...) with trivial no-op implementation, and base_url field to HTTPClient by @carlopi in #21924
- Fix incorrect results when using
trywithinifby @jankramer in #21943 - lance: bump lance-duckdb to 1b4ef68 by @Xuanwo in #21944
- Fix Arrow union type_ids buffer ignoring chunk_offset by @rustyconover in #21848
- Make parser override work with parser extensions by @Dtenwolde in #21761
- [Dev] Bump the
merge_vcpkg_depsscript to bump the baseline of the registry by @Tishj in #21950 - Bump httpfs to include recent fixes, also adding new no-op setting by @carlopi in #21949
- Parquet writer: allow partial variant shredding in Parquet, instead of bailing out when a single struct field does not match by @Mytherin in #21959
- Bump Postgres by @staticlibs in #21958
- bump iceberg by @Tmonster in #21967
- [Parquet][VARIANT] Add support for Snowflake-produced shredded VARIANT Parquet files by @Tishj in #21814
- Make Oids start at 20k to avoid unintended collisions by @JelteF in #20979
- Unlock transaction lock during fallback WAL write by @Mytherin in #21969
- bump avro hash by @Tishj in #21974
- Shred unsigned types in VARIANT when writing to Parquet by @Mytherin in #21973
- Fix "make clangd" by @JelteF in #21981
- MERGE INTO - no need to extract logical get, we already know where it is by @Mytherin in #21984
- Attempt to fix invalid memory access by @dentiny in #21985
- Json function should be set CanThrow by @tianjq16 in #21972
- bump azure and delta for v1.5.2 by @benfleis in #21979
- Bumping DuckLake by @pdet in #21989
- Bump httpfs, now with implemented httpfs_connection_caching (opt-in) by @carlopi in #21982
- Revert "Run ArrowConverter::ToArrowSchema in a transaction" by @evertlammerts in #22007
Full Changelog: v1.5.1...v1.5.2
bugfixstabilityperformancememoryparsing
Source: original entry ↗