This is a bug fix release for various issues discovered after we released 0.8.0. There are no new features, just bug fixes. Database files created by DuckDB v0.8.0 can be read by DuckDB v0.8.1 (i.e. v0.8.1 is backwards compatible with v0.8.0). Note that database files created by v0.8.1 cannot be read by DuckDB v0.8.0 (i.e. v0.8.0 is not forwards compatible with v0.8.1).
Changes
- [Julia] Update DuckDB_jll to v0.8.0 by @Mytherin in #7568
- CSV reader - allow parallel option to be set in COPY statement as well by @Mytherin in #7579
- shell: Remove .dbinfo command. by @omo in #7569
- Catalog::LookupEntry(): Remove unused code. by @omo in #7557
- Add the default scheme to the CREATE TYPE's type search path. by @omo in #7555
- Use std::all_of instead of raw loop in Disjoint. by @ttsugriy in #7549
- feat: introduce a common grammar/types file for libpgquery parser and update Python scripts to take source/target directory paths as argument by @stephaniewang526 in #7574
- Fix #7582 - correctly set "last_offset" in InitializeScanWithOffset and turn assertion into run-time check by @Mytherin in #7586
- Partially fix #7551 - throw internal exception in case of type mismatch in ExpressionExecutor by @Mytherin in #7587
- Fix #7602 - allow reserved keywords in named parameters by @Mytherin in #7604
- Fix #7599 - output a clear error message when a subquery is used in a table function that does not support it by @Mytherin in #7603
- Rework Code Coverage CI - Remove CodeCov and instead track uncovered lines explicitly + turn lack of coverage into a CI failure by @Mytherin in #7611
- Use unordered_set insert range overload. by @ttsugriy in #7615
- Reserve expression_costs storage. by @ttsugriy in #7608
- [ADBC] Testing Unhappy Paths, Fixing Memory Leaks from Error Setting, Removing Macros by @pdet in #7589
- Windows - path is only absolute if path starts with a single back-slash by @Mytherin in #7623
- Fix #7564 - if the auto-complete extension is not enabled, inline it into the shell by @Mytherin in #7621
- Remove 2 extra bytes from magic string pattern. by @ttsugriy in #7626
- Avoid unnecessary table lookup. by @ttsugriy in #7630
- Reserve enough storage for unbound_expressions. by @ttsugriy in #7627
- Increment code coverage by @Mytherin in #7636
- Remove all C-style casts and add clang-tidy rule to forbid them by @Mytherin in #7656
- Fix sql auto complete extension CI issue by @Mytherin in #7650
- Add missing entries to ParquetDecodeUtils::BITPACK_MASKS by @Tishj in #7658
- Fix: allow distinct and order by in list aggregates by @taniabogatsch in #7638
- Rework the AggregateExecutor interface to no longer have unnecessary pointers and arrays by @Mytherin in #7671
- Fix #7660 - avoid exporting the same catalog multiple times in EXPORT by @Mytherin in #7676
- Move BindUpdateConstraints into a virtual function that is implemented by the DuckTableEntry by @Mytherin in #7679
- Fix #7567 - when setting the schema to a different schema within another catalog, keep the correct catalog by @Mytherin in #7678
- Fix exception fmt by @carlopi in #7683
- Fix amalgamation build by avoiding overloading multiplication by @carlopi in #7661
- Fix #7659 - use correct catalog when replaying a CREATE TABLE in the WAL by @Mytherin in #7675
- Implement #7662 - add the "lock_configuration" setting which allows configurations to be locked down by @Mytherin in #7682
- Fix #7663 - add in_search_path function, correctly show temporary views in SHOW TABLES, and show views in SHOW ALL TABLES by @Mytherin in #7680
- expose the
StripUnicodeSpaces
parser utility method by @stephaniewang526 in #7705 - Add FuzzyDuck fuzzer - and move fuzzer CI to separate repo by @Mytherin in #7712
- Add missing std::move for old GCCs by @Mytherin in #7714
- [Dev] Fix failing assertion in python debug by @Tishj in #7722
- Fix crash in
ArrowTableFunction::GetArrowLogicalType
on Linux by @Tishj in #7718 - Allow core duckdb to handle unrecognized JDBC configuration by @elefeint in #7713
- [ADBC] Transactions and explicitly not-supporting Partition Reading/Execution by @pdet in #7639
- Verify that Parallel CSV Reader skips lines mid-threads by @pdet in #7637
- Fix issue with setup.py builds without dependencies by @samansmink in #7695
- [Python] Fix tests for Pandas 2.0.2 by @Tishj in #7726
- Code Coverage CI check - allow one uncovered line by @Mytherin in #7724
- Generate
default_types
from json files by @Tishj in #7646 - Fix fuzzer issues found by new fuzzer CI runs by @Mytherin in #7736
- [Python] Fix conversion of deeply nested dictionaries by @Tishj in #7739
- Fix TupleDataCollection List serialization by @lnkuiper in #7741
- Fuzzer #156: Copy Before Swizzle by @hawkfish in #7747
- Minor fixes to failing CI runs by @carlopi in #7768
- Fix more fuzzer issues found by new fuzzer CI by @Mytherin in #7759
- Add option to disable serialization by @stephaniewang526 in #7745
- fix(httpfs): correct listobjectv2_url for strict s3/http servers by @Mause in #7761
- Fuzzer #209: Multiple Scalar Blocks by @hawkfish in #7764
- Fuzzer #206: Fix Cast Overflow by @hawkfish in #7770
- More minor CI fixes by @Mytherin in #7779
- Add Exception on dependency verification for Enum Types and Temp Tables by @pdet in #7641
- Add fuzz_all_functions fuzzer, and add support for varargs to test_vector_types by @Mytherin in #7754
- JSON fixes by @lnkuiper in #7762
- [Julia] Fix issue related to table function callbacks and IO by @Tishj in #7783
- [Dev] Use
sql
in thepython_regression_test.py
. by @Tishj in #7787 - Allow core duckdb to handle unrecognized C API configuration by @elefeint in #7804
- Fuzzer #214: ROWS BETWEEN Overflow by @hawkfish in #7767
- Add tests to cover issue 5132 and enable force reload by @taniabogatsch in #7800
- Fuzzer #215: Timestamp Arithmetic Overflow by @hawkfish in #7769
- Remove grammar support for CREATE/DROP DATABASE by @stephaniewang526 in #7806
- Serialize: fix some uncovered cases, part 1 by @carlopi in #7810
- CodeCov tweaks by @carlopi in #7815
- fix(jdbc): arrow error handling by @Mause in #7814
- Fix duck fuzzer #218 and #220 by @carlopi in #7818
- Add msan and ubsan to cifuzz (+ fix zstd + msan) by @carlopi in #7813
- Art bug fixes by @taniabogatsch in #7801
- Check GlobalSortState for external scan in PhysicalWindow by @lnkuiper in #7827
- remove un-used PGNodeTag by @stephaniewang526 in #7833
- refactor(fsspec): remove seekable flag by @Mause in #6585
- Unnest_rewriter fixes by @taniabogatsch in #7836
- [Julia] Fix comments on #7783 by @Tishj in #7843
- Disable attaching on-disk DuckDB databases if external access is disabled by @Mytherin in #7850
- Fix #7711 - disallow detaching the currently USEd database by @Mytherin in #7851
- [Python] only execute in
DuckDBPyRelation::Close
if it was never executed before by @Tishj in #7844 - Add rel_from_table_function to R relational API by @hannes in #7823
- [Python] Fix
__exit__
signature by @Tishj in #7849 - Several minor DuckFuzz/OssFuzz fixes by @Mytherin in #7848
- Enhance the generation of random floating point by PCG by @GHamrouni in #7842
- Fix #7795 - provide explicit alias for unnamed subquery as unpivot parameter by @Mytherin in #7858
- Grab Mark Join lock when using shared correlated_mark_join_info by @lnkuiper in #7859
- JSON Contains - correctly handle constant NULL by @Mytherin in #7861
- Serialize: more fixes, part 2 by @carlopi in #7830
- Regression.yml to check agaist GITHUB_BASE_REF by @carlopi in #7877
- More UNNEST fixes by @taniabogatsch in #7872
- Bump spatial by @Maxxen in #7866
- Rework test_plan_serialization_bwc to do roundtrip by @carlopi in #7862
- Serialize: rework signature, part 3 by @carlopi in #7867
- [Python] UDFs now produce the correct result when used together with
range
by @Tishj in #7876 - CI: Bump up uncovered_files.csv by @carlopi in #7884
- Build Python wheels for aarch64 using QEMU by @adavis444 in #7864
- Spurious CSV reader CI fix by @Mytherin in #7889
- Minor CIFixes: flatten.test, rowsort, ctz UBs by @carlopi in #7899
- Upgrade to latest substrait version by @pdet in #7886
- feat: update parser exception handling for extensions by @stephaniewang526 in #7868
- fix(nodejs): http state by @Mause in #7883
- fix pivotref comments by @douenergy in #7885
- Arrow buffer Size Option by @pdet in #7784
- Fix for table in function binding by @hannes in #7857
- Implement DatabaseManager::SetDefaultDatabase by @Flogex in #7878
- Fix #7902 - add support for blob to approx count distinct by @Mytherin in #7907
- Fix Issue 7278 by @lnkuiper in #7916
- Lift update binding logic from DuckTableEntry to TableCatalogEntry by @bleskes in #7874
Full Changelog: v0.8.0...v0.8.1