This preview release of DuckDB is named "Platyrhynchos" after the very well-known Mallard, πλατυρυγχος meaning "broad-billed".
Binary builds are listed below. Feedback is very welcome.
Note: Again, this release introduces a backwards-incompatible change to the on-disk storage format. We suggest you use the EXPORT DATABASE command with the old version followed by IMPORT DATABASE with the new version to migrate your data. See the documentation for details.
Major changes (not listing minor bug fixes and small changes):
Storage
- #2099: Persistent Storage Compression Framework & RLE compression for numeric columns
- #2157: Multi-Occupancy Blocks in the Storage
SQL
- #2247: Support session and global
SET
statement variable scopes. - #2230: Full Case Insensitivity in the Binder & Catalog
- #2208: Allow duplicate column names in subqueries/
CREATE TABLE AS
, similar to SQLite - #2206: Allow unnamed subqueries
- #2189: Add support for
SUMMARIZE
of SQL statement/table - #2158:
ORDER BY
aggregates - #2171: Implement
LAST
- #2146: Support for
RANGE
andARRAY_LENGTH
scalar functions - #2133: Implement
DATESUB
& #2090: ImplementDATEDIFF
- #2128: Fall back to VARCHAR when the type of a prepared statement parameter is ambiguous
Performance Improvements
- #2226: Issue #1657: Reduce Window copying
- #2221: Prefetch Parquet Meta Data
- #2172: Top-N Rework using new sort code
- #2167: Use new sort code in window functions
- #2098: Reduce unnecessary sorting overhead
- #2077: Fetch Arrow - Streaming
C Client:
- #2173: Don't strdup error msg
- #2115: Improve performance of duckdb_value functions, add support for HUGEINT type and add extra result helper functions
- #2107: CAPI Cleanup & DATE/TIME/TIMESTAMP rework
R Client
- #2250: Support column subsets in dbAppendTable()
- #2134: Implement dbAppendTable()
- #2136: Implement dbBind() according to specification
- #2119: Enable more DBItest tests
ODBC Client