This is a bug fix release for various issues discovered after we released 0.7.0. There are no new features, just bug fixes. Notably, there is no incompatibility with database files created with v0.7.0
Changes
- When building extensions we need to add _storage_init to the whitelist on MacOS by @Mytherin in #6243
- Some more read_json_auto bugfixes by @lnkuiper in #6244
- Fix for Thrift.h: std::iterator is deprecated by @hannes in #6250
- Add missing shell mode descriptions by @papparapa in #6256
- Fix #6255: Shell should be installed in INSTALL_BIN_DIR by @Mytherin in #6266
- Bump Julia to v0.7.0 by @Mytherin in #6280
- Skip headers in read_csv functions as well by @pdet in #6267
- Correctly compute Windows terminal width, and add a
.maxwidth
option to the shell for duckbox mode by @Mytherin in #6274 - Fix lateral join bug by @taniabogatsch in #6268
- fix: add storage_version_info entry for v0.7.0 by @Mause in #6279
- Fix to #5461 by @annnei in #6265
- CI fixes by @Mytherin in #6289
- [Fuzzer] Fixes fuzzer issue 11 by @Tishj in #6191
- Partially Fix #6253: Improve handling of timezones in the regular VARCHAR -> TIMESTAMP cast by @Mytherin in #6283
- Error message on no content-length header by @samansmink in #6293
- fixes #6238 by @rpbouman in #6239
- fixes #6236 by @rpbouman in #6252
- Missing extension exceptions by @lverdoes in #6294
- feat: allow extensions to implement CREATE/DROP DATABASE by @rjatwal in #6115
- fix(python): python object types in stubs by @Mause in #5732
- Fix UPSERT binding issue related to the source table_index by @Tishj in #6275
- fix: DESCRIBE does not show primary key by @gkaretka in #6068
- Fix #6276: avoid transforming the root arg of a case expression multiple times by @Mytherin in #6300
- More read_json(_auto) bugfixes by @lnkuiper in #6281
- JDBC: Expand Blob, add UUID support by @MariusVolkhart in #6302
- CMake: Move from GREATER_EQUAL to GREATER, fixing #5528 by @carlopi in #6310
- Implement #6003 - add names option to CSV reader by @Mytherin in #6308
- CI: Test for cron based workflows by @carlopi in #6311
- CI Fix + match tests on less specific error messages by @Mytherin in #6320
- Fix #6314: select correct block index in IEJoin - and fix issues with left/right IE join resuming in case of multiple matches by @Mytherin in #6323
- CI: all workflows moved to nightly by @carlopi in #6334
- Fixes #6315: keep names/types around so description can be used after result is closed by @Mytherin in #6326
- Fix #5800: add missing Copy() calls, and add ALTERNATE_VERIFY method to verify Copy of INSERT/UPDATE/DELETE/COPY statements by @Mytherin in #6327
- Apply lower casing to extension aliases by @Mytherin in #6331
- Fix #6304: correctly handle NULL partitions and constant vectors, plus handle default parameters in COPY by @Mytherin in #6336
- [Python] DuckDBPyRelation: Change
explain
method and addsql
method by @Tishj in #6287 - Fix Polars CI and properly implement check_ methods in the dataframes by @pdet in #6347
- Fixing a clang16 problem that slipped through by @hannes in #6345
- Fix #6341: LEFT/RIGHT/OUTER join on condition that is always true is only equal to a cross product if the other side is not empty by @Mytherin in #6342
- CI: Skip any CI on branches named 'feature' or 'master' by @carlopi in #6350
- Add correct bail-out to CSV auto-detection on oddly/inconsistently formatted CSV files by @Mytherin in #6330
- CI: Invert path-ignore for tools folders by @carlopi in #6353
- NULLs sort last in relational by @krlmlr in #5994
- Properly deal with Star (*) expressions in
COPY ... (FORMAT JSON)
by @lnkuiper in #6319 - fixes #6227 by @rpbouman in #6230
- fix typos in dictionary_store_worst_case.benchmark by @hnjylwb in #6371
- Julia: Support change timezone config by @xcaptain in #6358
- Paths-ignore on push by @carlopi in #6363
- JDBC - Add separate treatment for timestamptz values by @Jens-H in #6364
- bugfix: switch to fsspec's strip protocol impl by @Mause in #6361
- Disable tidy on ODBC for now by @Mytherin in #6379
- Implements function "sqlite3_column_table_name" for the sqlite3 wrapper by @TinyTinni in #6385
- [Python] No jemalloc for successful build on android by @papparapa in #6383
- throw BinderException on empty list in percentile by @samansmink in #6378
- Add optimizer flag to R and Python Substrait api by @LindsayWray in #6097
- fixes #6269 by @rpbouman in #6291
- Java: Use automatic resource management for AutoCloseable types by @MariusVolkhart in #6377
- Fix progress bar in (parallel) CSV reader by @Mytherin in #6397
- Fix #6393: for DESCRIBE order by column_index instead of column_name by @Mytherin in #6398
- ART (bug) fixes by @taniabogatsch in #6396
- [NodeJS] Support multi-statement prepare by @Tishj in #6278
- Java: Use StringBuilder where appropriate by @MariusVolkhart in #6373
- Bitpacking bug by @samansmink in #6402
- bugfix(fsspec): missing fs methods by @Mause in #6395
- Auto-load HTTPFS extension when http(s)/s3 files are queried and it is not loaded + upgrade SQLite scanner version/other extension fixes by @Mytherin in #6401
- Add helpful error message if a setting from an extension is attempted to be set when the extension is not loaded by @Mytherin in #6406
- namespace typos in blocking concurrent queue by @csruiliu in #6408
- Java: Implement DatabaseMetaData#isReadOnly() by @MariusVolkhart in #6375
- CI fixes by @carlopi in #6414
- Parquet: for DELTA_BYTE_ARRAY encoding verify that lengths of subsequent arrays do not exceed length of BYTE_ARRAY by @Mytherin in #6412
- Fix #6235: correctly return catalog for views in information_schema by @Mytherin in #6413
- Enable CMAKE_EXPORT_COMPILE_COMMANDS ON default by @JackDrogon in #6394
- Fix #5878: only delete the temp directory if we created it, otherwise delete only our temp files by @Mytherin in #6425
- Fix under-specified test by @Mytherin in #6419
- fix: logic fix to allow storage extension to implement DROP DATABASE by @stephaniewang526 in #6430
- Map bug combo of const & non-const lists by @LindsayWray in #6354
- Issue #6272: Window Scaled Repartitioning by @hawkfish in #6366
- respect column order for partitioned write by @samansmink in #6436
- Properly initialize string vector when reading large JSON arrays of strings by @lnkuiper in #6437
- Fix #6420 - correctly delete temporary files that are not explicitly read back but just dropped by @Mytherin in #6424
- Julia: support Pkg.test() by @chris-b1 in #6431
- fixes sqlite3_column_bytes nullptr access on some call ordering by @TinyTinni in #6409
- Write struct fields as optionally quoted in EXPORT DATABASE by @Tishj in #6416
- Enables sqlite3 wrapper tests for win32 builds by @TinyTinni in #6427
- Adding separate extension_directory configuration setting by @hannes in #6355
- Preserving replacement_open functionality by @rjatwal in #6449
- [Dev] Add documentation for s3 tests to the extensions/httpfs folder by @Tishj in #6418
- [Python] Fix bug that caused a crash on conversion to arrow by @Tishj in #6441
- Disable operator cache for pull by @samansmink in #6435
- [Python] Add
to_table
andto_view
alias by @Tishj in #6455 - Improve error message similarity score by using a weighted levenshtein that penalizes non-equal characters more than additions/deletions by @Mytherin in #6457
- Fix cardinality estimation memoization bug by @jniewerth in #6456
- R: Fix protection errors for relational API by @krlmlr in #6469
- R: Reenable and stabilize tests by @krlmlr in #6474
- Fix multipart upload by @samansmink in #6439
- Fix #6062 (UBSan) by changing order of operations by @carlopi in #6472
- Add split_part function (from Postgres) by @Alex-Monahan in #6471
- Auto Install Extensions when opening a database that requires certain extensions by @Mytherin in #6479