v1.5.0
DuckDB v1.5.0 "Variegata"
Added 4
- Support renaming a database with ALTER DATABASE <> RENAME TO <>
- C-API initial support for accessing file system
- Add support for read_duckdb function that allows reading and globbing DuckDB database files
- Add support for late materialization and filter pushdown to read_duckdb
Changed 11
- Optimize LAST aggregate to iterate backward within batches
- Allow user type with schema defined to have array bounds
- Remove case-insensitive character from grammar files
- Enable multifile parquet_metadata and friends parallelism
- Use StorageLock for CompressionFunction
- Rework Compression Function registration to avoid grabbing locks
- C-API default to adding overload on conflict when registering functions
- Destroy row groups in parallel
- Rework UNION (ALL) operators to have multiple children
- Pushdown filter when doing cross or lateral join with unnest
- During optimistic writing, gather N row groups and write them at the same time column-at-a-time
Fixed 5
- Fix query() function error message for PIVOT statements without explicit IN clauses
- Fix field id uniqueness for alter database
- Fix union semantics in recursive CTEs
- Fix extension load
- Fix unholy interaction between CREATE VIEW and CTE definitions
This release of DuckDB is named "Variegata" after the paradise shelduck Tadorna Variegata, also known as the paradise duck, a species of Shelduck (a group of goose-like ducks), endemic to New Zealand.
Please also refer to the announcement blog post: https://duckdb.org/2026/03/09/announcing-duckdb-150.html
What's Changed
- Optimize LAST aggregate to iterate backward within batches by @xe-nvdk
- Allow user type with schema defined to have array bounds by @Dtenwolde in https://github.com/duckdb/duckdb/pull/18342
- Remove case-insensitive character from grammar files by @Dtenwolde in https://github.com/duckdb/duckdb/pull/18948
- Fix query() function error message for PIVOT statements without explicit IN clauses by @shivampr in https://github.com/duckdb/duckdb/pull/18900
- Merge v1.4-andium into main by @c-herrewijn in https://github.com/duckdb/duckdb/pull/18952
- [Dev] Some light code cleanup in
RemoveUnusedColumns::VisitOperatorby @Tishj in https://github.com/duckdb/duckdb/pull/18964 - Support renaming a database - ALTER DATABASE <> RENAME TO <> by @abramk in https://github.com/duckdb/duckdb/pull/18970
- V1.4 andium by @Mytherin in https://github.com/duckdb/duckdb/pull/18982
- Fix field id uniqueness for alter database by @abramk in https://github.com/duckdb/duckdb/pull/18988
- Fix unused variable warnings by @mlafeldt in https://github.com/duckdb/duckdb/pull/18913
- Avoid adding a TupleDataChunkPart with only one row. by @lance5401 in https://github.com/duckdb/duckdb/pull/18904
- Tiny fix for ColumnDataAllocator::ColumnDataAllocator by @baolinhuang in https://github.com/duckdb/duckdb/pull/18990
- Fixes for ALTER DATABASE - use serialization framework, and fix stringification of identifiers by @Mytherin in https://github.com/duckdb/duckdb/pull/18994
- Expected errors 2053 by @hmeriann in https://github.com/duckdb/duckdb/pull/18960
- Fix union semantics in recursive CTEs by @cryoEncryp in https://github.com/duckdb/duckdb/pull/19017
- Multifile
parquet_metadataand friends parallelism by @J-Meyers in https://github.com/duckdb/duckdb/pull/18854 - [Optimize] use StorageLock for CompressionFunction by @baolinhuang in https://github.com/duckdb/duckdb/pull/19028
- PEG grammar updates by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19031
- Rework Compression Function registration to avoid grabbing locks by @Mytherin in https://github.com/duckdb/duckdb/pull/19045
- Merge v1.4 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19048
- [C-API] default to adding overload on conflict when registering functions by @Maxxen in https://github.com/duckdb/duckdb/pull/19036
- Destroy row groups in parallel by @Mytherin in https://github.com/duckdb/duckdb/pull/19053
- Switching core extension upload to dedicated credentials by @hannes in https://github.com/duckdb/duckdb/pull/19060
- CI: Increase stale bot timeout to 1 year by @szarnyasg in https://github.com/duckdb/duckdb/pull/19000
- Revert "set default value of MAIN_BRANCH_VERSIONING to false" by @c-herrewijn in https://github.com/duckdb/duckdb/pull/19057
- Fix extension load by @dentiny in https://github.com/duckdb/duckdb/pull/19079
- Change core extensions bucket name by @hannes in https://github.com/duckdb/duckdb/pull/19082
- Merge v1.4 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19098
- Allow directory override for extension build by @Mytherin in https://github.com/duckdb/duckdb/pull/19110
- Skip serialization of row_start in DataPointer when targeting latest storage by @Mytherin in https://github.com/duckdb/duckdb/pull/19111
- [C-API] Initial support for accessing file system by @Maxxen in https://github.com/duckdb/duckdb/pull/19086
- Rework
UNION (ALL)operators (SetOperationNode/LogicalSetOperation/PhysicalUnion) to have multiple children by @Mytherin in https://github.com/duckdb/duckdb/pull/19109 - pushdown filter when doing cross or lateral join with unnest by @DinosL in https://github.com/duckdb/duckdb/pull/19085
- Fix unholy interaction between
CREATE VIEWandCTEdefinitions by @kryonix in https://github.com/duckdb/duckdb/pull/19116 - Add support for
read_duckdb- a function that allows reading / globbing DuckDB database files by @Mytherin in https://github.com/duckdb/duckdb/pull/19108 - Fix typo by @szarnyasg in https://github.com/duckdb/duckdb/pull/19130
- fix: check tree depth and flatten dep join for custom operator extension by @Wal8800 in https://github.com/duckdb/duckdb/pull/19094
- During optimistic writing, gather N row groups and write them at the same time column-at-a-time by @Mytherin in https://github.com/duckdb/duckdb/pull/19118
- Remove unused code by @szarnyasg in https://github.com/duckdb/duckdb/pull/19134
- Add support for late materialization and filter pushdown to read_duckdb by @Mytherin in https://github.com/duckdb/duckdb/pull/19145
- Move storage block prefetching to an option instead of baking in testing during ALTERNATIVE_VERIFY + add a test config for this option by @Mytherin in https://github.com/duckdb/duckdb/pull/19146
- Introduce
parser_override_function_tby @Dtenwolde in https://github.com/duckdb/duckdb/pull/19126 - Perform deduplication based on join_keys when building ht by @tianjq16 in https://github.com/duckdb/duckdb/pull/19097
- Print help to stdout by @staticlibs in https://github.com/duckdb/duckdb/pull/19170
- Validate filesystem registration by @dentiny in https://github.com/duckdb/duckdb/pull/19168
- Fix missing replacement scan code for CTEs by @kryonix in https://github.com/duckdb/duckdb/pull/19159
- Correctly set row start in WAL replay by @Mytherin in https://github.com/duckdb/duckdb/pull/19192
- Use a
PartialBlockManagerper column, instead of sharing one over the entire row group by @Mytherin in https://github.com/duckdb/duckdb/pull/19194 - Internal #5380: AsOf Join Pipeline by @hawkfish in https://github.com/duckdb/duckdb/pull/19169
- Cross and lateral join pushdown with unnest or json - update by @DinosL in https://github.com/duckdb/duckdb/pull/19152
- Missing error messages for test cases by @hmeriann in https://github.com/duckdb/duckdb/pull/19129
- [Profiling] Move
EXTRA_INFOinto the metrics map by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19124 - Common Subplan Elimination by @lnkuiper in https://github.com/duckdb/duckdb/pull/19080
GEOMETRYRework: Part 1 - Logical Type by @Maxxen in https://github.com/duckdb/duckdb/pull/19136- [Parquet] Implement (unshredded)
VARIANTsupport forCOPY TOparquet by @Tishj in https://github.com/duckdb/duckdb/pull/19125 - Add more missing error messages to test cases by @hmeriann in https://github.com/duckdb/duckdb/pull/19210
- [CI] - Fix failing
Extension updating testNightlyTests job by cleaning up some space on the runner by @hmeriann in https://github.com/duckdb/duckdb/pull/19214 - Inconsistent semicolon handling by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19199
- Internal #5383: Range Join Sorting by @hawkfish in https://github.com/duckdb/duckdb/pull/19174
- [Profiling] Add QueryContext to more functions, for Reads by @maiadegraaf in https://github.com/duckdb/duckdb/pull/18726
- Merge v1.4-andium into main by @Maxxen in https://github.com/duckdb/duckdb/pull/19225
- [shell] Fix tilde parsing for .once statement by @dentiny in https://github.com/duckdb/duckdb/pull/19254
- Partially remove BoundQueryNode - have Bind directly emit a BoundStatement by @Mytherin in https://github.com/duckdb/duckdb/pull/19289
- Binder clean-up by @Mytherin in https://github.com/duckdb/duckdb/pull/19293
- test: add test for CREATE TABLE with
my_schema.my_enum[]by @NickCrews in https://github.com/duckdb/duckdb/pull/19296 - Fix uncaught exception in test_empty_profiling_settings.test by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19286
GEOMETRYRework: Part 2 - Statistics by @Maxxen in https://github.com/duckdb/duckdb/pull/19203- Internal #5380: AsOf Sorting Conversion by @hawkfish in https://github.com/duckdb/duckdb/pull/19278
- Add option for opt-in to parser override by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19181
- Remove BoundTableRef and make binding a TableRef directly return a BoundStatement by @Mytherin in https://github.com/duckdb/duckdb/pull/19294
- Rewrite Grouped Top-N Window Functions To Aggregations by @d-justen in https://github.com/duckdb/duckdb/pull/19280
- Perform optimistic reads while filling gaps in CachingFileSystem by @carlopi in https://github.com/duckdb/duckdb/pull/19122
- Issue #19027: AsOf Join Predicates by @hawkfish in https://github.com/duckdb/duckdb/pull/19316
- Enable experimental metadata re-use by default by @Mytherin in https://github.com/duckdb/duckdb/pull/19317
- Binder: BoundQueryNode cleanup by @Mytherin in https://github.com/duckdb/duckdb/pull/19322
- Remove old sort code by @lnkuiper in https://github.com/duckdb/duckdb/pull/19321
- [Parquet] Implement shredded
VARIANTsupport for COPY TO parquet by @Tishj in https://github.com/duckdb/duckdb/pull/19219 - Merge andium into main by @Tishj in https://github.com/duckdb/duckdb/pull/19325
- [C API] Expose column count and type for table description by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19334
- Relocate the python sqllogic code to the dedicated repository by @Tishj in https://github.com/duckdb/duckdb/pull/19340
- Binder: Rework the way set operations work so that we can use the standard binding flow by @Mytherin in https://github.com/duckdb/duckdb/pull/19342
- Rework CTE binding: remove CTENode, and bind CommonTableExpressionMap directly instead by @Mytherin in https://github.com/duckdb/duckdb/pull/19351
- Avoid keeping shared ptr to ClientContext in QueryContext by @Mytherin in https://github.com/duckdb/duckdb/pull/19353
- Internal #6190: AsOf Threading by @hawkfish in https://github.com/duckdb/duckdb/pull/19328
- [Indexes] Buffer Managed Indexes Part 4: Segment Handles for Base Leaf by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/19303
- Provide force assertion macros by @dentiny in https://github.com/duckdb/duckdb/pull/19212
- Parse result for PEG transformer by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19229
- Allow * NOT SIMILAR TO 'pattern' by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19232
- [C API] Improve documentation on list vectors by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19349
- Make Binding CTEs lazy, and other CTE binding refactors by @Mytherin in https://github.com/duckdb/duckdb/pull/19372
- Internal #6210: IEJoin Threading by @hawkfish in https://github.com/duckdb/duckdb/pull/19361
- [CI] Move two test cases from duckdb-httpfs repo by @hmeriann in https://github.com/duckdb/duckdb/pull/19368
- [C API] Update misleading "use instead" by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19371
- Enable -Wtype-limits warning and fix warnings by @hannes in https://github.com/duckdb/duckdb/pull/19382
- [Profiling] Add metrics for ATTACH / CHECKPOINT / WAL replay by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19367
- Update issue template by @szarnyasg in https://github.com/duckdb/duckdb/pull/19384
- Not building imdb all the time by @hannes in https://github.com/duckdb/duckdb/pull/19388
- CSV Reader: make line reconstruction deal with buffer_pos == buffer_size by @Mytherin in https://github.com/duckdb/duckdb/pull/19390
- [Dev]
variant_extractBindData copy fix by @Tishj in https://github.com/duckdb/duckdb/pull/19394 - [Dev] Add a
VARIANTvisitor class by @Tishj in https://github.com/duckdb/duckdb/pull/19387 - Switch RowVersionManager to using the FixedSizeAllocator by @Mytherin in https://github.com/duckdb/duckdb/pull/19392
- [Profiling][CAPI] Add appender profiling test by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19383
- Use statement for PEG Parser transformer by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19302
old_transactionsis no longer necessary by @Captain32 in https://github.com/duckdb/duckdb/pull/19381- Add Null Support for TopNWindowElimination Rule by @d-justen in https://github.com/duckdb/duckdb/pull/19370
- Use const references in exceptions varargs by @maiadegraaf in https://github.com/duckdb/duckdb/pull/18723
- Merge v1.4-andium into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19402
- [Variant] Implement comparison operation logic for Variant columns by @Tishj in https://github.com/duckdb/duckdb/pull/19337
- Implement
std::allocatorthat usesArenaAllocatorby @lnkuiper in https://github.com/duckdb/duckdb/pull/19412 - [CI] Correct file path in test case by @hmeriann in https://github.com/duckdb/duckdb/pull/19429
- [C API] Patch C API query progress documentation by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19430
- Fixes
.dumpcommand failing withROLLBACKwhen dumping tables in non-default schemas. by @shivampr in https://github.com/duckdb/duckdb/pull/19363 - [C API] Extend documentation around header generation by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19433
- Internal #6270: Fix small binary fallback values for arg_min/max_nulls_last by @d-justen in https://github.com/duckdb/duckdb/pull/19434
- Merge v1.4 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19438
- SET statement for PEG Transformer by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19320
- Add DuckDB::String to operators by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19423
- Make cached hashes thread-safe and emit dictionary vectors from Perfect Hash Join by @lnkuiper in https://github.com/duckdb/duckdb/pull/19332
- fix: make
GetCachedHashesthread safe by @0ax1 in https://github.com/duckdb/duckdb/pull/19274 - [Profiling] Enable ATTACH / CHECKPOINT / WAL replay metrics by default by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19436
- Update / simplify issue template by @szarnyasg in https://github.com/duckdb/duckdb/pull/19442
- Move FORCE_ASYNC_SINK_SOURCE from Nightly to Main by @carlopi in https://github.com/duckdb/duckdb/pull/19452
- Fix WITH ORDINALITY virtual columns by @niykko in https://github.com/duckdb/duckdb/pull/19315
- Internal #6196: AsOf Prefix Comparisons by @hawkfish in https://github.com/duckdb/duckdb/pull/19456
- Add safe queue and deque by @dentiny in https://github.com/duckdb/duckdb/pull/19273
- :gift_heart:
duckdbnow has itsendoflife.datepage :hourglass_flowing_sand: by @adriens in https://github.com/duckdb/duckdb/pull/19450 - Fix wording in README by @lnkuiper in https://github.com/duckdb/duckdb/pull/19462
- [C-API] Add support for defining config options (settings) by @Maxxen in https://github.com/duckdb/duckdb/pull/19473
- Internal #6196: AsOf Prefix Comparisons by @hawkfish in https://github.com/duckdb/duckdb/pull/19466
- Internal #6196: AsOf Prefix Comparisons by @hawkfish in https://github.com/duckdb/duckdb/pull/19484
- [TPCH] fix
load.sqlto produce valid test data by @hmeriann in https://github.com/duckdb/duckdb/pull/19441 - [minor] Add catalog type to exception by @dentiny in https://github.com/duckdb/duckdb/pull/19488
GEOMETRYRework: Part 3 - Filter pushdown by @Maxxen in https://github.com/duckdb/duckdb/pull/19439- [minor] Address test compilation warnings by @dentiny in https://github.com/duckdb/duckdb/pull/19492
- Fix issue #17941: Cryptic error message when dropping a column part of a unique constraint. by @arjanssuri in https://github.com/duckdb/duckdb/pull/19465
- [Optimizer] Support constant order normalization by @doublefish5106 in https://github.com/duckdb/duckdb/pull/19494
- Use Late Materialization in TopNWindowElimination Optimizer by @d-justen in https://github.com/duckdb/duckdb/pull/19463
- Internal #6326: AsOf Join Copying by @hawkfish in https://github.com/duckdb/duckdb/pull/19505
- [swift] fix microseconds conversion to seconds by @kokluch in https://github.com/duckdb/duckdb/pull/19486
- Fix bug initializing std::vector for column names in ADBC API by @CurtHagenlocher in https://github.com/duckdb/duckdb/pull/19444
- Remove empty lines at the start of code blocks by @lnkuiper in https://github.com/duckdb/duckdb/pull/19519
- Merge v1.4 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19528
- Fix failing python replacement scan by @evertlammerts in https://github.com/duckdb/duckdb/pull/19509
- Adds
parquet_full_metadatafunction by @J-Meyers in https://github.com/duckdb/duckdb/pull/19148 - [Profiling] Add WAL_REPLAY_ENTRY_COUNT and COMMIT_WRITE_WAL_LATENCY metrics by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19524
- Convert CLI to use C++ API, and remove sqlite API wrappers by @Mytherin in https://github.com/duckdb/duckdb/pull/19536
- Adding release name for 1.5 by @hannes in https://github.com/duckdb/duckdb/pull/19540
- CLI: Generate ".help" menu from the list of commands, and add syntax highlighting to .help by @Mytherin in https://github.com/duckdb/duckdb/pull/19542
- CLI: Refactor command-line parameters into a struct similar to MetadataCommands, and add better errors + syntax highlighting by @Mytherin in https://github.com/duckdb/duckdb/pull/19544
- Delete Statement and expression associativity for PEG Transformer by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19507
- Attach statement for PEG transformer by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19460
- Augment Table API
functionvia context stored inAsyncResultobject by @carlopi in https://github.com/duckdb/duckdb/pull/19422 - Add COLUMNS() expansion support to DISTINCT ON by @shivampr in https://github.com/duckdb/duckdb/pull/19550
- Retain recursive unnest column names by @DinosL in https://github.com/duckdb/duckdb/pull/19310
- Adds struct variant to
regexp_extract_allby @J-Meyers in https://github.com/duckdb/duckdb/pull/19078 - CLI: Make last query result queryable through the
_token by @Mytherin in https://github.com/duckdb/duckdb/pull/19553 - CLI: rework .import to use built-in readers by @Mytherin in https://github.com/duckdb/duckdb/pull/19563
- Count also time blocked waiting for the lock in BLOCKED_THREADS_TIME by @carlopi in https://github.com/duckdb/duckdb/pull/19547
- Change
format_versionto2when specifyV2forPARQUET_VERSIONby @koron in https://github.com/duckdb/duckdb/pull/18855 - Fix: list_concat(NULL) returns NULL by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19565
- CLI: More shell code refactoring, remove global variables and split commands into separate files by @Mytherin in https://github.com/duckdb/duckdb/pull/19568
- Consdier offset in topn optimizer by @ZENOTME in https://github.com/duckdb/duckdb/pull/19561
- Fix Issue #19487: array_to_string on empty list return NULL instead of empty string by @arjanssuri in https://github.com/duckdb/duckdb/pull/19548
- CLI: Add support for dynamic prompts by @Mytherin in https://github.com/duckdb/duckdb/pull/19579
- Custom Order Row Group Scans by @d-justen in https://github.com/duckdb/duckdb/pull/19537
- Added missing return code checks for ADBC test cases by @hannes in https://github.com/duckdb/duckdb/pull/19576
- CLI: Make startup-text display configurable using the .startup_text by @Mytherin in https://github.com/duckdb/duckdb/pull/19584
- CLI: Unify all highlighting color code, add support for extended (8-bit) colors and add
.display_colorscommand by @Mytherin in https://github.com/duckdb/duckdb/pull/19587 - Replace deprecated header by @krlmlr in https://github.com/duckdb/duckdb/pull/19602
- const-safe: Add const handling for list_entry_t by @krlmlr in https://github.com/duckdb/duckdb/pull/19603
- Fix uninitialized physical_type in move constructor by @krlmlr in https://github.com/duckdb/duckdb/pull/19604
- Fix uninitialized variable in multi-file progress tracking by @krlmlr in https://github.com/duckdb/duckdb/pull/19597
- Fix uninitialized members in CachedFile constructor by @krlmlr in https://github.com/duckdb/duckdb/pull/19598
- Fix uninitialized members in HashJoinGlobalSourceState by @krlmlr in https://github.com/duckdb/duckdb/pull/19599
- [C API] Generate description, deprecated, and use_instead for function groups by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19586
- Merge
v1.4-andiuminto main by @carlopi in https://github.com/duckdb/duckdb/pull/19589 - CLI: Sort
.display_colorsby group / hue / luminosity by @Mytherin in https://github.com/duckdb/duckdb/pull/19610 - Use std::remove_cv for physical type id fetching by @dentiny in https://github.com/duckdb/duckdb/pull/19614
- [C-API] Initial support for defining
COPYfunctions by @Maxxen in https://github.com/duckdb/duckdb/pull/19186 - Apply
RemoveUnusedColumnsbelow table in out functions by @geoffxy in https://github.com/duckdb/duckdb/pull/19474 - Fix uninitialized sorted_tuples member by @krlmlr in https://github.com/duckdb/duckdb/pull/19593
- Array comparison optimization by @EslamAhmed171 in https://github.com/duckdb/duckdb/pull/19591
- Python SQLLogicTest - show results in a consistent order by @DinosL in https://github.com/duckdb/duckdb/pull/19562
- Add missing description to copy CAPI by @lnkuiper in https://github.com/duckdb/duckdb/pull/19617
- Speed up Dictionary and DICT_FSST compression by replacing std::unordered_map with PrimitiveDictionary by @yan-alex in https://github.com/duckdb/duckdb/pull/19577
- CLI: Display auto-complete suggestions when tabbing through them by @Mytherin in https://github.com/duckdb/duckdb/pull/19626
- Allow Table
functionto opt-in to return arbitrary combinations of [0, output.size()] x [HAVE_MORE_OUTPUT, FINISHED] by @carlopi in https://github.com/duckdb/duckdb/pull/19566 - Add a Mermaid Flowchart transformer for EXPLAIN output by @tobilg in https://github.com/duckdb/duckdb/pull/19581
- Add recovery mode to
ATTACHoptions and enableNO_WALmode by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19612 - feat: add --sql option to
.openin the cli client by @hello-world-bfree in https://github.com/duckdb/duckdb/pull/19445 - [ART] Pretty Printer + Verify by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/19558
- Internal #6341: AsOf Parallelism by @hawkfish in https://github.com/duckdb/duckdb/pull/19605
- Add window functions to
duckdb_functionsby @Tishj in https://github.com/duckdb/duckdb/pull/19532 - CLI: Fix cursor rendering in multi-line editing mode by @Mytherin in https://github.com/duckdb/duckdb/pull/19649
- CLI: Eagerly open database also if it does not exist by @Mytherin in https://github.com/duckdb/duckdb/pull/19627
- CLI: Make the progress bar configurable by @Mytherin in https://github.com/duckdb/duckdb/pull/19650
- Encapsulate
BaseScalarFunctionproperties by @Maxxen in https://github.com/duckdb/duckdb/pull/19632 - Buffer-managed query results by @lnkuiper in https://github.com/duckdb/duckdb/pull/19437
- [ART] Iterative Iterator by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/19521
- CI Fuzzer runtime error by @DinosL in https://github.com/duckdb/duckdb/pull/19630
- Guard printing for bignum by @krlmlr in https://github.com/duckdb/duckdb/pull/19600
- Don't truncate test names to 80 characters by @JelteF in https://github.com/duckdb/duckdb/pull/19642
- [Parquet] Emit
VARIANTfrom Parquet VARIANT columns, instead of JSON by @Tishj in https://github.com/duckdb/duckdb/pull/18996 - CLI: Make Linenoise work on Windows by @Mytherin in https://github.com/duckdb/duckdb/pull/19659
- Issue #19499: HashedSort Sorting Memory by @hawkfish in https://github.com/duckdb/duckdb/pull/19664
- Fix incorrect partition calculation due to missing vector_type by @tianjq16 in https://github.com/duckdb/duckdb/pull/19638
- CLI - store action as just a char to avoid sanitizer complaints by @Mytherin in https://github.com/duckdb/duckdb/pull/19679
- Merge v1.4 into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19670
- More
arena_stl_allocatorintegration by @lnkuiper in https://github.com/duckdb/duckdb/pull/19677 - Fix z/OS-specific issues by @DNikolaevAtRocket in https://github.com/duckdb/duckdb/pull/19641
- CLI - Add paging support for output by @Mytherin in https://github.com/duckdb/duckdb/pull/19676
GEOMETRYRework: Part 4 - Fixup Parquet Extension + Add Arrow Support by @Maxxen in https://github.com/duckdb/duckdb/pull/19476- SegmentTree: move
nextandindexout of SegmentBase and into SegmentNode by @Mytherin in https://github.com/duckdb/duckdb/pull/19686 - Add
Clearmethod toBaseAppenderby @EtgarDev in https://github.com/duckdb/duckdb/pull/19623 - Handle edge case for date_trunc optimization by @rcurtin in https://github.com/duckdb/duckdb/pull/19628
- fix checkpointing on files that dont exist by @dioptre in https://github.com/duckdb/duckdb/pull/19344
- Fix: Correct typos in comments and error messages by @feichai0017 in https://github.com/duckdb/duckdb/pull/19257
- Fix compiler warnings on
mainby @lnkuiper in https://github.com/duckdb/duckdb/pull/19690 - Issue #19499: HashedSort Sorting Memory by @hawkfish in https://github.com/duckdb/duckdb/pull/19687
- Internal #6519: HashedSort Memory Footprint by @hawkfish in https://github.com/duckdb/duckdb/pull/19702
- Fix LENGTH(NULL) with GROUP BY NULL binding issue by @shivampr in https://github.com/duckdb/duckdb/pull/19269
- New EXTENSION_RELATION type by @krlmlr in https://github.com/duckdb/duckdb/pull/19596
- array intersect by @krleonid in https://github.com/duckdb/duckdb/pull/19667
- Internal #6341: AsOf Deadlock by @hawkfish in https://github.com/duckdb/duckdb/pull/19705
- Add options for how invalid utf-8 should be handled in
decode()by @casperhart in https://github.com/duckdb/duckdb/pull/18168 CommonSubplanimprovements by @lnkuiper in https://github.com/duckdb/duckdb/pull/19710- Fix #18653: remove unnecessary delim_join by @flashmouse in https://github.com/duckdb/duckdb/pull/19235
- Internal #6523: AsOf Exception Handling by @hawkfish in https://github.com/duckdb/duckdb/pull/19703
- CLI: Refactor BoxRenderer, add wrapping support for large values, and add pretty printing / highlighting for nested types, JSON and variant by @Mytherin in https://github.com/duckdb/duckdb/pull/19721
- Fix empty result pullup for ANTI joins by @feichai0017 in https://github.com/duckdb/duckdb/pull/19701
- search activer binders in table function binder during binding column… by @Damon07 in https://github.com/duckdb/duckdb/pull/14486
- Move formatting logic for tests and benchmarks into a standalone script by @adsharma in https://github.com/duckdb/duckdb/pull/17350
- Exclude Row Groups in Top-N Queries by @d-justen in https://github.com/duckdb/duckdb/pull/19655
- fix bug in generate_grammar script by @OrangieLou in https://github.com/duckdb/duckdb/pull/19751
- Internal #4490: DENSE_RANK Performance by @hawkfish in https://github.com/duckdb/duckdb/pull/19757
- Internal #6521: HashedSort Scan Lock by @hawkfish in https://github.com/duckdb/duckdb/pull/19758
- Issue #19647: Constant Window Allocators by @hawkfish in https://github.com/duckdb/duckdb/pull/19752
- BoxRenderer: Fix rendering of empty results by @Mytherin in https://github.com/duckdb/duckdb/pull/19746
- Bump ducklake main by @J-Meyers in https://github.com/duckdb/duckdb/pull/19756
- Fix initialization when all values are
NULLinSMALLER_BINARYaggregation by @DinosL in https://github.com/duckdb/duckdb/pull/19755 - Clean up unused headers in
parser/and subfolders by @Schwarf in https://github.com/duckdb/duckdb/pull/18422 - Fix #17251: Eliminate duplicates after a set operation using set sema… by @tianjq16 in https://github.com/duckdb/duckdb/pull/17267
- Implement outer join elimination by @flashmouse in https://github.com/duckdb/duckdb/pull/18043
- [C-API] Add support for catalog entry lookup by @Maxxen in https://github.com/duckdb/duckdb/pull/19684
- Add
StatsAPI to filesystem interfaces by @dentiny in https://github.com/duckdb/duckdb/pull/19743 - Add sleep scalar function by @krleonid in https://github.com/duckdb/duckdb/pull/19736
- Add flush memory threshold for appender to prevent OOM by @p1p1bear in https://github.com/duckdb/duckdb/pull/19007
- add statement debug and debug_skip by @samansmink in https://github.com/duckdb/duckdb/pull/18472
- Storage: Remove
startfrom RowGroup, ColumnData and ColumnSegment, and rework the way thatstartis defined in theColumnSegmentTreeby @Mytherin in https://github.com/duckdb/duckdb/pull/19761 - Add Seek() to TupleDataCollection for IEJoin optimization by @EslamAhmed171 in https://github.com/duckdb/duckdb/pull/19753
- Fix TopN Pruning Test by @d-justen in https://github.com/duckdb/duckdb/pull/19768
- Support reading pipes with
read_textby @lnkuiper in https://github.com/duckdb/duckdb/pull/19765 - Support TopN dynamic filter for NULLS FIRST by @feichai0017 in https://github.com/duckdb/duckdb/pull/19744
- fix(#18481): Avoid to overwrite secret_directory configuration by it default value by @quentingodeau in https://github.com/duckdb/duckdb/pull/19448
- Change back default strategy for debug_physical_table_scan_execution_strategy by @carlopi in https://github.com/duckdb/duckdb/pull/19778
- Fix major big-endian issues by @DNikolaevAtRocket in https://github.com/duckdb/duckdb/pull/19748
- Disable
sleep()function if DuckDB isn't compiled with threads by @lnkuiper in https://github.com/duckdb/duckdb/pull/19783 - Remove unused parameter from arrow by @pdet in https://github.com/duckdb/duckdb/pull/19784
- Block Allocator by @lnkuiper in https://github.com/duckdb/duckdb/pull/19678
- Merge v1.4-andium into main by @Mytherin in https://github.com/duckdb/duckdb/pull/19771
- CLI: Add table metadata rendering, and use this rendering for
.tablesandDESCRIBEqueries by @Mytherin in https://github.com/duckdb/duckdb/pull/19792 - CLI: Improve array rendering by no longer adding newlines after every array entry unless there are complex objects in the array by @Mytherin in https://github.com/duckdb/duckdb/pull/19795
- CLI: For
.tables- group tables by database/schema, and render the database name and schema of the tables as a header above the tables by @Mytherin in https://github.com/duckdb/duckdb/pull/19798 - Skip test block_allocator_memory.test on 32bit platforms by @carlopi in https://github.com/duckdb/duckdb/pull/19794
- [ADBC] Fix bug in StatementGetParameterSchema when no params are set by @amoeba in https://github.com/duckdb/duckdb/pull/19790
- Specify shared deletion option on windows by @dentiny in https://github.com/duckdb/duckdb/pull/19782
- Fix flaky sleep test by @krleonid in https://github.com/duckdb/duckdb/pull/19803
- Internal #6541: Window ArenaAllocator Usage by @hawkfish in https://github.com/duckdb/duckdb/pull/19770
- CLI: Several auto-complete improvements, make auto-complete behave more like
zshby @Mytherin in https://github.com/duckdb/duckdb/pull/19805 - [Profiling] Split COMMIT_WRITE_WAL_LATENCY into COMMIT_LOCAL_STORAGE_LATENCY and WRITE_TO_WAL_LATENCY by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19808
- Move GetData as GetDataInternal, and have GetData as wrapper by @carlopi in https://github.com/duckdb/duckdb/pull/19791
- [swift] fix compiler warnings for deprecated @_implementationOnly by @kokluch in https://github.com/duckdb/duckdb/pull/19800
- CLI: Silence auto-complete failures instead of exiting by @Mytherin in https://github.com/duckdb/duckdb/pull/19813
- Random small nits by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19828
- Add test to exclusion list by @Maxxen in https://github.com/duckdb/duckdb/pull/19827
- Create statement for PEG Transformer by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19807
- Add
struct_keysmethod to StructVector by @EtgarDev in https://github.com/duckdb/duckdb/pull/19673 - [Dev] Disallow aggregates used in the TRY expression child by @Tishj in https://github.com/duckdb/duckdb/pull/16285
- CI Cleanup by @Mytherin in https://github.com/duckdb/duckdb/pull/19840
- Fix positional scan and restore task executor by @carlopi in https://github.com/duckdb/duckdb/pull/19825
- [CLI] fix escaping sequence for ctrl/alt arrow key shortcuts by @tobwen in https://github.com/duckdb/duckdb/pull/19261
- Enable macros in DuckLake by @pdet in https://github.com/duckdb/duckdb/pull/19836
- Make RowGroup::Checkpoint and ColumnData::Checkpoint generate a new RowGroup/ColumnData - instead of checkpointing them in-place by @Mytherin in https://github.com/duckdb/duckdb/pull/19843
- Fix incorrect results with NOT EXISTS and IS DISTINCT FROM operator (#19680) by @henry8128 in https://github.com/duckdb/duckdb/pull/19811
- #6429 Roaring Booleans by @yan-alex in https://github.com/duckdb/duckdb/pull/19785
GEOMETRYRework: Part 4 - Step 2 - Adjust WKB conversion functions by @Maxxen in https://github.com/duckdb/duckdb/pull/19848- Internal #6607: IEJoin Task Locking by @hawkfish in https://github.com/duckdb/duckdb/pull/19852
- Add TOTAL_MEMORY_ALLOCATED profiling metric by @krleonid in https://github.com/duckdb/duckdb/pull/19834
- Delete unused block header size by @ccfelius in https://github.com/duckdb/duckdb/pull/19855
- [CAPI] Expose basic custom log storage to CAPI by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19810
- Enable reads to run concurrently while another connection is checkpointing by @Mytherin in https://github.com/duckdb/duckdb/pull/19867
- CLI: Enable support for mouse clicks in Linenoise - pressing Ctrl+Q allows a single mouse-click to be consumed to change the cursor position by @Mytherin in https://github.com/duckdb/duckdb/pull/19869
- Add alias reference support (
alias.<name>) by @EtgarDev in https://github.com/duckdb/duckdb/pull/19747 - [Compression] Fix an existing and a new bug in Roaring compression by @Tishj in https://github.com/duckdb/duckdb/pull/19878
- PEG Transformer template script by @Dtenwolde in https://github.com/duckdb/duckdb/pull/19812
- [Testing][Dev] Extend tests covered by the
storage_compatibilitytest config by @Tishj in https://github.com/duckdb/duckdb/pull/19860 - [swift] decode boolean primitive type by @kokluch in https://github.com/duckdb/duckdb/pull/19890
- [Parquet] Implement automatic shredding for
VARIANTcolumns in COPY TO parquet by @Tishj in https://github.com/duckdb/duckdb/pull/19336 - Offset Pruning for Pagination Queries by @d-justen in https://github.com/duckdb/duckdb/pull/19806
- Internal #6568: SortStrategy Refactoring by @hawkfish in https://github.com/duckdb/duckdb/pull/19814
- Refactor hash join filter scan helper by @feichai0017 in https://github.com/duckdb/duckdb/pull/19802
- [Optimizer] Fix cardinality estimates getting lost through
struct_extractexpressions by @Tishj in https://github.com/duckdb/duckdb/pull/19829 - [Dev] Fix assertion failure in
AlterTypeby @Tishj in https://github.com/duckdb/duckdb/pull/19850 - Internal #6653: WindowExpression Construction by @hawkfish in https://github.com/duckdb/duckdb/pull/19885
- Fix nested sleep_ms calls and add tests by @krleonid in https://github.com/duckdb/duckdb/pull/19837
- fix: make row_start an optional_idx in
PartitionStatisticsby @rustyconover in https://github.com/duckdb/duckdb/pull/19903 - CLI: Refactor shell rendering code, move everything to
ShellRenderer, and perform various fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/19897 - [Storage] Implement storage for VARIANT columns by @Tishj in https://github.com/duckdb/duckdb/pull/19674
- Encapsulate scalar/aggregate function callbacks by @Maxxen in https://github.com/duckdb/duckdb/pull/19707
- Merge V1.4 -> Main by @pdet in https://github.com/duckdb/duckdb/pull/19876
- Checkpoint: prevent adding blocks to the
free_listthat are still being used by concurrent readers by @Mytherin in https://github.com/duckdb/duckdb/pull/19928 - Merge V1.4 -> Main by @pdet in https://github.com/duckdb/duckdb/pull/19935
- Avoid eagerly grabbing the checkpoint lock when performing inserts, instead grab a shared table lock by @Mytherin in https://github.com/duckdb/duckdb/pull/19937
- [Checkpoint] Fully rewrite stats on Checkpoint by @Tishj in https://github.com/duckdb/duckdb/pull/19932
- fix: update aggregate docs regarding combine, add guards around calling combine callback. by @rustyconover in https://github.com/duckdb/duckdb/pull/19938
- [Wal]ReplayDelete in batches instead of rows by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/19904
- CheckZonemapSegments: iterate on filters, then jump further by @carlopi in https://github.com/duckdb/duckdb/pull/19865
- Tweak Relation::Query() by @krlmlr in https://github.com/duckdb/duckdb/pull/19594
- More TASK_EXECUTOR opt-in by @carlopi in https://github.com/duckdb/duckdb/pull/19940
- [Stats]
has_no_nullis no longer initialized to true inBaseStatistics::CreateEmptyby @Tishj in https://github.com/duckdb/duckdb/pull/19948 - [Stats] Improve the
VariantStatsclass to support merging and better visualization by @Tishj in https://github.com/duckdb/duckdb/pull/19950 - Handle empty table name on CREATE by @yan-alex in https://github.com/duckdb/duckdb/pull/19955
- Fix ColumnAliasBinder by @d-justen in https://github.com/duckdb/duckdb/pull/19956
- CLI: Add support for dark / light mode that is automatically detected by @Mytherin in https://github.com/duckdb/duckdb/pull/19985
- CLI: Change return value from
-1tofalseinTryGetBackgroundColorby @c8ef in https://github.com/duckdb/duckdb/pull/19992 - CLI: Fully unify result rendering, and fix automatic pager mode by @Mytherin in https://github.com/duckdb/duckdb/pull/19988
- Adding extension alias lookup in GetDatabaseType by @tomas-karnagel in https://github.com/duckdb/duckdb/pull/19980
- CLI: Various auto-complete fixes by @Mytherin in https://github.com/duckdb/duckdb/pull/19995
- ALP uncompressed mode by @yan-alex in https://github.com/duckdb/duckdb/pull/19902
- Disable block allocator test on non-64bit by @lnkuiper in https://github.com/duckdb/duckdb/pull/19999
- Add comments to cardinality estimator code by @Tmonster in https://github.com/duckdb/duckdb/pull/19973
- [fix] ClientBufferManager::Pin to also propagate context when available by @carlopi in https://github.com/duckdb/duckdb/pull/19986
- Sideways Information Passing for Joins using Bloom Filters by @gropaul in https://github.com/duckdb/duckdb/pull/19502
- Don't require icu unless extension is enabled by @dg0yt in https://github.com/duckdb/duckdb/pull/19963
- Add z/OS support for block allocator by @DNikolaevAtRocket in https://github.com/duckdb/duckdb/pull/19977
- Add a secondary extension directory for package managers by @xhochy in https://github.com/duckdb/duckdb/pull/17499
- #15867 - Make it possible to hide query in profiling output by setting
query_namemetric to false. by @ormandi in https://github.com/duckdb/duckdb/pull/15870 - Internal #6607: IEJoin Task Locking by @hawkfish in https://github.com/duckdb/duckdb/pull/20028
- Fix #19984: shouldn't use outer table distinct info to eliminate join by @flashmouse in https://github.com/duckdb/duckdb/pull/20023
- fix: allow table in/out functions to indicate if they support parallelism by @rustyconover in https://github.com/duckdb/duckdb/pull/19951
- Fix #20029: accept "\e\" as termination sequence, and add a timeout to TryGetBackgroundColor by @Mytherin in https://github.com/duckdb/duckdb/pull/20042
- Fix #20034: correctly move correlated columns for lazy CTEs by @Mytherin in https://github.com/duckdb/duckdb/pull/20038
- Bloom filter row group skipping by @lnkuiper in https://github.com/duckdb/duckdb/pull/20035
- CLI: Optimize and clean-up result rendering code by @Mytherin in https://github.com/duckdb/duckdb/pull/20021
- fix alter table rename / alter on temp table losing temporary flag by @diwu-sf in https://github.com/duckdb/duckdb/pull/20011
- Improve catalog error message for missing schemas by @krleonid in https://github.com/duckdb/duckdb/pull/19922
- feat(adbc): partial supporting ADBC 1.1.0 by @eitsupi in https://github.com/duckdb/duckdb/pull/19833
- [Profiling] Generate more metric code and add metric subgroups by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19483
- Filesystem-compatible wrapper for
CachingFileSystemby @dentiny in https://github.com/duckdb/duckdb/pull/19972 - #Fix 18158: Deliver child column info by @flashmouse in https://github.com/duckdb/duckdb/pull/18327
- Allow concurrent commits to happen while a checkpoint is running by @Mytherin in https://github.com/duckdb/duckdb/pull/20052
- CLI: Improve rendering of wide values, and improve auto-complete by @Mytherin in https://github.com/duckdb/duckdb/pull/20074
- Checkpoint: Allow vacuuming of rows for tables that have indexes if the vacuum does not change the rowids by @Mytherin in https://github.com/duckdb/duckdb/pull/20073
- Eagerly Execute Min/Max Aggregates on Statistics by @d-justen in https://github.com/duckdb/duckdb/pull/19906
- Late extension linking by @hannes in https://github.com/duckdb/duckdb/pull/19369
- ADBC: Set append data error in Ingest() by @kou in https://github.com/duckdb/duckdb/pull/19991
- Don't throw permission error during binder when LocalFileSystem is disabled by @JelteF in https://github.com/duckdb/duckdb/pull/20077
- Add
struct_valuesfunction to return field values of STRUCT by @EtgarDev in https://github.com/duckdb/duckdb/pull/19968 TupleDataCollection+MemoryTagfix by @lnkuiper in https://github.com/duckdb/duckdb/pull/20089- Enable Parquet reader support for uniformly encrypted Parquet files written by Arrow C++ API by @ccfelius in https://github.com/duckdb/duckdb/pull/20046
- Fix source and bin dirs to duckdb's root by @evertlammerts in https://github.com/duckdb/duckdb/pull/20088
- Allow CTEs to emit NULL types by @Mytherin in https://github.com/duckdb/duckdb/pull/20097
- Change CLI highlighting colors and error message rendering by @Mytherin in https://github.com/duckdb/duckdb/pull/20099
- Roaring boolean FetchRow fix by @yan-alex in https://github.com/duckdb/duckdb/pull/20101
- Fix race condition in piecewise merge join by @lnkuiper in https://github.com/duckdb/duckdb/pull/20059
- Improve join filter pushdown for ON clause conditions by @EslamAhmed171 in https://github.com/duckdb/duckdb/pull/19888
- Merge V1.4 -> Main by @pdet in https://github.com/duckdb/duckdb/pull/20111
- Fix parsing of dollar quoted strings in various places by @JelteF in https://github.com/duckdb/duckdb/pull/20121
- Do not autocomplete within dollar-quoted strings by @JelteF in https://github.com/duckdb/duckdb/pull/20122
- Fix concurrent test failure by @Mytherin in https://github.com/duckdb/duckdb/pull/20129
- Fix over-eager constraint checking in the presence of primary keys/unique constraints by @Mytherin in https://github.com/duckdb/duckdb/pull/20119
- When shortening columns in the BoxRenderer, avoid applying the min col width twice by @Mytherin in https://github.com/duckdb/duckdb/pull/20126
- Unify column renaming behavior of CTEs with other places in the system by @kryonix in https://github.com/duckdb/duckdb/pull/20116
- Fix vector sizes CI by @lnkuiper in https://github.com/duckdb/duckdb/pull/20130
- [Logging] Add assertions for LogType type by @maiadegraaf in https://github.com/duckdb/duckdb/pull/20064
- [Profiling] Check that file type set by
profiling_outputmatches output type by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19946 - Add flag to use pre-built static library by @hannes in https://github.com/duckdb/duckdb/pull/20092
- Create Shell Log Storage to Print Warnings in CLI by @maiadegraaf in https://github.com/duckdb/duckdb/pull/19974
- [Doc] Add ccache into contributing doc build section by @dentiny in https://github.com/duckdb/duckdb/pull/20139
- Fix column lifetime for DISTINCT ON by @feichai0017 in https://github.com/duckdb/duckdb/pull/19786
- documentation for extension patch workflow by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/19905
- Art pretty printer options by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/20079
- feat: add
OperatorOrder()to table functions to indicate ordering needs. by @rustyconover in https://github.com/duckdb/duckdb/pull/19954 - Internal #6777: IEJoin Unified L1/2 by @hawkfish in https://github.com/duckdb/duckdb/pull/20083
- fix: link error on linux with multiple definition of LogicalType::VARCHAR in
shell_renderer.cppby @rustyconover in https://github.com/duckdb/duckdb/pull/20096 - Remove pointer indirection in ExtensionAccess by @staticlibs in https://github.com/duckdb/duckdb/pull/19529
- [Dev] Fix failure on
extension_entries.hppon main by @Tishj in https://github.com/duckdb/duckdb/pull/20138 - [Dev] Fix concurrent test failure (followup) by @Tishj in https://github.com/duckdb/duckdb/pull/20140
- HashCSVStateMachineConfig to return hash_t by @carlopi in https://github.com/duckdb/duckdb/pull/20137
- Provide option disable cache validation by @dentiny in https://github.com/duckdb/duckdb/pull/19886
- Parallel
TupleDataCollectiondestructor by @lnkuiper in https://github.com/duckdb/duckdb/pull/20159 - Internal #6778: IEJoin Parallel L1/L2 by @hawkfish in https://github.com/duckdb/duckdb/pull/20152
- Allow concurrent insertions into tables with indexes while checkpointing by @Mytherin in https://github.com/duckdb/duckdb/pull/20160
- Revert linux toolchain downgrade by @hannes in https://github.com/duckdb/duckdb/pull/20170
- Do not exit shell on Ctrl+C by @staticlibs in https://github.com/duckdb/duckdb/pull/20155
- CLI: Several rendering fixes / improvements by @Mytherin in https://github.com/duckdb/duckdb/pull/20175
- fix: remove extra space in GetName() for PhysicalTableScan in profiler output by @rustyconover in https://github.com/duckdb/duckdb/pull/20179
- Internal #6779: 64-Bit Range Joins by @hawkfish in https://github.com/duckdb/duckdb/pull/20176
- More
CommonSubplanOptimizerimprovements by @lnkuiper in https://github.com/duckdb/duckdb/pull/20168 - Profiling: Fix rows_scanned by @d-justen in https://github.com/duckdb/duckdb/pull/20161
- [Optimizer] Clean up the cross-over point from
ColumnIndex->StorageIndexby @Tishj in https://github.com/duckdb/duckdb/pull/20087 - Issue #19629: DATE_TRUNC Return Type by @hawkfish in https://github.com/duckdb/duckdb/pull/20120
- Move to macos-latest for newer compiler by @hannes in https://github.com/duckdb/duckdb/pull/20169
- [minor] Avoid divide by 0 for json progress report by @dentiny in https://github.com/duckdb/duckdb/pull/20196
- Allow Late Materialization for Parquet in TopNWindowElimination by @d-justen in https://github.com/duckdb/duckdb/pull/20066
- Link MSVC runtime library statically by @staticlibs in https://github.com/duckdb/duckdb/pull/19415
- fix ci run - 'no space left on device' by @c-herrewijn in https://github.com/duckdb/duckdb/pull/20203
- fix: simplify logic by removing empty else branch by @darion-yaphet in https://github.com/duckdb/duckdb/pull/20184
- fix: simplify platform detection in CMakeLists.txt by @darion-yaphet in https://github.com/duckdb/duckdb/pull/20183
- Add days_in_month internal macro for retrieving number of days in a month by @ArNine in https://github.com/duckdb/duckdb/pull/20180
- Fix try cast for variant to incompatible struct types by @wmTJc9IK0Q in https://github.com/duckdb/duckdb/pull/20211
- fix: add schema and catalog to table scan explain output by @rustyconover in https://github.com/duckdb/duckdb/pull/20181
- feat: add filenames to MultiFileDynamicToString by @rustyconover in https://github.com/duckdb/duckdb/pull/20182
- [C-API] Add support for scalar function local states by @Maxxen in https://github.com/duckdb/duckdb/pull/20109
- CLI: Add
.lastto re-render the last query result, and make several (performance) improvements to.mode duckboxby @Mytherin in https://github.com/duckdb/duckdb/pull/20223 - Throw exception if there is ARTKey mismatch by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/20225
- Fix Windows shell input: correct variable buffering and character order by @EslamAhmed171 in https://github.com/duckdb/duckdb/pull/20217
- [minor] Address compilation warnings by @dentiny in https://github.com/duckdb/duckdb/pull/20213
- Refactor PhysicalCreateIndex and introduce index build abstraction by @ccfelius in https://github.com/duckdb/duckdb/pull/20158
- Refactor
PhysicalCreateIndexand introduce index build abstraction by @Maxxen in https://github.com/duckdb/duckdb/pull/19461 - Internal #6837: Streaming IGNORE NULLS by @hawkfish in https://github.com/duckdb/duckdb/pull/20226
- [Optimizer] Push down
struct_extractexpression to the storage. by @Tishj in https://github.com/duckdb/duckdb/pull/20063 - Friendly SWITCH case by @Dtenwolde in https://github.com/duckdb/duckdb/pull/20001
- Parallel
SortedRunMergerdestructor by @lnkuiper in https://github.com/duckdb/duckdb/pull/20200 - Internal #6462: Implement AGO Macro by @hawkfish in https://github.com/duckdb/duckdb/pull/20228
- Do not call UnregisterBlock from destructor by @staticlibs in https://github.com/duckdb/duckdb/pull/20242
- [minor] Address more compile warnings by @dentiny in https://github.com/duckdb/duckdb/pull/20232
- Re-enable aws tests by @Tmonster in https://github.com/duckdb/duckdb/pull/20249
- Fix wrong error message when add primary key to a view(#20239) by @ArNine in https://github.com/duckdb/duckdb/pull/20253
- Fix last parallel destructor race condition (hopefully) by @lnkuiper in https://github.com/duckdb/duckdb/pull/20251
- [Optimizer] Pushdown a CAST expression on top of a struct_extract by @Tishj in https://github.com/duckdb/duckdb/pull/20250
- [ART] Prefix handles by @artjomPlaunov in https://github.com/duckdb/duckdb/pull/19658
- Fix: CHECK constraint internal error on UPDATE with missing columns (#20199) by @AestheticAkhmad in https://github.com/duckdb/duckdb/pull/20243
- Internal #6462: Implement AGO Macro by @hawkfish in https://github.com/duckdb/duckdb/pull/20257
- feat: preserve ATTACH options and return via duckdb_databases() by @rustyconover in https://github.com/duckdb/duckdb/pull/20186
- support reading parquet files with empty groups by @achille-roussel in https://github.com/duckdb/duckdb/pull/20135
- Move checkpointing outside of the attached database destructor by @taniabogatsch in https://github.com/duckdb/duckdb/pull/19930
- Issue #20076: Implement CountWindowElimination Logic by @hawkfish in https://github.com/duckdb/duckdb/pull/20273
- Minor python fixes by @c-herrewijn in https://github.com/duckdb/duckdb/pull/20269
- Fix concat(null) error by @d-justen in https://github.com/duckdb/duckdb/pull/20266
- Big-endian patches (FSST, arrow, types, md5) by @DNikolaevAtRocket in https://github.com/duckdb/duckdb/pull/20237
- Merge
v1.4-andiumintomainby @carlopi in https://github.com/duckdb/duckdb/pull/20231 - Allow concurrent deletes while checkpointing by @Mytherin in https://github.com/duckdb/duckdb/pull/20286
- Correctly handle default expressions in WAL when doing
ALTER TABLE ... ADD COLUMN ... DEFAULT ...by @yan-alex in https://github.com/duckdb/duckdb/pull/20224 - [Fix] Use the current schema and catalog during data creation for TPCH and TPCDS by @taniabogatsch in https://github.com/duckdb/duckdb/pull/20290
- peg grammar: start rule first by @jraymakers in https://github.com/duckdb/duckdb/pull/20275
- return_stats for boolean and numeric (128 bits) during copy by @aykut-bozkurt in https://github.com/duckdb/duckdb/pull/20222
- Fixes raised by cppcheck by @carlopi in https://github.com/duckdb/duckdb/pull/20323
- Fixup QueryProfiler::GetBytesRead and Written by @carlopi in https://github.com/duckdb/duckdb/pull/20318
- Internal #6974: Window Self-Join Files by @hawkfish in https://github.com/duckdb/duckdb/pull/20317
- Internal #6999: Window TopN Comparisons by @hawkfish in https://github.com/duckdb/duckdb/pull/20316
- Internal #6943: IEJoin Code Cleanup by @hawkfish in https://github.com/duckdb/duckdb/pull/20315
- Use eager min/max aggregation on parquet statistics by @d-justen in https://github.com/duckdb/duckdb/pull/20301
- c-api: adding out_file against NULL check by @ProjectMutilation in https://github.com/duckdb/duckdb/pull/20303
- Apply LRU cache to parquet metadata by @dentiny in https://github.com/duckdb/duckdb/pull/20157
- [Profiling] Add duckdb_profiling_settings() macro by @maiadegraaf in https://github.com/duckdb/duckdb/pull/20234
- Fix some compiler warnings on apple clang 17 by @hannes in https://github.com/duckdb/duckdb/pull/20337
- feat(adbc): support the uri option of ADBC 1.1.0 by @eitsupi in https://github.com/duckdb/duckdb/pull/20312
- feat(adbc): support
ADBC_INFO_DRIVER_ADBC_VERSION(new in ADBC 1.1.0) by @eitsupi in https://github.com/duckdb/duckdb/pull/20344 GEOMETRYRework: Part 5 - Coordinate Reference System Support by @Maxxen in https://github.com/duckdb/duckdb/pull/20143- Remove two unnecessary test exclusions by @yan-alex in https://github.com/duckdb/duckdb/pull/20347
- Preserve uppercase chars in DB filename on Windows by @staticlibs in https://github.com/duckdb/duckdb/pull/20298
- Eager aggregate support filter by @flashmouse in https://github.com/duckdb/duckdb/pull/20198
- [Profiling] Add enable_profiling() Table Function by @maiadegraaf in https://github.com/duckdb/duckdb/pull/20151
- Fix: Potential Unexpected Result when Using TRY Expression #20006 by @AestheticAkhmad in https://github.com/duckdb/duckdb/pull/20238
- Fix #20308: Added collation binding to the join conditions by @gemy26 in https://github.com/duckdb/duckdb/pull/20349
- Pick up stale PR 19271 by @lnkuiper in https://github.com/duckdb/duckdb/pull/20359
- Support reading
FIXED_LEN_BYTE_ARRAYfields withDELTA_BYTE_ARRAYencoding by @arouel in https://github.com/duckdb/duckdb/pull/20270 - Parquet: Populate the column_orders field and expose it in parquet_file_metadata by @lasanaka-jumptrading in https://github.com/duckdb/duckdb/pull/20241
- Add RemoveFiles to FileSystem by @utay in https://github.com/duckdb/duckdb/pull/20333
- Perform cleanup when
COPYfunction throws an error by @yan-alex in https://github.com/duckdb/duckdb/pull/20345 - Pick up stale PR 19268 by @lnkuiper in https://github.com/duckdb/duckdb/pull/20358
- CachingOperator: handle also ORDERED, and consider swapping chunks by @carlopi in https://github.com/duckdb/duckdb/pull/20259
- fix binder: handle errors with over in where inside subquery by @Pranav2612000 in https://github.com/duckdb/duckdb/pull/20310
- Add interruption check to optimizer execution by @EtgarDev in https://github.com/duckdb/duckdb/pull/20377
- Out of core tests by @lnkuiper in https://github.com/duckdb/duckdb/pull/20383
- Use forward-compatible std::shuffle by @philippmd in https://github.com/duckdb/duckdb/pull/20395
- fix compilation with FORCE_QUERY_LOG=1 by @zhanglei1949 in https://github.com/duckdb/duckdb/pull/20387
- [minor] Fix a few compilation warnings by @dentiny in https://github.com/duckdb/duckdb/pull/20385
- Add
parse_formatted_bytesfunction to parse human-readable byte size by @EtgarDev in https://github.com/duckdb/duckdb/pull/20107 - Fix issue #20187: Fix PIVOT aggregate mismatch for ranges >=21 by @gemy26 in https://github.com/duckdb/duckdb/pull/20272
- Fix caching filesystem
CanSeekby @dentiny in https://github.com/duckdb/duckdb/pull/20330 - Improve format script compatibility on Windows by @xuboying in https://github.com/duckdb/duckdb/pull/20398
- Add way to skip version checks in scripts/format.py by @carlopi in https://github.com/duckdb/duckdb/pull/20388
- Fix function chain in qualify(#20233) by @ArNine in https://github.com/duckdb/duckdb/pull/20262
- Fix
concat(null) is nullreturn false, it should be true(issue: #20306) by @ArNine in https://github.com/duckdb/duckdb/pull/20320 - NightlyTests fixes by @lnkuiper in https://github.com/duckdb/duckdb/pull/20408
- Storage cleanup: remove unused headers and fix transitive includes by @Schwarf in https://github.com/duckdb/duckdb/pull/20407
- Avoid frequent checkpoints triggered by optimistic insertions by @Captain32 in https://github.com/duckdb/duckdb/pull/20336
- No catalog found Nightly test fix by @ccfelius in https://github.com/duckdb/duckdb/pull/20409
- TIME_NS Support + Arrow by @pdet in https://github.com/duckdb/duckdb/pull/20361
- feat(adbc): support the experimental
adbc.ingest.target_catalogoption and improve ingest name resolution by @eitsupi in https://github.com/duckdb/duckdb/pull/20369 - Fix file opener propagation by @dentiny in https://github.com/duckdb/duckdb/pull/20414
- Cleanup RowGroup Scan code, and make BoundIndex::Delete throw an error if the rows are not present in the index by @Mytherin in https://github.com/duckdb/duckdb/pull/20430
- [Optimizer] Support NOT elimination by @doublefish5106 in https://github.com/duckdb/duckdb/pull/20394
- JSON Reader: exit scan loop if we have found an error that we can't yet throw by @Mytherin in https://github.com/duckdb/duckdb/pull/20434
- Merge V1.4 -> Main by @pdet in https://github.com/duckdb/duckdb/pull/20350
- Internal #6975: Window Inner Self-Join by @hawkfish in https://github.com/duckdb/duckdb/pull/20459
- Issue #20413: ASOF Arbitrary Predicates by @hawkfish in https://github.com/duckdb/duckdb/pull/20456
- [C API] Expose safe string assign function by @taniabogatsch in https://github.com/duckdb/duckdb/pull/20467
- Internal #6976: Window Self-Join Predicate by @hawkfish in https://github.com/duckdb/duckdb/pull/20473
- CMake: export also duckdb_generated_extension_loader by @carlopi in https://github.com/duckdb/duckdb/pull/20449
- Chore: merge back main into v1.5-variegata by @carlopi in https://github.com/duckdb/duckdb/pull/20469
- add_third_party(skiplist) into top level CMake by @carlopi in https://github.com/duckdb/duckdb/pull/20494
- Add SHOW schemas by @c-herrewijn in https://github.com/duckdb/duckdb/pull/20492
- [SQLLogicTest] Add the
CONTINUEstatement by @Tishj in https://github.com/duckdb/duckdb/pull/20489 - Remove fs limitation: OVERWRITE is not supported for remote file systems by @carlopi in https://github.com/duckdb/duckdb/pull/20487
- [Encryption] Adding random IV and tag for canary encryption by @ccfelius in https://github.com/duckdb/duckdb/pull/20208
- [Optimizer] Push down
variant_extract+ cast into the storage layer by @Tishj in https://github.com/duckdb/duckdb/pull/20268 - Internal #6977: Window Self-Join Aggregate by @hawkfish in https://github.com/duckdb/duckdb/pull/20497
Full Changelog: https://github.com/duckdb/duckdb/compare/v1.4.4...v1.5.0