Log message:
databases/duckdb: Update to 1.1.0
Changelog:
1.1.0
What's Changed
* Add feature changes back in by @Mytherin in #11146
* Make MultiFileReader filename configurable by @lnkuiper in #11178
* [Dev] Fix compilation issues on feature by @Tishj in #11082
* add query() and query_table() functions by @chrisiou in #10586
* [Block Size] Move the block allocation size into the block manager by
@taniabogatsch in #11176
* LIMIT pushdown below PROJECT by @jeewonhh in #11112
* BUGFIX: IN () filter with one argument should translate to = filter. by
@Tmonster in #11473
* Regression Script should calculate micro benchmark differences with the
correct base branch by @Tmonster in #11762
* Pushdown filters on window partitions by @Tmonster in #10932
* Arrow ListView Type by @Tishj in #10766
* Add scalar function support to the C API by @Mytherin in #11786
* Add TopN optimization in physical plan mapping by @kryonix in #11290
* Join-dependent filter derivation by @lnkuiper in #11272
* Implement ROW_GROUPS_PER_FILE for Parquet by @lnkuiper in #11249
* Prefer Final projected columns on probe side if cardinalities are similar
by @Tmonster in #11109
* Propagate unused columns to distinct on by @Tmonster in #11006
* Separate eviction queues by FileBufferType by @lnkuiper in #11417
* Disable false positive for vector size nightly in test by @taniabogatsch in
#11953
* Rework jemalloc extension by @lnkuiper in #11891
* Tweak jemalloc config by @lnkuiper in #12034
* Httpfs test to nightly by @carlopi in #12196
* Removed three reinterpret casts and some rewriting by @taniabogatsch in #
12200
* Begin Profiling Rework to move towards Modularity by @maiadegraaf in #11101
* [CLI] Add highlighting + limited auto-complete for shell dot commands by
@Mytherin in #12201
* Skip test to fix block size nightly and add more explicit error checking by
@taniabogatsch in #12211
* Remove BLOCK_ALLOC_SIZE from the column segment files by @taniabogatsch in
#11474
* [Julia] - Added optional schema input argument to DuckDB.Appender
constructor by @curtd in #12174
* Fix Mark Index in the Bound Join Ref by @pdet in #12263
* Fix for CI Regression Failure by @maiadegraaf in #12273
* ? by @samansmink in #12303
* Disable JEMALLOC_RETAIN by @lnkuiper in #12185
* Enforce compression extensions for CSV Files by @pdet in #11903
* Make spuriously failing test more robust by @lnkuiper in #12306
* Add new extensions to issue template by @szarnyasg in #12313
* [Fix] Block size nightly run by @taniabogatsch in #12283
* Spell Check | Nothing Major | Corrected base_scanner.cpp by @nj7 in #12282
* add duckdb_bind_timestamp_tz function to C API by @karlseguin in #12151
* [Python] Add some date/datetime functions to pyspark api by @mariotaddeucci
in #12075
* Fixes to Windows workflow and ubuntu_18 action by @carlopi in #12308
* [Extension Dev] Forward declare re2 in hive_partitioning.hpp by @Tishj in #
12302
* add expected errors to test/sql/copy/per_thread_output.test by @hmeriann in
#12280
* Issue #12287: ICU Strptime Lists by @hawkfish in #12295
* Issue #12171: Streaming Window FILTER by @hawkfish in #12250
* [Python] Update the Connection wrapper generation, now generates c++ code
by @Tishj in #12216
* Use iterator buffer position when storing buffer handles by @pdet in #12315
* Bump Julia client to v0.10.3 by @Mytherin in #12323
* Fix #12286 - in the MetadataManager, prefer to allocate new blocks if the
next free block id is smaller than the currently used metadata block by
@Mytherin in #12318
* [Fix] Only read file size if file handle still exists by @taniabogatsch in
#12319
* Add support for APPEND argument to hive partitioned write by @Mytherin in #
12262
* Remove all reinterpret casts from the transformer by @taniabogatsch in #
12320
* Additional check for overlapping CTE names by @lnkuiper in #12305
* [Dev] STANDARD_VECTOR_SIZE and BLOCK_ALLOC_SIZE can now be set through the
Makefile by @Tishj in #12164
* [Upsert] Fix issue with lambdas in DO UPDATE SET expressions by @Tishj in #
11866
* [Python] Fix scoping issue for pandas_analyze_sample setting by @Tishj in #
11706
* Support REGEX matches expected error message by @hmeriann in #12327
* Allow run_fuzzer to reduce multi statements. by @Tmonster in #12278
* Fix #12328 - when flattening STRUCT vectors with NULL values, we need to
flatten the children recursively as well by @Mytherin in #12332
* Make dbgen generate data in parallel by @Mytherin in #12337
* dbgen: skip parallel generation if DUCKDB_NO_THREADS is set by @Mytherin in
#12341
* Add prefix prefix_front_back. to get prefix_front_ and prefix_back_ by
@liujiayi771 in #12344
* Issue #12171: Streaming Windowed DISTINCT by @hawkfish in #12311
* Update README by @szarnyasg in #12357
* [CSV Reader] [Skip Option] Tests and fixes by @pdet in #12213
* Adjust BM25 score in FTS extension to prevent negative scores by @lnkuiper
in #12356
* Fix typos by @szarnyasg in #12360
* Fix #12293 - accept NULL values in generate_series with timestamp by
@Mytherin in #12367
* Fix #12335: avoid calling fsync when writing Parquet files, instead just
close the file by @Mytherin in #12371
* Fix parameters passed down to other workflows in OnTag.yml by @carlopi in #
12369
* [Python] Fixes for the SQLLogicTest runner implementation by @Tishj in #
12372
* Bump julia to v1.0.0 by @Mytherin in #12379
* Fix #11921 - varchar -> timestamp casts are not invertible by @Mytherin in
#12376
* Upgrade utf8proc - and move our custom extensions out of utf8proc itself by
@Mytherin in #12373
* change max_queries number back to 2000 by @Tmonster in #12375
* Remove sqlsmith extension by @Tmonster in #12300
* Reorder semi and anti joins. by @Tmonster in #11815
* Issue #12351: implicit cast to TIMESTAMP_MS, TIMESTAMP_S, TIMESTAMP_NS from
DATE values by @akoshchiy in #12352
* Issue #10023: Approx_Count_Distinct Memory Usage by @hawkfish in #12355
* Fix a small typo in dev instructions for swift setup by @gjmwoods in #12383
* Release lock before returning BufferHandle in StandardBufferManager::Pin by
@lnkuiper in #12391
* Remote attach autoload by @carlopi in #12393
* Add JSON type to Parquet reader/writer by @lnkuiper in #12222
* Add RETURN_FILES parameter to COPY TO by @lnkuiper in #12220
* Updated JoinHashTable to use linear probing to resolve hash collisions by
@gropaul in #11472
* [Benchmark Runner] Add --disable-timeout flag by @Tishj in #12387
* Don't replace unicode spaces within $$ quotes in query strings by @lnkuiper
in #12405
* [Python] Fix fatal exception caused by empty Pandas Categorical objects. by
@Tishj in #12370
* Release CSV Blocks when acquiring new blocks if single threaded by @pdet in
#12409
* Add support for prefetching multiple adjacent blocks in a single batched
read when attaching to remote databases by @Mytherin in #12413
* MatchRegex() fixed to do not return false positive result by @hmeriann in #
12396
* Expected errors 2053 by @hmeriann in #12392
* [C-API] Catch exception in duckdb_execute_prepared by @Tishj in #12414
* Combining LIST_CONCAT and CONCAT binding by @maiadegraaf in #12317
* [Appender] Add AppendDefault by @Tishj in #11905
* [Python Dev] Push CTE internally for every (python) replacement scan that
occurred. by @Tishj in #12161
* Improve compiler compatibility by @krlmlr in #12401
* Write zero-length list offsets for NULL values when serializing vectors by
@Mytherin in #12423
* Get column statistics if Logical Get has a statistics function by @jeewonhh
in #12424
* jemalloc: Identify GNU source code properly by @lnkuiper in #12420
* Avoid parallelizing LIMIT clauses when the query plan is simple by
@Mytherin in #12433
* Prefetch metadata blocks for remote files by @Mytherin in #12437
* [Jupyter] Remove width limit on the BoxRenderer config by @Tishj in #12443
* Revert #10865 by @carlopi in #12426
* inline delta by @samansmink in #12435
* Account for tagged dollar-quoted strings when stripping unicode spaces by
@lnkuiper in #12421
* Work-around for broken github windows runner by @Mytherin in #12447
* Prevents clearing of the types of the LogicalExecute operator by
@NiclasHaderer in #12436
* Add support for BEGIN TRANSACTION READ ONLY by @Mytherin in #12202
* Make range and generate_series table in-out functions, and fix several
issues with table in-out functions by @Mytherin in #12431
* Issue #12412: AsOf Filter Push by @hawkfish in #12448
* [Fix] Block Size Nightly by @taniabogatsch in #12427
* [ART] Remove Flatten and template key generation by @taniabogatsch in #
12428
* [Python] Clean up internals of execute / executemany by @Tishj in #12434
* By default attach remote databases as READ_ONLY by @carlopi in #12461
* Fix #11837: use internal physical type for FIRST/LAST/ANY_VALUE instead of
logical type by @Mytherin in #12462
* Issue #12464: Windowed Order By All by @hawkfish in #12470
* Specialize list_value for primitive types for significantly improved
performance by @Mytherin in #12468
* [Dev] Remove dead code from PhysicalBatchCopyToFile by @Tishj in #12459
* Disable Windows extensions CI until Github actions runners are fixed by
@Mytherin in #12479
* [Fix] access_mode now lives in AttachOptions by @taniabogatsch in #12482
* Internal #2186: Nanosecond Functionality by @hawkfish in #12440
* [C-API] Fix leak in duckdb_create_config by @Tishj in #12465
* [Python] No longer scan the entire frame lineage in a replacement scan,
added option to disable (python) replacements entirely by @Tishj in #12425
* throw binder error for comment on system catalog by @samansmink in #12486
* Parquet reader performance by @lnkuiper in #12478
* Operators the Optimizer can skip by @Tmonster in #12489
* Fixes clang conversion warnings by @TinyTinni in #12467
* Avoid creating internal schemas as non-internal when reading old database
files by @Mytherin in #12456
* Allow parquet encryption/decryption keys to be passed in as base64 encoded
strings by @elefeint in #12445
* [Block Size] Introducing CompressionInfo by @taniabogatsch in #12481
* add the number of filtered files to explain by @samansmink in #12488
* Implement Map Type Detection for JSON Reader by @ZiyaZa in #11285
* [Dev] Remove busy-spin from ClientContext::ExecuteTaskInternal by @Tishj in
#12483
* Pluggable collations by @Mytherin in #12492
* [Dev] Don't fail make generate-files if the python code generation fails by
@Tishj in #12500
* Optimize EXTRACT(year/month/day FROM date/timestamp) by @Mytherin in #12499
* [Fix] Remove BLOCK_ALLOC_SIZE in the single file block manager by
@taniabogatsch in #12502
* Revert Windows CI fixes by @carlopi in #12510
* Fix #12467 changes to covariance calculation by @carlopi in #12515
* [Python] Fix reading strided datetime and timedelta columns by @Tishj in #
12519
* Add method for decoding sort keys, and use this in min/max for arbitrary
types by @Mytherin in #12520
* Reduce allocations & use predication in ColumnSegment::FilterSelection by
@Mytherin in #12521
* Skip only built-in optimizers by @Mytherin in #12522
* Improve min/max performance for strings and fallback types by @Mytherin in
#12524
* Move arg_min/arg_max to use sort keys by @Mytherin in #12525
* Move FIRST/LAST/ANY_VALUE to use sort keys by @Mytherin in #12526
* CMake: use GNUInstallDirs as defaults for INSTALL_{BIN,LIB,INCLUDE}_DIR by
@paparodeo in #12509
* More formatting and fix to stddev by @carlopi in #12516
* Linux Extensions CI: Attempt at fix missing dependencies by @carlopi in #
12429
* Fix checkouts by @carlopi in #12366
* Etag if none match for extension install by @carlopi in #12333
* [Block Size] FixedSizeAllocator, MetadataManager, PartialBlockManager by
@taniabogatsch in #12514
* [Python] Skip the PandasAnalyzer if dtype is 'string' by @Tishj in #12511
* [StreamQueryResult] Batched variant of the StreamQueryResult collector by
@Tishj in #11494
* Move many tests to slow by @Mytherin in #12534
* Add support for arg_min(ANY, ANY) by @Mytherin in #12532
* Avoid overriding types in PrepareTypeForCast when not required by @Mytherin
in #12539
* Support all types in histogram function by @Mytherin in #12538
* [Python] Remove busy-spin during execution by @Tishj in #12512
* [Block Size] String space constant by @taniabogatsch in #12537
* Use string_t instead of std::string in histogram by @Mytherin in #12545
* Add support for binned histograms by @Mytherin in #12548
* [Upsert] Fix RETURNING for DO NOTHING by @Tishj in #12554
* Build Android Binaries by @hannes in #12550
* [CI] Remove pyarrow version lock by @Tishj in #12566
* [Dev] Change tests: np.NaN -> np.nan by @Tishj in #12565
* Internal #2017: DECIMAL Downcast Rounding by @hawkfish in #12036
* Issue #12204: Summarize Temporal Quantiles by @hawkfish in #12297
* Internal #2186: Nanosecond StrTimeFormat by @hawkfish in #12551
* Add support for equi_width_bins function to compute histogram boundaries by
@Mytherin in #12574
* add support for casting 'yes'/'no' strings to boolean values by @chrisiou
in #12501
* Julia: Add chunked results with Tables.partitions() by @frankier in #12395
* [PySpark] - Allow spark session range by @mariotaddeucci in #12346
* [PySpark] Implement subset drop duplicates by @mariotaddeucci in #12348
* ICU noaccent collation by @tiagokepe in #12170
* Implement Brotli compression for Parquet reading & writing by @hannes in #
12103
* [FriendlySQL] Unpacked COLUMNS() Expression by @Tishj in #11872
* [PySpark] Implement UDFRegistration.register method on PySpark api by
@mariotaddeucci in #12179
* [Python] Don't use np.nan, deprecated alias starting with NumPy 2.0 by
@Tishj in #12583
* Add bind_expression callback to scalar function, and use it to turn typeof
into a BoundConstantExpression by @Mytherin in #12580
* Add can_cast_implicitly scalar function by @Mytherin in #12581
* Add support for histogram and histogram_values table macro, and add support
for default table macros (similar to how we support default macros) by
@Mytherin in #12590
* build: swap libclang for cxxheaderparser by @Mause in #12567
* [C-API] Add table_description struct to query various information about the
table. by @Tishj in #12460
* Change new micro benchmark script to only look for .benchmark files by
@maiadegraaf in #12598
* Add HTTP error code to extension install failures by @carlopi in #12608
* Separate WAL write from commit, and allow writing to the WAL without
holding the transaction lock by @Mytherin in #12261
* Add OwningStringMap - and rework histogram and mode functions to use this
by @Mytherin in #12601
* Feature #1272: Window Executor State by @hawkfish in #12573
* Add support for any type to mode aggregate by @Mytherin in #12619
* WAL - when dropping a table, also delete any transaction local storage
associated with that table by @Mytherin in #12603
* [Python] Allow Generators to be passed where List is expected by @Tishj in
#12602
* VectorOperations::Copy - fast path when copying an aligned flat validity
mask into a flat vector by @Mytherin in #12618
* Move android CI to only run during nightly CI triggers by @Mytherin in #
12622
* Add initial support for GeoParquet + Bump spatial by @Maxxen in #12503
* Issue #12600: Streaming Positive LAG by @hawkfish in #12609
* Feature #1272: Window Group Preparation by @hawkfish in #12628
* Minor window improvements by @Mytherin in #12617
* Merge feature into main by @Mytherin in #12633
* Refactor quantile aggregate - clean up code & support quantile_disc/median
for all types by @Mytherin in #12630
* Feature 1272: Window Payload Preallocation by @hawkfish in #12629
* [ART] Configurable index scan threshold by @taniabogatsch in #12635
* Subtract start offset for when fetching array child segment by @Maxxen in #
12639
* Remove custom logic to detect main vs feature by @carlopi in #12643
* Do not quote fields with space in the CSV output mode by @szarnyasg in #
12644
* Use lowercase in 'html' output mode by @szarnyasg in #12612
* Internal #2361: Window ROWS Overflow by @hawkfish in #12652
* Quantile: Fix variable used only in D_ASSERT by @carlopi in #12642
* Skip pytorch test, it fails spuriously in CI by @carlopi in #12645
* Add histogram_exact function that adds values to bins only if they match
exactly, and add other column that contains values that do not fit in any
bin by @Mytherin in #12650
* Add operator hook for sink progress by @Maxxen in #12637
* Regression workflow on newly introduced benchmarks: remove for now by
@carlopi in #12659
* Fix #12646 - allow SQL value functions in HAVING by @Mytherin in #12654
* Add != operators on string_t and interval_t by @carlopi in #12658
* fix: improve C scalar functions API by @rustyconover in #12663
* Add approx_top_k aggregate based on the (Filtered) Space-Saving algorithm,
and use it in histogram by @Mytherin in #12653
* Fix std::sort requirements, from greater_equal to greater by @carlopi in #
12669
* fix(parquet): two-complement zeroes check on FIXED_BYTE_ARRAY encoded
DECIMAL (#12621) by @fedefrancescon in #12655
* [CSV Reader] Reorder of Columns for CSV Scans on multiple files. by @pdet
in #12288
* [CSV] [Bug-Fix] Fix for issue related with single-threaded execution and
null padding. by @pdet in #12679
* [Block Size] String block limit and a few other places by @taniabogatsch in
#12671
* Rework arena allocator allocation policy - and increase pivot threshold by
@Mytherin in #12690
* Julia - Fix Base.isopen(db::DB) in #12700
* [CLI] Limit history size to 100MB, and avoid writing invalid UTF8 to the
CLI history by @Mytherin in #12677
* Add configurable thresholds for using nested loop join and merge join by
@Mytherin in #12689
* Prevent unnecessary usage of std::string in list aggregate - and use more
efficient memcpy for batched copy by @Mytherin in #12694
* Dont load spatial unless geoparquet metata is present by @Maxxen in #12692
* Serialization: add CustomData and better support for integrating with
extensions by @jeewonhh in #12681
* Removing ODBC driver by @hannes in #12706
* Support thousand separator for floating point numbers by @Mytherin in #
12717
* [Python] Use non-owning references to hold created cursors by @Tishj in #
12711
* LIST(VARCHAR) - reduce memory usage by avoiding allocation of nullmask for
string data, and allocate larger initial batches by @Mytherin in #12705
* [CSV] Bug fix for race condition in single-threaded multifile reader +
properly print paths on union_by_name errors. by @pdet in #12697
* Issue template: Add ODBC and Node (neo) clients by @szarnyasg in #12714
* Shell: add .sql suffix to temporary file created with \e by @Mytherin in #
12723
* Partitioned write - keep only up until 100 files open, when this limit is
exceeded close the file and create a new file if more data for this
partition appears by @Mytherin in #12708
* Change setting types to fix warnings by @Mytherin in #12724
* Avoid unnecessarily copying child expression when binding COLLATE
statements by @Mytherin in #12725
* Support for variadic arguments in scalar UDFs in the C API by
@taniabogatsch in #12678
* [Relation API] Dont push DISTINCT modifier for EXCEPT/INTERSECT ALL by
@Tishj in #12599
* Builds for Windows on ARM64 by @hannes in #12586
* Rework union_by_name so that files are no longer kept open by @Mytherin in
#12730
* Fix #12729: early-out when checking for perfect hash joins when running on
empty tables by @Mytherin in #12731
* CLI: Replace \n with \r\n again in history again by @Mytherin in #12735
* Fix #11228 - add support for unsigned integers in printf/format by
@Mytherin in #12736
* Various CI fixes by @Mytherin in #12737
* Add repeat(LIST[], INT) that allows repetition of lists similar to how this
is allowed in Python by @Mytherin in #12738
* [Python] Add missing options to read_json method by @Tishj in #12732
* Add support for fetching cardinality estimation and stats through a
multifilelist by @samansmink in #12740
* Fixes warnings detected by cppcheck by @carlopi in #12745
* [Arrow] Add ArrowQueryResult by @Tishj in #12496
* [Dev] StreamQueryResult internals cleanup by @Tishj in #12636
* ALP/ALPRD: correctly skip when we are skipping fewer values than in a
vector by @Mytherin in #12753
* Maintain prepared statement parameter types explicitly instead of
converting into literals by @Mytherin in #12759
* CLI .changes: use sqlite3_changes64 and sqlite3_totalchanges64 to prevent
overflows by @Mytherin in #12761
* Fix #12569: avoid truncating zeros that matter in format function by
@Mytherin in #12762
* Fix #12418: Remove .lint command in SQLite shell by @Mytherin in #12763
* Fewer system calls in LocalFileSystem::ListFiles by @Mytherin in #12769
* Support indexes in COPY DATABASE by @Mytherin in #12768
* Issue #12600: Batched LEAD/LAG by @hawkfish in #12770
* Issue #12600: Streaming Positive LEAD by @hawkfish in #12685
* Add dl functionality for Windows by @ccfelius in #12765
* Fix stale bot permissions, with @szarnyasg by @carlopi in #12782
* [CI] Stale bot: actually add permissions by @carlopi in #12786
* Fix FILE_SIZE_BYTES test (again) by @lnkuiper in #12779
* Fix extended tests in CI by @carlopi in #12781
* Patch CentOS 7 EOL causing CI failure by @samansmink in #12788
* Allow extensions to optionally add own description (on load) by @carlopi in
#12754
* Internal #2429: Shifted LEAD NULLs by @hawkfish in #12791
* Issue #12784: Months Before Days by @hawkfish in #12794
* bump vss by @Maxxen in #12797
* Remove centos workaround by @samansmink in #12801
* For compressed deletes in the undo buffer - count the actual size that will
be written to the WAL when determining the auto-checkpoint threshold by
@Mytherin in #12803
* feat: new inet functions by @panga in #12575
* [Dev] MakeExecutor::ResultCollectorIsBlocked less trigger-happy by @Tishj
in #12780
* Fix #12798: Add head file to fix debug build incomplete type error by
@zzachimed in #12810
* [Block Size] Switching to configurable block sizes by @taniabogatsch in #
12691
* [Dev] Clean up the generate_serialization.py script a bit by @Tishj in #
12823
* Remove micro extended from duckdb/duckdb by @hmeriann in #12792
* [Python] Allow pathlib.Path to be provided to duckdb.connect by @Tishj in #
12809
* remove .py scripts migrating to the sqlsmith by @hmeriann in #12827
* Some expected error messages added by @hmeriann in #12825
* [Fix] list_resize by @taniabogatsch in #12832
* [Python] Python SQLLogicTester maintenance by @Tishj in #12833
* [Python] Accept a list of Expression objects in DuckDBPyRelation.aggregate
by @Tishj in #12812
* [Copy Database] Don't include generated columns in the copied data by
@Tishj in #12835
* [Julia] Added Appender support for Int128, UInt128, and Base.UUID values by
@curtd in #12836
* [Python] Fix extraction of days/seconds/microseconds from timedelta object
by @Tishj in #12760
* [Python] Output a regular key -> value dict for hashable keys by @Tishj in
#12734
* [Dev] Change internals of StringUtil::GenerateRandomName by @Tishj in #
12806
* [CSV] Adaptive Sniffer by @pdet in #12698
* Fix LinuxRelease.yml after bump to Node 20 by @carlopi in #12850
* Fix: Reduce repeated judgment in ties[i]. by @Light-City in #12840
* add html_escape and html_unescape functions in inet extension by @chrisiou
in #11191
* Fix union struct implict cast by @Maxxen in #12847
* Update httplib from v0.10.2 to v0.14.3 by @lnkuiper in #12849
* Fix an issue where parameters would be promoted to NULL, incorrectly
causing PREPARE to fail by @Mytherin in #12844
* More expected error messages added by @hmeriann in #12846
* Overload MIN/MAX/MAX_BY/MIN_BY to return the "top" N values by \
@Maxxen in #
12834
* Fix #12789: list_zip support array by @flashmouse in #12859
* [Python] Fix missing ConnectionException errors by @Tishj in #12864
* Make equi_width_binning buckets even nicer by @Mytherin in #12878
* Add a JSON pretty print function by @PhictionalOne in #12398
* Add Metrics Support in the CAPI by @maiadegraaf in #12498
* Update issue template by @szarnyasg in #12880
* Fix regression in Parquet reader TryOpenNextFile by @lnkuiper in #12848
* Improve performance of memory usage counters by @yiyuanliu in #12751
* [Fix] No String Inline / Destroy Unpinned Blocks nightly run by
@taniabogatsch in #12884
* Fix LinuxRelease.yml CI by avoiding upload by @carlopi in #12891
* Do not depend on manylinux extension in Python's CI by @carlopi in #12895
* [Dev] Fix failing test in test_relation_api.cpp by @Tishj in #12894
* [Dev] Skip test_run_pandas_with_tz on pandas <2.0.0 by @Tishj in #12896
* Fix #12688: Julia SubString handling by @dhanak in #12899
* [Python-Dev] Add DependencyException, throw earlier if PendingQuery fails
by @Tishj in #12888
* [Fix] Mixing block sizes and compression functions by @taniabogatsch in #
12858
* Fix issue with list radix serialization by @lnkuiper in #12887
* Respect limit during join order by @Tmonster in #12851
* [CHORE]: Fix minor SQL test case by @Tmonster in #12909
* Fixes for duckdb_constraints and information_schema constraint tables by
@Mytherin in #12914
* [Postgres Compatiblity] Support => to supply named parameters to functions
by @Tishj in #12913
* Pushdown table filters into probe based on min/max data found during hash
build of hash joins by @Mytherin in #12908
* Count nulls when detecting JSON structure by @lnkuiper in #12883
* Fix #12870 - improve error message when encountering schema mismatches in
COPY tbl FROM file.parquet by @Mytherin in #12918
* Use different versions of snappy depending on the compiler by @lnkuiper in
#12889
* Fix Issues with type detection for Doubles/Floats/Decimals by @pdet in #
12866
* Pass 'Unsecure_node_version' to allow node16 for a bit longer by @carlopi
in #12922
* Minor refactor for window_executor by @ZhangHuiGui in #12924
* ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION:false for Android and Nightly by
@carlopi in #12930
* [Fix] Vector verification for dictionary expressions by @taniabogatsch in #
12890
* Return smaller cardinality for Top N operator by @jeewonhh in #12932
* Make GCC Happy Again by @carlopi in #12937
* [Fix] More robust parquet metadata test by @taniabogatsch in #12935
* Rework table filters, and for each row group only execute table filters if
they can actually filter out any rows by @Mytherin in #12938
* Issue #12941: Window Constant Results by @hawkfish in #12943
* Expected errors 2053 by @hmeriann in #12927
* Make ErrorData::Message() and ErrorData::RawMessage() const by @Flogex in #
12885
* Feature #1272: Window Parallel Sink by @hawkfish in #12907
* [Arrow] Add PhysicalArrowBatchCollector, a batched result collector for the
ArrowQueryResult by @Tishj in #12787
* [Python] Rework internals of object registration by @Tishj in #12625
* [StreamQueryResult] Add ExecuteTask method to StreamQueryResult by @Tishj
in #12824
* Fix several CTE related issues by @kryonix in #12948
* Label mark joins with convert to semi by @Tmonster in #12916
* [Julia]: Added FixedDecimal support to Appender API by @curtd in #12923
* Pushdown dynamically generated filters into MultiFileList, allowing
partitions to be pruned by @Mytherin in #12955
* Automatically materialize CTEs by @lnkuiper in #12290
* Move checkpointing parallelism into TaskExecutor class, use that class for
parallel union_by_name by @Mytherin in #12957
* [Dev] Uncouple HTTPState from core by @Tishj in #12912
* [Dev] Clean up TreeRenderer code by @Tishj in #12716
* Swap build side and probe side base on cardinality AND width of build side.
by @Tmonster in #12755
* [Python] Use Set instead of List for the get_table_names stubs by @Tishj in
#12963
* Feature #1272: Window Validity Array by @hawkfish in #12954
* [CSV Reader] Make glob reading more permissive to errors if ignore_errors
is set by @pdet in #12966
* [Python] Convert ENUM to np.array instead of pd.Categorical for fetchnumpy
by @Tishj in #12964
* Several hive partitioning fixes by @Mytherin in #12970
* fix incorrect int32 appender by @piever in #12956
* Add missing TransformCTE extraction to TransformRecursiveCTE by @kryonix in
#12968
* Expected errors 2053 by @hmeriann in #12969
* Add Pyodide 0.26.1 (corresponding to Python 3.12) by @carlopi in #12965
* Avoid adding a suffix to Parquet files when doing a partitioned write by
@Mytherin in #12972
* URL Encode/Decode Hive Partitioning Columns/Filters + add url_encode/
url_decode scalar functions by @Mytherin in #12974
* Fix JSON extension Cmake by @carlopi in #12975
* Clarify when it's necessary to refresh data and validity pointers by
@Giorgi in #12973
* Added new information_schema views - closes #4343 by @prmoore77 in #12942
* Use jaro winkler similarity for finding similar entries in catalog by
@Mytherin in #12980
* Internal #2503: Streaming Window Reset by @hawkfish in #12984
* Fix #12933: maintain insertion order in window when the window clause is
empty (i.e. over ()) by @Mytherin in #12982
* Feature #1272: Window Constant Sink by @hawkfish in #12979
* Remove special case for '+' in URLs in httplib by @lnkuiper in #12929
* Rebind prepared statements based on catalog versions by @ywelsch in #12829
* Allow string stats larger than our default for parquet row group pruning by
@lnkuiper in #12928
* Add work-around for R client table function initialization back in under a
config setting by @Mytherin in #12990
* [Dev] Add getters/setters for the 'column_ids' of a LogicalGet by @Tishj in
#12971
* Accelerate Parquet en/decryption with HTTPFS extension by @ccfelius in #
11720
* remove deprecated CDN invalidations by @samansmink in #12997
* add large ingestions by @hmeriann in #12949
* Fix shared_ptr issues in RowGroup and add locks to WAL initialization by
@Mytherin in #13000
* Add the ANY type and special null handling to the C API by @taniabogatsch
in #12785
* Improve error messages in the presence of subqueries by @Mytherin in #13001
* Case-insensitive NULL casting in VARCHAR -> STRUCT casts by @lnkuiper in #
13003
* TemporaryMemoryManager improvements by @lnkuiper in #12931
* Make sure that empty and only white space headers have same treatment by
@pdet in #12994
* Push timestamp_tz to do direct casting if ICU is not loaded by @pdet in #
12993
* [Dev] Add query to QueryRelation for logging by @Tishj in #13004
* [Spark API] Fix group by compatibility issues by @Tishj in #13005
* [CSV] Progress Bar for compressed files. by @pdet in #12728
* Disable fixed size map in PartitionedTupleData by @Mytherin in #13013
* Fix parallel creation and destruction of instances through the
DBInstanceCache by @Mytherin in #13010
* Avoid generating join filters for interval columns by @Mytherin in #13014
* Extend least/greatest to support all types, and always return the same type
as its input types by @Mytherin in #13019
* Add sha1(varchar) -> varchar scalar function by @bradlarsen in #13020
* Decimal to FloatingPoint: Avoid losing precision by splitting operation in
two, more fixes and tests by @carlopi in #12627
* Feature #1272: Segment Tree Finalize by @hawkfish in #13002
* Create Delimiter Join and Delimiter Get via Relations by @pdet in #12953
* Fix CTE/noalternativeverify issues by @lnkuiper in #13024
* Fix bug in reworked fixed_size_map_t by @lnkuiper in #13023
* Fix abs for floating point negative zero by @Mytherin in #13025
* [Nightly-Bug] [CSV Reader] Use strings on header detection by @pdet in #
13028
* Release GIL during DB instantiation by @ywelsch in #13029
* GCC 4.8: add noexpr to 2 constructors by @carlopi in #13030
* Fixes for LogicalType::ANY and fixed_size_map by @Mytherin in #13035
* [Nightly] Fix for arrow appending fixed size lists by @pdet in #13039
* fix storing persistent secrets in home dir by @samansmink in #13033
* Internal #2534: IGNORE NULLS Threading by @hawkfish in #13050
* [Julia] Only commit transaction on non-error (compat) by
@genericallyterrible in #13049
* Improve EXPLAIN output of Delim Joins and Delim Gets by @kryonix in #12995
* Make client reuse threadsafe by @samansmink in #13052
* Only remove the first occurrence of extension prefix by @jeewonhh in #13057
* Fix incorrect overflow in left shift of unsigned number by @Mytherin in #
13056
* Add tests for sha1 function by @bradlarsen in #13064
* [Relation] ViewRelation could be created without an alias by @Tishj in #
13054
* Support IN operator for LIST by @Tishj in #12920
* [Python] Read from file-like objects with read_json by @Tishj in #13040
* [Python] Fix lifetime issue with MaterializedRelation by @Tishj in #12998
* PySpark sort by columns and DataFrame.getitem by @khalidmammadov in #12981
* Fix trouble to compile with MSVC by @annnei in #12579
* Create a dedicated RegisteredStateManager that manages client context
states in a thread-safe manner by @Mytherin in #13027
* DEBUG_STACKTRACE should not be enabled for release builds by @Mytherin in #
13070
* Add blob overloads to crypto functions, and turn md5_number_lower and
md5_number_upper into macros by @Mytherin in #13068
* Internal #2534: IGNORE NULLS Threading by @hawkfish in #13065
* Variable Integer Size Type by @pdet in #13015
* Simplify binding of CALL statement by @Mytherin in #13074
* Fix #13045: flatten in list_inner_product by @Mytherin in #13076
* Fix for unpivot on zero columns by @Mytherin in #13073
* Add support for overloading to macros by @Mytherin in #13062
* Internal #2534: Windowed FILTER Threading by @hawkfish in #13086
* Fixup #12579, remove pessimizing std::move by @carlopi in #13089
* [CSV Reader] Fix when reading overbuffer values of csv files with extra
delimiter by @pdet in #13081
* Making error messages more clear for new line delimiter errors by @pdet in
#13082
* [CSV Sniffer] Sniffer can now sniff files with extra delimiters by @pdet in
#13083
* Remove test in Pyodide due to weird pandas interactions by @carlopi in #
13091
* Add support for SQL-level variables by @Mytherin in #13084
* Fix wasm CI and add missing template argument by @carlopi in #13094
* Some clang tidy fixes around narrowing casts by @carlopi in #13105
* chore: PushdownAggregate fast path by @lichuang in #13098
*
+ fix list_distance & list_cosine_similarity execute fail when list i??
by @flashmouse in #13090
* [Explain] Add EXPLAIN (FORMAT JSON) syntax by @Tishj in #12967
* Expected errors 2053 by @hmeriann in #13107
* [Bug] Enum types not being found if created in a schema by @pdet in #13106
* Parquet reader can now read files with duplicate column names by @hannes in
#13111
* Prefer aliases over column-value functions in GROUP BY, and prefer error
message when alias is used in an expression by @Mytherin in #13118
* Disallowing DISTINCT, FILTER and ORDER BY for UNNEST by @hannes in #13110
* Feature #1272: Windowed DISTINCT Sink by @hawkfish in #13093
* adjust list value logic execute seq by @flashmouse in #13114
* add CORE_EXTENSIONS build flag by @samansmink in #13116
* [Python] Add missing options for read_csv by @Tishj in #12872
* Fix merge conflict by @Mytherin in #13126
* Retry on HTTP failure in extension install by @Mytherin in #13122
* Clean up ChunkInfo when cleaning up a transaction by @Mytherin in #13125
* typo: conjuction -> conjunction by @qsliu2017 in #13127
* Add duckdb_result_error_type that returns the exception type of the error
by @Mytherin in #13131
* Keep track of user-provided configuration options, and compare them as well
for database instance caching purposes by @Mytherin in #13129
* Disable sniff_csv when enable_external_access is not set by @hannes in #
13133
* Internal #2577: Window Atomic Finalize by @hawkfish in #13117
* Internal #2577: Window Tree Allocation by @hawkfish in #13119
* Fix optimizer error when dealing with IN with a single NULL parameter by
@Mytherin in #13139
* Internal #2597: Ragged Validity Array by @hawkfish in #13137
* Create file with O_EXCL flag set. by @mkaruza in #13123
* better CE for comparisons that use =, !=, <, <=, >, >=. by \
@Tmonster in #
13130
* Use Slurm env vars to manage cpu and memory allocation if run inside Slurm
HPC job by @dirkpetersen in #12978
* Fix CTEFilterPusher optimization by @kryonix in #13142
* Test with recent threadsanitizer by @carlopi in #13124
* Fixes for RegexFindAll function errors and multibyte character support by
@chrisiou in #13108
* clang-tidy: rework Makefile and CI by @carlopi in #13101
* Extension updates to also be logged via enable_http_logging by @carlopi in
#13087
* Hooks now get an error to indicate transaction/query success. by
@NiclasHaderer in #13136
* Use alias bind path in ORDER BY when running COLLATE by @Mytherin in #13140
* Implementation of recursive JSONPath expressions by @robert-s01 in #12991
* Adding option to disable materialized cte optimization by @pdet in #13146
* [Python] Fix issue with native UDFs returning STRUCT items by @Tishj in #
13147
* CGroups: fix compilation due to UB cast by @carlopi in #13151
* test_expression.py: Skip throw related test on Windows by @carlopi in #
13157
* Replaced while loop with if statement by @NiclasHaderer in #13161
* ThreadSanitizer: Avoid spurious data race in
InsertMatchesAndIncrementMisses by @carlopi in #13179
* Add 'bugprone-narrowing-conversions' clang-tidy check by @carlopi in #13180
* [C API] Return duckdb_value in duckdb_profiling_info_get_value by
@taniabogatsch in #13160
* Fix #13120: implement StructFilter::ToExpression by @Mytherin in #13182
* Feature #1272: Windowed DISTINCT Sort by @hawkfish in #13150
* Add native list_has_any implementation by @Maxxen in #13163
* Add pragma extension versions by @samansmink in #13063
* [C API] Add duckdb_scalar_function_set_volatile that allows changing
FunctionStability of a scalar function by @Mytherin in #13186
* [CSV Sniffer] Give preference to configurations that ignore the least
amount of lines by @pdet in #13188
* Fix #13017 - if grabbing the lock fails due to it not being supported,
allow this in read-only mode by @Mytherin in #13189
* Add test_collate_pivot: used to fail in 1.0.0, add to avoid regressions by
@carlopi in #13190
* Add catalog_error_max_schemas setting that toggles how many schemas we look
at for "did you mean..." style error messages by @Mytherin in #13191
* Fix build error when compiling with -DDISABLE_EXTENSION_LOAD=1 by
@whatsthecraic in #13194
* Add clang-tidy-diff script, and invoke it on PRs by @carlopi in #13158
* [Explain (mostly internal only)] Change the way key-value pairs of
information are stored for RenderTreeNodes by @Tishj in #13109
* Fixup invocation of clang-tidy by @carlopi in #13216
* [Julia] fix Vector and DataChunk all_valid() checks by @aplavin in #13210
* Fix broken explain (format json) test by @Mytherin in #13218
* Linux 32: avoid packaging Jemalloc, due to regression by @carlopi in #13156
* feat(c): create value support by @Mytherin in #13203
* feat(c): create value support by @Mause in #12140
* fix: 13077: use tmp file for secret writes by @devanbenz in #13170
* Filter paths before scripts/clang-tidy-diff.py by @carlopi in #13220
* [CSV Reader/Progress Bar] Fixes by @pdet in #13207
* Use poll in httplib by @Mytherin in #13223
* Fix several fuzzer issues by @Mytherin in #13240
* Fix #13238 - cannot return constant vector for volatile functions with more
than one row as input by @Mytherin in #13241
* Rename FORCE_CHECKPOINT to ALWAYS_CHECKPOINT by @Mytherin in #13242
* C API test fix - correctly use length also in non-inlined case by @Mytherin
in #13243
* Rollback optimistic writers when all rows we have inserted are deleted by
@Mytherin in #13236
* Add serialization support and fix ToString of ChangeOwnershipInfo by
@Mytherin in #13233
* Fix #13200: Transactions that update tables need to keep the underlying row
group collection alive to ensure we can safely clean-up by @Mytherin in #
13230
* [CSV Reader] Comment Option by @pdet in #13162
* Fix foreign key lookups from different search path by @ywelsch in #13256
* Add aggregate function support to the C API by @Mytherin in #13229
* Feature #1272: Window Task Blocking by @hawkfish in #13249
* Implement #4318: add overload for pg_get_constraintdef by @Mytherin in #
13258
* Several fuzzer fixes by @Mytherin in #13261
* Correctly add profiling information from finalize events to operator
timings in EXPLAIN ANALYZE by @Mytherin in #13260
* Issue #13250: Zero Time Buckets by @hawkfish in #13271
* Add delta to CI by @samansmink in #13219
* Remove outadated test that fails somehow randomly and doesn't add much by
@carlopi in #13276
* Fix casts logic by @carlopi in #13275
* Executor profiler fix by @Mytherin in #13282
* Avoid clang-tidy-diff to check Python sources or extension folder by
@carlopi in #13279
* Enable yacc stack growing by @Mytherin in #13280
* Fix #13272: correctly read signed integer stats for TIMETZ by @Mytherin in
#13283
* [Upsert] Fix crash caused by scanning an empty LocalTableStorage by @Tishj
in #13281
* Internal #2681: IEJoin Progress by @hawkfish in #13284
* Move to latest duckdb-wasm (fixing COI compilation) by @carlopi in #13257
* [DEV] CSV Tests Refactor and Sniffer decoupled of the vector size by @pdet
in #13231
* [TemporaryFileManager] Fix bug causing sizes of .block files to not be
counted towards max_temp_directory_size by @Tishj in #13278
* [CSV Reader] Properly cleanup invalid rows by @pdet in #13262
* Disable website docs CI run by @Mytherin in #13288
* Window Task Scheduling: avoid blocking tasks during GETDATA by @Mytherin in
#13290
* Fix #12582: correctly deal with empty grouping sets mixed with non-empty
ones in lateral joins/correlated subqueries by @Mytherin in #13291
* Reduce memory usage of test by @Mytherin in #13292
* Move back from handrolled checkout to GH action + skip some verification in
memory-intensive tests in CI by @carlopi in #13296
* C API extensions by @samansmink in #12682
* Secret settings cascade by @samansmink in #13167
* Fix CMake for when folders are not git folders via git rev-parse
--is-inside-work-tree by @carlopi in #13315
* [Dev] Fix breakage caused by adjusting duckdb.h directly by @Tishj in #
13321
* CAPI extensions: Fixup list of exported functions for wasm by @carlopi in #
13320
* [Python Dev] Make cursor creation threadsafe, perform compaction on the
internal vector by @Tishj in #13319
* [Dev] Make (previously implicit) assertion explicit for
DuckTransactionManager by @Tishj in #13307
* [PySpark] Fix filter type checking and isin column expression return type
by @khalidmammadov in #13294
* Fix clang-format version in CONTRIBUTING.md by @JelteF in #13324
* Expected errors 2053 by @hmeriann in #13322
* Fix #13237: fix .mode insert float column output by @flashmouse in #13308
* Add CUMULATIVE_CARDINALITY metric by @maiadegraaf in #13234
* Fuzzer #3113: Lead Lag Shift by @hawkfish in #13330
* Implemented list_extract with VectorOperations::Copy by @Maxxen in #13313
* Issue template: Fix Arrow extension link by @szarnyasg in #13333
* NO_PARTITION_COLUMNS option to skip partition writes for Parquet copy by
@ykskb in #12886
* Format Python README by @szarnyasg in #13340
* Bug/Regression fixes by @lnkuiper in #13317
* Enable unnesting lists of arrays by @Maxxen in #13342
* Limit relation has wrong relation type by @pdet in #13343
* [Dev] Remove redundant variable from SQLStatement by @Tishj in #13341
* Internal #2722: Partition State Threading by @hawkfish in #13350
* Adding hyperbolic trigonometric functions by @nickgerrets in #13346
* CSV Sniffer - Error Messages by @pdet in #13355
* Fix a typo by @SYaoJun in #13360
* Add PySpark head, take and first functions by @khalidmammadov in #13349
* [Explain] Add the GRAPHVIZ format for EXPLAIN statements by @Tishj in #
13201
* Time cast: Have same behavior as Postgres by @pdet in #13267
* Fix reordering semi joins by @Tmonster in #13335
* Fix appian join tests by @Tmonster in #13356
* remove sqlsmith patch by @Tmonster in #13334
* Support Json Types in CSV Reader by @pdet in #13359
* [CSV Sniffer] Date/Timestamp Sniffing adjustment by @pdet in #13168
* WAL: Write pointers to optimistically written row groups directly, instead
of copying over the data by @Mytherin in #13372
* [Metrics] Add CUMULATIVE_ROWS_SCANNED and OPERATOR_ROWS_SCANNED by
@maiadegraaf in #13354
* [Transformer] Fix loss of named parameter data in recursive
TransformStatement calls by @Tishj in #13344
* Feature #1272: Window Distinct Merging by @hawkfish in #13329
* Refine heuristic for flipping join sides by @lnkuiper in #13399
* Update jemalloc and re-enable opt.retain by @lnkuiper in #13370
* Add native list_has_all implementation by @Maxxen in #13401
* Feature #1272: Window Distinct Indices by @hawkfish in #13394
* [Arrow] Support consuming an "arrow_array_stream" PyCapsule by \
@Tishj in #
13386
* Sample at least one value for the hyperloglog by @Tmonster in #13383
* Fix issues with JSON map inference by @lnkuiper in #13387
* Compressed materialization for joins by @lnkuiper in #13402
* Python installation: Recommend using pip by @szarnyasg in #13357
* [Python UDF] Filter NULL values before calling the user defined function by
@Tishj in #13358
* Add support for scalar function overloads to the C API by @Mytherin in #
13409
* Fix unused variable, resolve warning turned error in the amalgamation CI by
@carlopi in #13408
* Add support for aggregate function overloads to the C API by @Mytherin in #
13410
* Fix lossy double cast issue by @lnkuiper in #13411
* Buffer manager: set handle readers after I/O so that any I/O exceptions
don't leave the readers with an invalid value by @Mytherin in #13417
* fix undefined symbol in httpfs for python by @cyberjunk in #13420
* Fix dsdgen args by @Tmonster in #13421
* [Arrow] Support producing an "arrow_array_stream" PyCapsule by \
@Tishj in #
13418
* Disable jemalloc on 32bit through cmake, not through a CI script by
@lnkuiper in #13433
* allow changing the default persistent secret storage after initialization
by @samansmink in #13434
* Fixing hugeint cast to varint by @pdet in #13268
* [Explain] Add the HTML format for EXPLAIN statements by @Tishj in #13202
* fix for the issue 2698 by @hmeriann in #13440
* Avoid rounding errors and simplify memory assignments in
TemporaryMemoryManager by @lnkuiper in #13439
* Pull up filters from and through explicit joins by @lnkuiper in #13431
* [Metadata] Populate the expressions column of duckdb_indexes by @Tishj in #
13415
* Use LossyNumericCast while reading memory limits by @carlopi in #13450
* Label timestampTZ to timestamp cast as not revertible by @Tmonster in #
13206
* Prevent the query thread from picking up query unrelated tasks if compiled
with DUCKDB_NO_THREADS by @NiclasHaderer in #13326
* [Dev] Skip test on lower pyarrow versions by @Tishj in #13463
* Add TPCDS sf-100 benchmarks by @hmeriann in #13205
* [Python] Let create_function cancel an open transaction instead of failing
by @Tishj in #13462
* [Dev] Mention non-unique indexes in UPSERT DO UPDATE SET error by @Tishj in
#13465
* Issue #13380: IN Invertible Casts by @hawkfish in #13441
* Compilation Fixes for GCC 4.8 by @hannes in #13474
* [Dev] Make Binder::Binder a private constructor by @Tishj in #13475
* [Arrow] Accept objects that provide the __arrow_c_stream__ producer method
by @Tishj in #13425
* [Lambdas] Support N-ary lambdas in the list comprehension syntax by @Tishj
in #13389
* [METRICS] Add blocked_thread_time Metric by @maiadegraaf in #13430
* Add ifdef to allow generating code with newer versions of Bison by
@Mytherin in #13477
* Clean up rendered text trees by @Mytherin in #13476
* Make CMake target exports relocatable by @cryos in #13312
* Disable delta extension on windows for now by @Mytherin in #13485
* Regression runner - don't fail on HTTP error by @Mytherin in #13486
* ExecutorTask: flush before finalizing task by @Mytherin in #13482
* [Metrics] Rework Optimizer Metrics by @maiadegraaf in #13480
* Support collations in ordered aggregates by @Mytherin in #13491
* ci: minor optional cleanup for cibuildwheel config by @henryiii in #13496
* chore: remove wheel dependency by @henryiii in #13495
* Prefer depth-first plan evaluation for unions and joins by @lnkuiper in #
13447
* Fix #13472: get correct WAL location for windows long paths by @Mytherin in
#13487
* Make error message more explicit for when trying to parse SQL types. by
@pdet in #13376
* [Arrow] Add UUID and JSON extension types by @pdet in #13446
* Apply extension patches via 'patch' instead of 'git apply' by @carlopi in #
13488
* Feature #1272: Window Distinct Tree by @hawkfish in #13503
* Scalar macro default params by @Alex-Monahan in #13494
* Add Varint to AllTypes() by @pdet in #13388
* [ADBC] Support creation and ingestion into temporary tables. by @pdet in #
13426
* Add support for registering custom casts (and types) through c api by
@Maxxen in #13499
* Bump sqlite & mysql by @carlopi in #13515
* Switch floating point division and modulo to use IEEE semantics for
division by zero by default, and add ieee_floating_point_ops setting that
can be used to revert back to old behavior by @Mytherin in #13493
* [C API] Get all metrics by @taniabogatsch in #13497
* Tuning ART indexes for duplicate values by @taniabogatsch in #13373
* Feature #1272: Windowed Quantile Tree by @hawkfish in #13516
* [Auto Loading] Autoload extension settings by @Tishj in #12790
* JSON bugfixes and new functions by @lnkuiper in #13481
* Make changes to relation.hpp backward compatible with older API via default
parameters by @carlopi in #13522
* Preserve cardinality information by @jeewonhh in #13517
* Return an error when multiple rows are returned from a scalar subquery by
@Mytherin in #13514
* When referencing optimistically-written blocks in the WAL, we need to fsync
the main database file before writing the WAL to ensure all changes have
made it to disk by @Mytherin in #13526
* Remove assertion in compressed file system by @Maxxen in #13531
* Skip empty files in single-threaded CSV reader by @pdet in #13528
* Disallow ordering by non-integer literal by default - and add the setting
order_by_non_integer_literal to revert to the previous behavior by
@Mytherin in #13532
* Produce an empty list result for enum_range(NULL::enum_type) by @pdet in #
13530
* [CSV Reader] Fix for invalid unicode in header by @pdet in #13518
* Issue #13525: Window Local States by @hawkfish in #13538
* Linux32 also to regular ci by @carlopi in #13547
* Feature #1272: Windowed Distinct Tree by @hawkfish in #13527
* Bump GitHub workflows to their latest versions by @deining in #13393
* Add map_contains, map_contains_entry and map_contains_value functions,
list_position now returns null. by @Maxxen in #13406
* Numeric casts: forbid NumericCasts for float/double, add Lossy and Exact
equivalent to make syntax explicit by @carlopi in #13546
* Fix clang-tidy on insertion_order_preserving_map.hpp: Alter order of
statements by @carlopi in #13556
* Add http proxy by @samansmink in #13368
* move the inet extension out-of-tree by @chrisiou in #13085
* Fix compilation: install extension needs an instance now by @Mytherin in #
13565
* Initialize (potentially) empty buffer by @lnkuiper in #13564
* HTTP glob test fix by @Mytherin in #13563
* Remove patches (vss and substrait), bump other repositories by @carlopi in
#13551
* Disable dynamic filter pushdown for right semi joins by @Mytherin in #13562
* postgres_scanner: bump & remove patches by @carlopi in #13567
* Optimistic write to WAL: cannot write block pointers if we have in-memory
updates to transaction local storage by @Mytherin in #13577
* Add all CAPI functions to extension api for now by @samansmink in #13568
* Minor fixes for DuckDB-Wasm by @carlopi in #13566
* Fix for vector size 2 tests by @Mytherin in #13569
* [CSV Sniffer] Date Adjustment by @pdet in #13573
* Fix issues found by alternative verify by @Mytherin in #13578
* Set version info for duckdb.dll by @Giorgi in #13557
* Update storage info by @szarnyasg in #13483
* Constrain size of estimated cardinality returned when operator is not
initialized by @Mytherin in #13574
* Unify task (un)blocking in physical operators by @lnkuiper in #13559
* [CSV Reader] Fix lock issue on Global CSV Reader by @pdet in #13560
* TIMETZ group by: collations now no longer always return VARCHAR by
@Mytherin in #13571
* Internal #2850: Window Local States by @hawkfish in #13581
* Two steps upload action by @carlopi in #13582
* Use new HLL implementation in DistinctStatistics by @lnkuiper in #13489
* Remove inet from extension update test by @Mytherin in #13589
* [METRICS] Small fixes by @maiadegraaf in #13575
* Fix #13537: correctly maintain parameter count when rebinding a prepared
statement by @Mytherin in #13583
* Various nightly test fixes by @Mytherin in #13584
* IE Join: turn these into atomics to prevent tsan from tripping up in
GetProgress by @Mytherin in #13586
* Fix HTTPFS tests by @Mytherin in #13588
* [PyArrow] Fix issue with passing timestamp types to filters by @pdet in #
13593
* Fuzzer fixes by @Tmonster in #13596
* Automatically call malloc_trim to reduce unused outstanding allocations by
@lnkuiper in #13590
* Fix for joins and FSST on 32-bit configurations by @Mytherin in #13594
* Casting to Bit is no longer Invertible by @Tmonster in #13595
* Switch in-tree DuckDB extension to use DuckDB's semver tag by @samansmink
in #13591
* List has bind fix by @Maxxen in #13600
* Do not include version.rc file on MINGW by @Giorgi in #13601
* [Python RelAPI] Throw an error if trying to use a invalid argument in
read_csv by @pdet in #13597
* More nightly test fixes by @Mytherin in #13605
* Optimistic write to WAL: we cannot optimistically write block pointers if
there are indexes by @Mytherin in #13610
* Block verification run and FixedSizeBuffer fix by @taniabogatsch in #13607
* [Test] Tighter ART storage regression boundaries by @taniabogatsch in #
13612
* Disable JEMALLOC_HAVE_MADVISE_HUGE in jemalloc by @lnkuiper in #13608
* Avoid adding buffers that will be destroyed to the eviction queue by
@lnkuiper in #13606
* Track overflow strings in PartialBlockManager during optimistic write by
@Mytherin in #13618
* [Fix] Avoid index deletion after catalog exception by @taniabogatsch in #
13627
|
Log message:
databases/duckdb: Update to 1.0.0
Changelog:
DuckDB 1.0.0 "Nivis"
What's Changed
* Fix move constants optimization by @gitccl in #12189
* FALLOC_FL_PUNCH_HOLE requires GLIBC 2.18 or above - check for this using an
#ifdef by @Mytherin in #12193
* Fix cmake install for shared_ptr headers by @carlopi in #12194
* Fix minor warnings by @carlopi in #12195
* Install .ipp files in addition to the usual .hpp files by @smonkewitz in #
12198
* Set a default value to the connection param in stubs by @tm-drtina in #
12207
* Fix #12190: add SYSTEM to set of reserved database names by @Mytherin in #
12206
* Add enable_view_dependencies which defaults to false by @Tishj in #12209
* [Python] Fix replacement scans incorrectly finding duckdb connection method
objects by @Tishj in #12208
* [CI] Diff against the right remote + branch in Regressions.yml - Regression
Test new micro benchmark by @Tishj in #12106
* [Python] Fix bug where enable_external_access was not being respected by
the replacement scan by @Tishj in #12224
* Remove outdated CI for extensions, check duckdb/extension-ci-tools by
@carlopi in #12229
* Python: Avoid packaging for both 3.7 on OSX and MacOS 11 by @carlopi in #
12236
* Issue #12215: AsOf Predicate Pushdown by @hawkfish in #12238
* [DependencyManager] Don't block ADD COLUMN statements if there are
dependencies. by @Tishj in #12226
* [Python] Add check for 'params' to table_function by @Tishj in #12233
* Extension installing/updateing fixes by @samansmink in #12221
* Move excel extension out of tree by @carlopi in #12123
* Fix #12225: revert OVERWRITE_OR_IGNORE to previous behavior, move new
behavior to OVERWRITE flag by @Mytherin in #12240
* Fix warning on unannotated fallthrough by @carlopi in #12244
* Fixup staged uploads /3 by @carlopi in #12245
* [Python] fix build when BUILD_HTTPFS set by @paparodeo in #12223
* Use --always option of git describe for extension tags. by @carlopi in #
12253
* [Docs] Fix up examples/python/duckdb-python.py by @Tishj in #12255
* [Fix] Skip lazy WAL creation test for alternative verification by
@taniabogatsch in #12258
* add missing virtual destructor by @samansmink in #12266
* Add storage callbacks for checkpoint start and end by @bleskes in #12260
* Do not prefix error messages with an unknown type by @bleskes in #12265
* Fix minor duckdb_extensions table function bug by @samansmink in #12269
* C API: Adding deprecation and move notices to duckdb.h and a test case by
@hannes in #12259
* Issue #12252: APPROX_QUANTILE Array Argument by @hawkfish in #12271
* Turn InternalException into NotImplementedException in COPY FROM DATABASE
by @Mytherin in #12264
* Add descriptions for vss and delta extensions by @carlopi in #12267
* [C-API] Properly handle exceptions caused by name collisions in
duckdb_register_table_function by @Tishj in #12257
* Fix for multifilereader extra_columns feature by @samansmink in #12281
* Add enable_macro_dependencies which defaults to false by @Mytherin in #
12291
v0.10.3 Bugfix Release
Highlights
Even though this is "only" a bug fix release, there have been some \
major areas
of work that warrant a separate mention:
* We have added a feature to update extensions using the UPDATE EXTENSIONS
syntax #11677
* There have been some serious internal improvements around checkpointing,
most notably, checkpoints can run while other connections are reading, and
no longer block new connections while checkpointing #11918. Also, FORCE
CHECKPOINT no longer actively cancels transactions, it now waits until it
can checkpoint #12061
* DuckDB now has native support to load data from HuggingFace using the hf://
prefix #11831
* We have slightly changed NULL casting behaviour with the MAP type #11745
* The Java JDBC driver has been moved to its own repo: https://github.com/
duckdb/duckdb-java #11873
* DuckDB now cleanly compiles with -Wconversion and all conversions are
actually being checked #11716, #11673
What's Changed
* Add setting to control the maximum swap space by @Tishj in #10978
* [Python][Dev] Dynamically generate the Connection wrapper methods by @Tishj
in #11202
* Fixes duckdb wasm by @carlopi in #11688
* Checked conversions between signed and unsigned integers by @hannes in #
11673
* Bump Julia to v0.10.2 by @Mytherin in #11700
* Minor improvements to sql_reduce script by @Mytherin in #11701
* Properly avoid build-time dependency on Python by @carlopi in #11713
* Test dockerized compilation in Alpine:latest and Ubuntu:20.04 by @carlopi
in #11708
* [COPY CSV] Enable TIMESTAMP_TZ formats by @Tishj in #11711
* Full conversion warnings / checks by @hannes in #11716
* [Safety] Add safety checks to shared_ptr access by @Tishj in #11696
* Remove bound_defaults from BoundCreateTableInfo by @Mytherin in #11721
* Improve mkdir error reporting by @Mytherin in #11723
* [Dev] Fix failing CI in Python SQLLogicTest Runner by @Tishj in #11724
* More docker tests, fix compilation up to C++23 standard by @carlopi in #
11725
* Upload staging: from 'git describe --tags' to 'git log -1' by @carlopi in #
11715
* Internal #1848: Window Progress by @hawkfish in #11702
* Remove BoundConstraint from the TableCatalogEntry by @Mytherin in #11735
* Implicit Cast for any Date/Timestamp by @pdet in #11733
* feat: rewrite which_secret() into a table function by @stephaniewang526 in
#11726
* [Map] Rework MAP creation method behavior when input is NULL by @Tishj in #
11730
* [Dev] Always use SQLStatement->Copy() when ALTERNATIVE_VERIFY is defined by
@Tishj in #11732
* Reconstruct Error Messages for Flush Cast by @pdet in #11736
* Getting Rid of Value.TryCast in the CSV Sniffer by @pdet in #11717
* Fix Join order optimizer so that plan generation is always via the most
current entry in the DP table. by @Tmonster in #11719
* fix(py): support DuckDBPyType#children for array and enum by @Mause in #
11754
* Consider not null values when doing export database by @pdet in #11679
* Add missing space in error message by @szarnyasg in #11759
* Allow to build python packages without c++ sources by @carlopi in #11758
* No Mark to Semi join conversion in statistics propagation by @Tmonster in #
11596
* Hive partitioned write: lazy partitioning initialization by @Mytherin in #
11765
* Hive partitioning: avoid calling CreateDirectories for every flush, instead
create the directory for a partition only when that partition is
instantiated by @Mytherin in #11777
* [Parquet] Support reading the non-standard NULL ConvertedType by @Tishj in
#11774
* Only store CSV Errors if we are doing rejects table, otherwise just ignore
it. by @pdet in #11763
* CI: Add job for 'expected behavior' label by @szarnyasg in #11784
* Move recursive_query_csv.test to slow test by @pdet in #11770
* [StatementVerifier] Fix up issues in ToString implementations of classes
derived from SQLStatement by @Tishj in #11625
* Hive partitioning: make OVERWRITE_OR_IGNORE remove files on local file
systems by @Mytherin in #11787
* [ODBC] Add ODBC Test for Database Reconnection and Data Persistence by
@maiadegraaf in #11783
* Correctly parse dollar-quoted strings in sqlite3_complete and linenoise by
@Mytherin in #11789
* Add a configurable compression_level parameter to the parquet writer by
@Mytherin in #11791
* Close file after file lock failure by @awitten1 in #11795
* Python: Add missing options to write_parquet by @jzavala-gonzalez in #11790
* [PythonDev] Fix up failing tests in CI by @Tishj in #11801
* Fix static bitpacking_width_t FindMinimumBitWidth(T *values, idx_t count)
in class BitpackingPrimitives by @Lloyd-Pottiger in #11757
* Add note on CMAKE_BUILD_PARALLEL_LEVEL by @mlafeldt in #11808
* Elaborate on internal errors by @szarnyasg in #11816
* Fix #11756: Don't throw exception on CREATE UNIQUE INDEX IF NOT EXISTS if
index already exists by @ewencp in #11821
* Python CI fixes: skip two tests by @carlopi in #11818
* Fix #11798 - lateral join parameters should not be visible in views by
@Mytherin in #11825
* Fix #11804: make sure json_type can check null by @lnkuiper in #11807
* Fixing performance regression in [u]hugeint cast by @hannes in #11829
* [Dev] ClientContextWrapper yak shaving by @Tishj in #11830
* [Python] Add checkpoint method, improve shutdown experience by @Tishj in #
11810
* [Benchmark] Enable benchmarking result collection by @Tishj in #11529
* [DependencyManager] Create dependencies between foreign key tables and
primary key tables. by @Tishj in #11524
* [Python] Synchronize defaults of DuckDBPyRelation method fetch_df_chunk by
@Tishj in #11834
* Internal #1888 TIMETZ Collation Keys by @hawkfish in #11861
* Removing old code that used to check if a buffer was the last buffer from
the file handler by @pdet in #11846
* Use ToSQLString() in ConstantFilter for escaped filter output by @rcurtin
in #11797
* [StatementVerifier] Add ToString for every remaining SQLStatement, is pure
virtual now by @Tishj in #11788
* Pushdown Tables Types to CSV Scanner by @pdet in #11792
* [Python Dev] Fix shift between requirements-dev.txt and pyproject.toml
before-test section by @Tishj in #11863
* Join order optimizer asan bug Follow up by @Tmonster in #11794
* BugFix: Introducing Introducing Delim Joins and Delim_Get(s) should respect
positionally by @Tmonster in #11812
* Provide the native OID of PG type in pg_type by @goldmedal in #11746
* Move JDBC (Java) Driver to Separate Repo by @hannes in #11873
* Link Java client in issue template by @szarnyasg in #11877
* Change specificity of sniffed types to check time related types earlier by
@pdet in #11878
* fix complex top n test case for constant vector verification by @Tmonster
in #11882
* [Dev] Merge overloads for HUGEINT cast functions by @Tishj in #11879
* Make " default for quote and " default for escape by @pdet in #11880
* Set secret directory to a test directory when running sqllogictest by
@Mytherin in #11885
* Bugfixes by @lnkuiper in #11785
* [Map] Rework interaction (entries, keys, values, extract) of NULL MAPs by
@Tishj in #11745
* Add case when expression for grouping sets when collations are used. by
@Tmonster in #11884
* Internal #11892: Interval Quarter Keyword by @hawkfish in #11898
* HTTP Logging by @lnkuiper in #11771
* [Dev] Use strings in the SQLLogicTest REQUIRE calls so they are visible
with -s by @Tishj in #11714
* [Dev] Fix a SerializationException on CopyInfo by @Tishj in #11902
* MultiFileReader refactor by @samansmink in #11806
* Allow checkpoints to run while other connections are reading, and no longer
block new connections while checkpointing by @Mytherin in #11918
* Allow converting TIMETZ to Arrow by @LoganDark in #11906
* Issue #11894: MIN/MAX_BY DECIMAL Casting by @hawkfish in #11912
* Issue #1917: WinNode 22 Compilation by @hawkfish in #11913
* [Relation] Add MaterializedRelation by @Tishj in #11835
* Enable purging of BufferPool pages based on time-since-last-unpinned by
@jkub in #11441
* Correctly render duckbox for empty results by @Mytherin in #11920
* Always store transactions that had errors during the commit phase by
@Mytherin in #11929
* More anonymous struct zapping in RE2 by @hannes in #11956
* Add the corrupt block location to the exception by @Vegetable26 in #11966
* Fix assertion in bitpacking by @nickgerrets in #11955
* [Python] Add CoalesceOperator to Python Expression API. by @Tishj in #11941
* CMake: Handle git failures on invalid inputs better by @carlopi in #11951
* Internal #2005: DISTINCT ORDER BY by @hawkfish in #11967
* Fix overlooked function argument rename that leads to seg faults. by
@smonkewitz in #11969
* [Nightly] Block size test fixes by @taniabogatsch in #11972
* Optimizing InsertionSort by reducing the size of the comparison by @gitccl
in #11964
* [Python] Keep referenced Python objects alive by @Tishj in #11761
* Move mysql_scanner into main duckdb CI by @carlopi in #11999
* Fix CURRENT_SETTING with a NULL string arg by @gitccl in #12015
* Issue #12009: APPROX_QUANTILE NULL List by @hawkfish in #12014
* Issue #12003: TIMESTAMP Stack Overflow by @hawkfish in #12012
* fix extension load error message grammar by @softprops in #11994
* [Python] Fix InternalException from scanning Polars DF with no columns by
@Tishj in #11982
* Issue #11959: TIMESTAMPTZ >= DATE by @hawkfish in #11987
* More fixes for RE2 to pass CRAN tests by @hannes in #11978
* chore: update exception message by @stephaniewang526 in #11965
* Issue #12005: RESERVOIR_QUANTILE DECIMAL Binding by @hawkfish in #12013
* [Python] Grab the GIL in the destructor of PyFilesystem by @Tishj in #11980
* [Python] Make the NumPy module optional, not throwing if it's not installed
by @Tishj in #11981
* Add support for HuggingFace to httpfs by @samansmink in #11831
* [Fix] lambda binding in ALTER TABLE statements by @taniabogatsch in #11976
* Distinguish between exact and case insensitive matching JSON keys in
json_structure by @lnkuiper in #11948
* Rework index binding by @Maxxen in #11867
* Issue #11995: TIMESTAMP Rounding by @hawkfish in #12011
* Fix sample serialization by @Tmonster in #12025
* Correctly skipping errors when ignore_errors is set and we have columns
with escaped values by @pdet in #12027
* Update comment to reflect correct data state post-compression by @wangxuqi
in #12022
* Fix ordering issue with nested list type by @gitccl in #11937
* Adding Fix to properly pass timestamp/date formats in the relational API
for CSV Files by @pdet in #12029
* Add more MultiFilereader features/hooks by @samansmink in #11984
* Rethrow serialization errors by @carlopi in #12030
* Move yyjson into core by @Maxxen in #11998
* Bugfixes + large allocation hardening by @Maxxen in #12028
* Ensure HT capacity is greater than lower bound by @lnkuiper in #12039
* Fix materialized CTE plan issue by @kryonix in #11874
* Fix some fuzzer issues by @hannes in #12043
* [Fix] Return NULL for deprecated getter calls in the C API by
@taniabogatsch in #12035
* Grab checkpoint lock during storage metadata reads by @Mytherin in #12053
* Issue #12041: TIMETZ Parquet Nanoseconds by @hawkfish in #12052
* Parquet: Correctly return min/max string stats if empty by @lnkuiper in #
12054
* Even more fuzzer fixes by @Maxxen in #12050
* [Fix] Silent constraint violation error when destroying the appender in the
C API by @taniabogatsch in #12051
* Add "Tags" support to catalog entries by @Maxxen in #12044
* Rework FORCE CHECKPOINT - instead of actively cancelling transactions it
now blocks until it can checkpoint by @Mytherin in #12061
* Aggregation bugfixes by @lnkuiper in #12055
* [Fix] Disable test for block size nightly run by @taniabogatsch in #12062
* Bind art index in local storage by @Maxxen in #12064
* Cast keys to VARCHAR before creating JSON from MAP by @lnkuiper in #12065
* [Python] Add pyspark hash and organize unit tests by @mariotaddeucci in #
11935
* Check context.interrupted during force checkpoint by @Mytherin in #12068
* [Fix] Lazy WAL creation by @taniabogatsch in #12049
* Test docker images: improvement and connected fixes by @carlopi in #12026
* More fuzzer fixes by @hannes in #12045
* [Python] Add pyspark null functions by @mariotaddeucci in #11940
* CI fixes: unused variable & toolchain version by @carlopi in #12083
* Add autoloading for delta extension by @samansmink in #12063
* S3FileHandle Destructor should call Close() conditionally by @onderkalaci
in #12031
* [Fix] Internal segment tree exception in on conflict clause by
@taniabogatsch in #12084
* Remove ClientContext usage in Checkpoint Reader by @Mytherin in #12076
* Fixed Parquet crash on missing dictionary by @hannes in #12085
* [Fix] Add lambda binding to the HAVING binder by @taniabogatsch in #12070
* Decimal/Time implicit casting + Multi-Error store in Flush by @pdet in #
11848
* [Testing Infra Fix] Make input data chunks immutable in the vector
verification tests by @taniabogatsch in #12088
* Correctly rewrite correlated columns inside window functions by @Mytherin
in #12087
* Fix #11780 - handle qualifications in ORDER BY of ARRAY clause by @Mytherin
in #12090
* Nightly CI fixes by @Mytherin in #12093
* Change ExtensionOptimizer input by @Maxxen in #12094
* Fix for issue related to the execution of union by all from .sql in Python
by @pdet in #12098
* yyjson bump version to 2020 by @carlopi in #12072
* [Dev] Collect CatalogEntry Dependencies during Binding by @Tishj in #11493
* Internal #2040: ICU Collation Serialisation by @hawkfish in #12077
* Run python tests in Pyodide build by @cpcloud in #11914
* Add support for type modifiers on extension types by @Maxxen in #12081
* Bump extensions by @carlopi in #12107
* fix huggingface credential_chain autoload issue by @samansmink in #12112
* Fix fuzzer issue 2690 by @lnkuiper in #12108
* Throw exception in case of WAL failure instead of only printing a message
by @Mytherin in #12091
* Change type of columns from sniff_csv to list of structs by @pdet in #12099
* [Python][Dev] Skip statements with decorators (only if, skip if) in the
Python SQLLogicTester by @Tishj in #12102
* Mark unspecialized C++ Append template as delete by @j1ah0ng in #12116
* SQLLogicTest - skip these tests now that we have dependencies between views
by @Mytherin in #12118
* Correctly determine if we need to scan flat vectors in all cases - and add
an enum to clarify code by @Mytherin in #12119
* Avoid signed integer overflow in sequence generation by @Mytherin in #12120
* Use Binder::BindCreateTableCheckpoint in WAL ReplayCreateTable by @Mytherin
in #12121
* Avoid checking if wal is set directly and call GetWALSize instead - a WAL
might be present even if wal is not set by @Mytherin in #12124
* Call StringVector::AddString here for when inlining is disabled by
@Mytherin in #12125
* Minor fixes for vsize=2 tests by @Mytherin in #12126
* Internal #2078: Nested Nulls First by @hawkfish in #12131
* Bump extensions, part 2 by @carlopi in #12122
* Internal #2081: Window Distinct Reset by @hawkfish in #12130
* Read scan count once instead of once per vector to avoid issue where scan
counts between vectors could become mis-aligned in concurrent scenarios by
@Mytherin in #12135
* Extension Updating by @samansmink in #11677
* Move pyodide from repository_dispatch to NightlyTests.yml by @carlopi in #
12153
* [Storage] Add storage_compatibility_version to control for what version the
DB has to be serialized. by @Tishj in #12110
* Allow quotes to be escaped in JSON path by @lnkuiper in #12033
* [Python] Fix issue in the SQLLogicTestRunner implementation by @Tishj in #
12155
* Higher memory limit for test by @lnkuiper in #12158
* Fix internal error of list_zip and map_concat by @gitccl in #12086
* fix row format of arrays larger than vector size with null by @Maxxen in #
12143
* Issue #12136: Streaming Window Structs by @hawkfish in #12150
* Set max vector size to 128GB instead of 4GB by @Mytherin in #12144
* Pass prepared statement parameters to OnExecutePrepared callback by
@Mytherin in #12156
* In string to list try_cast - set the target index to NULL, not the source
index by @Mytherin in #12160
* More Nightly CI Fixes by @Mytherin in #12154
* Fixing unchecked malloc() calls in Parser and elsewhere by @hannes in #
12162
* Modify the pandas analyzer code to always respect the sample size by @pdet
in #12097
* Allow community extensions: add setting and keys by @carlopi in #12152
* Fixing parquet dictionary / data page offset bug by @hannes in #12109
* small fix to extension origin checks and direct installing over http by
@samansmink in #12165
* [DependencyManager] Provide details in case of a DROP statement that needs
CASCADE. by @Tishj in #12159
* Remove UnsafeNumericCast in create_sort_key by @Mytherin in #12168
* [Dev] enable_verification now serializes for compatibility version 'latest'
by @Tishj in #12157
* [Relation] Disable creating a VIEW from a MaterializedRelation by @Tishj in
#12163
* Move community keys to proper values by @carlopi in #12175
* Remove release assertions timeout by @Mytherin in #12176
* Internal #2095: Streaming Window Structs by @hawkfish in #12173
* [CSV Reader] Bug-fix related to skip parameter over vector size in the
sniffer by @pdet in #12167
* Expression rewrite filter pushdown for dates by @Tmonster in #12056
* [Python] Throw if replacement scan is attempted on cross-connection
DuckDBPyRelation by @Tishj in #12169
* [Fix] Correctly allocate the ARRAY target child vector in a MAP function by
@taniabogatsch in #12111
* Remove java from CI invoker by @hannes in #12182
* Mark correct database as modified in CreateIndex by @Mytherin in #12183
v0.10.2 Bugfix Release
SQL Modifications
This release has a number of bug fixes that change SQL semantics in a few edge
cases:
* Nested Boolean Comparisons now have consistent NULL comparison semantics -
#11496
* Structs with non-matching keys require explicit casts when compared or
combined - #11396
What's Changed
* Bump julia version & fix release script for sub-versions > 9 by @Mytherin
in #11225
* Flatten Rewrite by @maiadegraaf in #11223
* ORDER BY ColumnNumber with Collations by @tiagokepe in #11139
* Fix differences to implementation for to_parquet, write_parquet, to_csv,
write_csv, Expression.alias, DuckDBPyRelation.map by @binste in #11135
* Issue template: Ask for MWEs by @szarnyasg in #11192
* Cleaning up FSST: Remove unused AVX512 code by @hannes in #11222
* Fix #11211 - correctly fill in string_t padding for bit type by @Mytherin
in #11231
* Fix #3391: Stop creating background threads if the thread constructor
throws an exception by @Mytherin in #11236
* R_CMD_CHECK: Pin to duckdb/duckdb-r 0ed106a71c by @carlopi in #11245
* Add support for HEX(BLOB) by @Mytherin in #11243
* Remove no_vector_verification in Map Subscript Test by @maiadegraaf in #
11242
* Update logos in README by @szarnyasg in #11256
* Ignore user defined parameters that change names or types of csv columns in
sniffer's prompt. by @pdet in #11257
* [Python] Fix error caused by looking up a TypeCatalogEntry without an
active transaction. by @Tishj in #11255
* [Fix] Fuzzer issue in list_select by @taniabogatsch in #11248
* [Parquet] Support for LZ4 Compression by @hannes in #11220
* Fix #11254: Add missing includes to terminal by @Mytherin in #11265
* Issue #10867: AsOf Predicate Pushdown by @hawkfish in #11233
* Fix plan cost runner regression script by @Tmonster in #11129
* Check if we need to throw any remaining errors at end of CSV scanning by
@pdet in #11276
* Allow duplicate names in json objects when ignore_errors is true by
@lnkuiper in #11271
* Do not surround JSON with quotes in sqlite shell output by @lnkuiper in #
11268
* add TRIM support to virtual filesystem, and implementation on linux by
@jkub in #11258
* Perform direct write operation if input data are larger than buffer size by
@quentingodeau in #11203
* Fuzzer fixes by @lnkuiper in #11286
* Compile spatial also for rtools by @carlopi in #11291
* allow injecting custom BufferManager implementation by @jkub in #11215
* Default to RECORDS in JSON reader if more than one column is specified by
@lnkuiper in #11295
* Add support for materialized CTEs in INSERT/UPDATE/DELETE statements by
@kryonix in #10878
* Only throw exception if je_mallctl fails in DEBUG mode by @lnkuiper in #
11303
* Fixing casting issue in generators by @hannes in #11304
* Rework FileSystem::OpenFile call, and add FILE_FLAGS_NULL_IF_NOT_EXISTS by
@Mytherin in #11297
* Fix potential UB when list() aggregate is used in combination with other
arena using aggregate functions by @Maxxen in #11306
* Fix #11293 - for ARRAY([subquery]) explicitly push the ORDER BY of the
underlying subquery into the array aggregate by @Mytherin in #11316
* Fix #11281: explicitly select column types of information_schema tables for
all columns, even if they are always NULL by @Mytherin in #11317
* Fixup py upload by @carlopi in #11308
* Issue #11279: TIMESTAMP => TIMESTAMPTZ by @hawkfish in #11320
* Fix null pointer exception when rolling back updates if the rollback was
caused by an OOM by @Mytherin in #11309
* Fix #11283 - report consistent foreign key constraint name in
information_schema by @Mytherin in #11318
* Fix #11294 - avoid applying Filter Pushdown optimization for UNION/EXCEPT
without ALL by @Mytherin in #11315
* Fix #10695 - handle ? prepared statement parameters correctly for POSITION
(x IN y) by @Mytherin in #11314
* Windows CLI - emit UTF8 directly using SetConsoleOutputCP(CP_UTF8) if
possible by @Mytherin in #11324
* Fix #11319: use modulo when computing day of the week in excel extension by
@Mytherin in #11328
* [CI] Fix bash syntax in TwineUpload by @carlopi in #11333
* Fix #11284: avoid adding the same column multiple times to a primary key/
unique constraint name list by @Mytherin in #11325
* In ColumnData, limit scan to the current count in the column by @Mytherin
in #11329
* Issue #11269: DISTINCT Sorted Aggregates by @hawkfish in #11321
* [Attach] Fix bug causing sequences to break attaching databases. by @Tishj
in #11327
* Flatten hash vector before combining list hashes by @lnkuiper in #11340
* Make sniffer more consistent when nullpadding/ignore_errors are on by @pdet
in #11313
* fix(arrow): union buffer count & handle schema errors by @Mause in #11326
* fix duckdb-r script by @Tmonster in #11345
* Fix regression_test_runner.py by @carlopi in #11346
* Issue #11234: IEJoin Scan Reset by @hawkfish in #11347
* TPC-H: Use BIGINT for ID fields schema where required by the specification
by @szarnyasg in #11341
* Another round of polishing staged releases by @carlopi in #11342
* CI: Remove issue labeling workflow by @szarnyasg in #11355
* RE2 upgrade to version 2023-02-01 by @hannes in #11252
* File System: Add optional_ptr<FileOpener> to various calls, and add support
for attaching DuckDB files over S3 by @Mytherin in #11343
* README: Display different logo for light/dark mode by @szarnyasg in #11366
* Fix bug in duckdb_bind_blob by @pfarndt in #11368
* Fix OSX CI by @samansmink in #11379
* Enable clang-tidy on headers and fix all headers to conform to our
clang-tidy rules by @Mytherin in #11376
* Add logical_type to parameters of format_pg_type by @Flogex in #11369
* Issue #10965: RESPECT IGNORE NULLS by @hawkfish in #11372
* Fix building issues in WIN32, remove unnecessary modification. by
@kindred77 in #11356
* Zero-initialize aggregate states with destructors immediately after
allocating by @lnkuiper in #11360
* Update README.md by @jingshi-ant in #11357
* Issue #10885: Negative Window RANGEs by @hawkfish in #11390
* Issue #11377: Invertible TIMESTAMP_XXX Casts by @hawkfish in #11392
* Update init.py To export "extract_statements" function by \
@oomojola in #
11394
* Internal #1657: Stricter STRUCT Casts by @hawkfish in #11396
* allow set readonly on attached db by @stephaniewang526 in #11397
* Give preference to FSSPEC defined FS by @pdet in #11400
* Default serialize optional_idx, add skip_default option to
json_serialize_sql() by @Maxxen in #11405
* CI: Also label PRs as 'stale' and close them when there's no activity by
@szarnyasg in #11420
* fix(jdbc): 1-index getBytes() by @Mause in #11421
* Remove redundant default descriptions by @szarnyasg in #11415
* clang-tidy: enable cppcoreguidelines-pro-type-const-cast by @Mytherin in #
11414
* clang-tidy: enable cppcoreguidelines-avoid-non-const-global-variables by
@Mytherin in #11424
* Issue #11419: Quantile Order By by @hawkfish in #11428
* [CSV Sniffer] Give preference to quoted candidates by @pdet in #11418
* clang-tidy: enable cppcoreguidelines-virtual-class-destructor by @Mytherin
in #11437
* clang-tidy: enable cppcoreguidelines-[interfaces-global-init|slicing|
rvalue-reference-param-not-moved] by @Mytherin in #11435
* Fix #11393 - improve error message when trying to use a lateral join column
in a table function that does not support it by @Mytherin in #11436
* add readonly to duckdb_databases() by @stephaniewang526 in #11429
* Fix missing opener propagation by @quentingodeau in #11454
* Fix #11246: Use SetConsoleCP function to set input to UTF8 when reading by
@Mytherin in #11452
* CLI: Add support for ".edit" or "\e" by @Mytherin in #11447
* Fix VS2022 Preview ClangCl build by @bodand in #11456
* Remove an unnecessary line from bind_insert.cpp by @huachaohuang in #11443
* [CI] Skip ccache for R.yml by @carlopi in #11459
* Improve binding of CTEs by @kryonix in #11399
* Move BindCreateIndex from Catalog to Binder by @philippmd in #11402
* [Substrait-ADBC] Fix for substrait plan execution via ADBC by @pdet in #
11358
* Removing abort() from RE2 again because Google refuses to use exceptions by
@hannes in #11458
* Defer allocation in read_json by @lnkuiper in #11378
* [ODBC] Add escape character to ParseStringFilter to support Power Query
('table_name' is escaped to 'table_name') by @guenp in #11432
* Bump to post-portfile change for duckdb_azure by @carlopi in #11476
* Reduce memory usage of DELETE operations by @Mytherin in #11470
* Use optional_idx in more places by @Mytherin in #11466
* Revert "Move BindCreateIndex from Catalog to Binder" by @Mytherin \
in #11478
* [Arrow] Throw on invalid STRUCT type by @Tishj in #11464
* [Dev] Do not use CatalogEntry references inside Dependency objects. by
@Tishj in #11408
* Fix extension builds by @carlopi in #11486
* [Fix] Throw BinderException for UNNEST expressions in WINDOW expressions by
@taniabogatsch in #11247
* Check for IUTF8 flag defined before setting it by @patmaddox in #11488
* Fix #11445: correctly detect recursive aliases when using struct unnest by
@Mytherin in #11497
* Fix #11444: avoid using recursion in string -> list parsing by @Mytherin in
#11498
* Add serialization for LogicalCopyDatabase operator by @Flogex in #11401
* add support in Julia appender for missing and nothing values by @rdavis120
in #11508
* [Python] Produce datetime.time values when converting TIME columns to
Pandas DataFrame by @Tishj in #11468
* [Fix][ADBC] Implement required ADBCConnectionGetObjects schema by @joellubi
in #11446
* Add support for decimal modulo operation by @Mytherin in #11506
* Move CompressedMaterialization inside of StatisticsPropagator by @lnkuiper
in #11495
* Bump stale bot version by @szarnyasg in #11509
* Rework issue workflow by @Mytherin in #11522
* [RE2] Add includes and remove potential throw from destructor by @carlopi
in #11513
* Issue #11292: Nested Boolean Compares by @hawkfish in #11496
* [Dev] Initialize new buffers with garbage data if DESTROY_UNPINNED_BLOCKS
is set by @Tishj in #11270
* Fix timeout in async workflow by @samansmink in #11525
* Move assertion in json_scan.cpp by @lnkuiper in #11530
* Issue #11518: TryParseTime by @hawkfish in #11519
* Fuzzer Bugfixes by @Maxxen in #11544
* [CI] Fix CI failure on C Enum Integrity Check by @Tishj in #11547
* [ICU] Use the correct lookup precedence for TimeZone settings by @Tishj in
#11546
* [CI] Move from default GITHUB_TOKEN to specific one by @carlopi in #11556
* [CI] Fix Deploy step to execute only for duckdb organization by @carlopi in
#11553
* Rework RadixPartitionHashTable task assignment in source phase by @lnkuiper
in #11528
* Run new micro benchmarks in CI when they are added by @Tmonster in #11532
* Rework vector_hash for ARRAYs by @Maxxen in #11558
* [Dev] Add assertions around Uncompressed String storage by @Tishj in #11267
* python: Add missing global options to write_csv by @jzavala-gonzalez in #
10382
* [Python] Fix issue with lists containing dictionaries of different sizes by
@Tishj in #11095
* [Dev][Python] Add nightly test to execute all sqllogic tests using the
python package by @Tishj in #11137
* Parquet Writer: Early out creating dictionary by @lnkuiper in #11461
* ODBC driver should ignore "driver" and \
"trusted_connection" keywords in
connection string by @guenp in #11382
* [ODBC] Fix: Support loading UTF-8 encoded data with Power BI by @guenp in #
11423
* Draft permissions - bot does not have permission for drafting by @Mytherin
in #11575
* CI: Remove 'needs reproducible example' when 'reproduced' label is applied
by @szarnyasg in #11576
* Various fixes & clean-up around STRUCT UNNEST by @Mytherin in #11580
* Update token by @Mytherin in #11592
* Update issue template by @szarnyasg in #11577
* [CI] Remove GITHUB_PAT variable from R-CMD-check by @carlopi in #11593
* Respect read-only mode in dbgen and dsdgen by @Mytherin in #11585
* Bump-back duckdb_azure to pre-lzma custom vcpkg-port by @carlopi in #11595
* Correctly handle database names with quotes in USE statement by @Mytherin
in #11587
* Bump postgres version and build arrow also for windows by @carlopi in #
11604
* Support reading gzipped files in the test runner by @chrisiou in #11600
* initializes unknown indexes on catalog lookup by @Maxxen in #11551
* Fix Progress Bar for many large CSV Files + Adjustment to not store buffers
from compressed files over single threaded scans by @pdet in #11273
* CSV Rejects Tables 2.0 by @pdet in #11512
* Fix topn placement by @Tmonster in #11601
* Fix various issues found by oss-fuzz by @Mytherin in #11613
* [ODBC] Fix: timestamps and times are parsed as dates by Power Query by
@guenp in #11610
* Fix various fuzzer issues, move fuzzer scripts into this repo, and expand
reduce_sql_statement to improve test case reduction capabilities of fuzzer
by @Mytherin in #11622
* [Dev] Make the extension_entries.hpp generation script more modular by
@Tishj in #11623
* [Fix][ADBC] Don't filter system catalogs/schemas in ConnectionGetObjects by
@joellubi in #11618
* Add pyodide wheel building github action by @cpcloud in #11531
* Move away from dynamic_cast to Cast<> infrastructure by @carlopi in #11619
* Extension Metadata by @carlopi in #11515
* [Dev] Regenerate query string for IndexCatalogEntry. by @Tishj in #11462
* Upload pyodide by @carlopi in #11626
* Add docker alpine build to check on builds by @carlopi in #11490
* Add Vector Similarity Search (VSS) Extension by @Maxxen in #11614
* Metadata fix by @carlopi in #11629
* Fix extension config for arrow, remove patch from sqlite by @carlopi in #
11628
* [CSV Reader] Resets the buffer manager over recursive scans by @pdet in #
11631
* Make path to append_metadata.cmake relative to top-level CMakeLists.txt by
@Flogex in #11635
* [CSV Reader] Fixes an issue with conflicting strategies for buffer cleaning
by @pdet in #11630
* Fix more issues found by the fuzzer, extend SQL reduction further by
@Mytherin in #11642
* fix(jdbc): support non-string parameter types by @Mause in #11646
* Few more fuzzer fixes by @Mytherin in #11648
* Bump spatial by @Maxxen in #11650
* Avoid performing Apple codesign on extensions by @carlopi in #11652
* Filter out single relation predicates before join ordering by @wangxiaoying
in #11645
* Fix last_value in the duckdb_sequences metadata function by @Tishj in #
11465
* Limit batch insert threads based on available memory, similar to Parquet
write by @Mytherin in #11655
* [Vacuum] Fix serialization and Copy of the VacuumStatement by @Tishj in #
11656
* More index initialization by @Maxxen in #11659
* Skip tests with the unzip keyword in python and disable unzip.test for
32bit systems by @chrisiou in #11658
* Bump extension versions, remove patches by @carlopi in #11662
* Accept a list of multiple nullstring values for CSV Files by @pdet in #
11616
* Include falloc to fix build on some Linux systems by @zmbc in #11663
* Fix #11469 - make unnest parameters case-insensitive by @Mytherin in #11667
* Fix #11467: correctly merge unnamed structs and structs in
CombineEqualTypes by @Mytherin in #11668
* Skip ADBC tests if python version is not 3.9 or higher by @pdet in #11653
* Fix #11621 - correctly zero-initialize padding bits in bitpacking
compression by @Mytherin in #11671
* Fix #11542 - correctly check if a column data segment has updates, and
clean up the updates by @Mytherin in #11670
* Make UNION BY NAME also use ForceMaxLogicalType, similar to UNION by
@Mytherin in #11665
* Fix extension_version propagation for external extensions by @carlopi in #
11672
* Allow decimal type in CSV auto_type_candidates option by @pdet in #11675
* Fix #11484: support constant indexes in ARRAY - e.g. ARRAY(SELECT .. ORDER
BY 1) by @Mytherin in #11674
* Improve hive type auto-casting so that it looks at all files instead of
only the first file by @Mytherin in #11676
* Fix #11669: deduplicate column names in pivot correctly by @Mytherin in #
11678
* Disable setting console pages by default, and add .utf8 setting by
@Mytherin in #11682
* bump vss, handle reverting append when index is unknown by @Maxxen in #
11681
v0.10.1 Bugfix Release
What's Changed
* Remove visualizer leftovers by @Y-- in #10642
* Add explicit numbering to C enums + various compilation/CI fixes by
@Mytherin in #10649
* Disable print method for CSV scanner for R build by @hannes in #10650
* Fix #10548 for the DUCKDB_NO_THREADS case by @carlopi in #10654
* Allow StorageExtension to extend DuckCatalog implementation in order to
integration with observability system by @bleskes in #10643
* Update storage info for v0.10.0 by @szarnyasg in #10660
* Revamp duckdb-wasm extensions CI by @carlopi in #10672
* [CI] Re-enable skipped test window-rows-overflow.test by @Tishj in #10679
* Catch: prominently display skipped tests by @Mytherin in #10669
* Update Julia to 0.10.0 by @Mytherin in #10689
* Ingestion benchmark framework by @Tmonster in #10341
* [ICU] Add casts from Timestamp_* to TimestampTZ by @Tishj in #9539
* DISTINCT ON - greatly improve performance by rewriting ordered FIRST
aggregate into arg_min_null by @Mytherin in #10684
* Fix #10685 - support aliases in join clause by @Mytherin in #10691
* Use assertThrows for throwing assertions in JDBC tests by @peteraisher in #
10448
* Casts: report error location in query for failed casts by @Mytherin in #
10694
* Fix duckdb spelling in _extension_deploy.yml by @carlopi in #10717
* Fuzzer #1374: ARG_XXX By Decimal by @hawkfish in #10728
* [Python] Rework the python regression test script by @Tishj in #10715
* Removes static member string by @TinyTinni in #10733
* Fuzzer #1372: Order Bind Failure by @hawkfish in #10727
* Fuzzer #1380: To Weeks Overflow by @hawkfish in #10726
* Various fixes by @carlopi in #10708
* Unittest does not satify assertion on MSVC/Debug by @TinyTinni in #10738
* Fix OrderPreservationType issue of MATERIALIZED CTEs by @kryonix in #10587
* Map creation fixes and refactoring by @taniabogatsch in #10436
* Fuzzer #1383: NULL Range Arguments by @hawkfish in #10723
* Fuzzer #1382: Window Stats Overflow by @hawkfish in #10725
* Comment on view columns by @samansmink in #10710
* Union exclude by @Tmonster in #10688
* move the logic for immediate_transaction_mode to the physical operator by
@peterboncz in #10739
* [C API] Small fix and more tests by @taniabogatsch in #10748
* List_slice bug fix by @maiadegraaf in #10747
* Enable azure autoload by @samansmink in #10746
* Parquet writer - reduce memory usage of order-preserving write by @Mytherin
in #10756
* Refactor csv reader includes because of r path length limitations by
@hannes in #10658
* Arrow String View Type by @pdet in #10481
* local_file_system.cpp: minor fix for macOS libproc code by @barracuda156 in
#10758
* Make unnamed_subquery naming predictable by @Mytherin in #10765
* [Python] Fix overflow issue in PandasAnalyzer by @Tishj in #10768
* Throw when trying to consume over 128 byte decimals by @pdet in #10601
* CLI: Right-align numerics in markdown tables by @Mytherin in #10767
* Fuzzer #1399: Window NULL RANGE by @hawkfish in #10776
* [CSV Sniffer] Minor sniffer tweak to give preference to dialects that
generate the least errors if ignore_errors = true by @pdet in #10777
* Add large benchmark directory by @Tmonster in #10763
* Improve UNPIVOT error messages, and allow expressions in unpivot by
@Mytherin in #10773
* Add a method UUID::FromUHugeint to generate a UUID from a uhugeint_t by
@Mytherin in #10771
* [CSV Reader] Add lock to buffer reset by @pdet in #10791
* [WINDOWS] Add "/bigobj" that solves compile issue during debug by
@maiadegraaf in #10782
* fix: not over-call AllSecrets by @stephaniewang526 in #10807
* Update readme by @szarnyasg in #10814
* [ODBC] Rework Connect to the ODBC driver and add functionality to set all
DuckDB configurations in the Connection String by @maiadegraaf in #10692
* Fix arrow conversion, map doesn't support large offset by @yiyuanliu in #
10796
* [CSV Reader] Spinlock over GetLine Error + New Strategy for dialect
candidates by @pdet in #10755
* Trivial fixes by @carlopi in #10816
* Fix unicode handling in underscore of LIKE operator by @Mytherin in #10821
* JDBC spurious CI failure - an exception being thrown in this test is a race
condition by @Mytherin in #10825
* Benchmark runner - allow files (e.g. CSV/Parquet) to be cached using the
cache command by @Mytherin in #10817
* Fix #10803 - correctly reclaim space of list indexes when columns are
dropped by @Mytherin in #10822
* [Upsert] INSERT OR REPLACE fixes by @Tishj in #10789
* [Dev] Add an optional time out in seconds to run_tests_one_by_one.py by
@Tishj in #10744
* Maintain names in COLUMNS(*) expression, and allow aliasing multiple
columns using {column} by @Mytherin in #10774
* Disable AWS/Azure on Windows for now by @Mytherin in #10827
* [Dev] Bump memory limit on batch_memory_usage.test_slow by @carlopi in #
10845
* Fix coverity apt-get by @carlopi in #10838
* minor: FixedSizeBuffer::Pin move shared_ptr rather than copying by @mapleFU
in #10837
* ci: Upgrade workflows to actions/setup-python@v5 by @krlmlr in #10832
* Fuzzer #1389: ARG_XXX Decimal Casts by @hawkfish in #10742
* Contributor guide: Fix new issue link by @szarnyasg in #10836
* Changing source to src in relational_constraints query by @Dtenwolde in #
10848
* Fix: correctly calculate the range of build side for perfect hash join by
@gitccl in #10446
* [Python] Fix issue caused by deadlock between thread.join() and acquiring
the GIL by @Tishj in #10854
* [CSV Parser] 8-Byte Skipping instead of 1-Byte when possible by @pdet in #
10855
* Add components of the version to duckdb.hpp by @ahuarte47 in #10840
* [CSV Sniffer] Tweaking header detection by @pdet in #10714
* Check if directory exists before removing files in regression test runner
by @Tmonster in #10859
* [Extension] Add CatalogType to the list of functions generated in
extension_entries.hpp by @Tishj in #10597
* Regression test build side probe side by @Tmonster in #10585
* [Arrow] Fix issue surrounding lifetime of dictionary arrays by @Tishj in #
10610
* Fix #10745 - correctly deal with empty float columns in floating point
compression routines by @Mytherin in #10863
* [Extensions] Build fixes by @carlopi in #10860
* Fix MSVC linking issue with workaround by @samansmink in #10865
* Reduce memory usage & avoid spilling to disk unnecessarily for
order-preserving table creation/insertion by @Mytherin in #10862
* pb/avoid GetSchema opening a transaction by @peterboncz in #10740
* Support dollar-quoted string-constants in the CLI by @Mytherin in #10879
* Shell: avoid printing "Error: " prefix if the error message \
already has a
prefix (e.g. Binder Error:, Parser Error:, etc) by @Mytherin in #10880
* Partially fix #10751: correctly catch exceptions in sqlite3_print_duckbox
by @Mytherin in #10881
* Reset refresh in CompressedFile::Close() by @Maxxen in #10882
* [CSV Reader] Lock when getting progress by @pdet in #10884
* [CSV Sniffer] Early out if things go wrong in dialect detection by @pdet in
#10872
* [CSV Reader] Fix for skipping mix of newline delimiters by @pdet in #10864
* Parallelize format.py script by @hatvik in #10646
* Remove Old PSQLODBC scripts by @maiadegraaf in #10888
* Add update_odbc_path.py to ODBC bundle by @maiadegraaf in #10895
* Improve Wasm.yml workflow by @carlopi in #10899
* [Parquet] Fix #10829, write correct data page offset in the presence of
dictionaries by @hannes in #10890
* Table name binding does not fail for non-existent tables in DROP TABLE
statements by @NiclasHaderer in #10893
* Fix #10889 - correctly deal with compressed vectors in struct
filterpushdown of ColumnSegment::FilterSelection by @Mytherin in #10896
* CI: Disable julia nightly for now by @Mytherin in #10905
* CLI - add support for rendering errors/matching brackets for square ([])
and curly ({}) brackets as well by @Mytherin in #10904
* Storage: Fix an internal exception that could be triggered when deleting
many rows and checkpointing repeatedly by @Mytherin in #10897
* LIMIT/OFFSET clean-up by @Mytherin in #10873
* Add ARRAY to test_all_types + IO and some clients by @Maxxen in #10850
* Use M1 (ARM) OSX runners by @hannes in #10670
* build: restore tarball build support by @Mause in #10900
* Fix #10902 - allow more expressions to be used with an indirection without
brackets (. or [], etc) by @Mytherin in #10909
* feat(jdbc): fixed size array support by @Mause in #10911
* Add regexp_split_to_table macro by @szarnyasg in #10898
* [MetaTransaction] Add lock on modifying all_transactions and transactions
by @Tishj in #10799
* Issue #10809: RANGE Hint Corrections by @hawkfish in #10828
* Enable the progress bar (without printing) in unittests by @Mytherin in #
10908
* [Python][Dev] Fix issue in read_csv related to the s3 extension by @Tishj
in #10690
* Add support for the C API duckdb_query function to the Julia api by
@rdavis120 in #10886
* Fix #10501 - in LocalFileSystem::Write split writes into batches of at most
2GB by @Mytherin in #10912
* Correctly reset data chunk in RETURNING of DELETE by @Mytherin in #10915
* bitstring_agg had a trigger-able assertion, [duckdb-fuzzer/#1414] by
@hannes in #10918
* Shell: Remove IEE754 function from CLI by @Mytherin in #10919
* Use correct index in string to nested cast error handling by @Mytherin in #
10920
* Batch memory manager - keep track of all used memory correctly and enforce
that unflushed memory is correctly set to 0 when we are finished by
@Mytherin in #10922
* Fix #9975 - correctly open (and keep open) a transaction when checking if
prepared statement needs to be rebound by @Mytherin in #10923
* CLI - Insert spaces when copy-pasting tabs by @Mytherin in #10924
* feat: exposing ssl ca cert path to httpfs by @pvaezi in #10704
* Centralize dynamic cast check and disable on MacOS by @Mytherin in #10925
* Checked Numeric Casts by @hannes in #10870
* Avoid running numeric cast checks when CRASH_ON_ASSERT is enabled by
@Mytherin in #10942
* Set duckdb_api to 'python jupyter' if in Jupyter notebook by @guenp in #
10931
* Array fuzzer issue fixes by @Maxxen in #10944
* Fix assertion trigger in FilterCombiner::AddTransitiveFilters by @Mytherin
in #10941
* Support recursive describe queries (i.e. DESCRIBE(DESCRIBE ..)) by
@Mytherin in #10945
* Avoid throwing null pointer exception in Window Segment Tree destructor by
@Mytherin in #10937
* Fix an issue where partitions were not correctly considered in bound window
expression equality by @Mytherin in #10939
* Fix for limit % with subquery on an empty table by @Mytherin in #10946
* Correctly visit all expressions during lateral join decorrelation,
particularly with nested lateral joins by @Mytherin in #10936
* when you add the relation, make sure you call gettableIndexes() on th?? by
@Tmonster in #10949
* Internal #1428: Interval Subtract Overflow by @hawkfish in #10957
* Fuzzer #1445: Trap MAKE_DATE/TIME Overflows by @hawkfish in #10958
* Python.yml: Revert to macos-latest for OSX workflow by @carlopi in #10970
* Purge queue refactor by @taniabogatsch in #10594
* Change time from duckdb_time to duckdb_time_struct in duckdb_time_tz_struct
by @Giorgi in #10933
* Add require block_sizes 262144 on tests reading db files by @carlopi in #
10974
* [duckdb-fuzzer/#1368] - overflow in bitstring_agg on hugeint & uhugei?? by
@hannes in #10971
* Fix LIST->ARRAY TRY_CAST when list sizes mismatch by @Maxxen in #10973
* Add a micro extended benchmark. by @Tmonster in #10943
* [Dev] Move TemporaryFileManager and friends out of StandardBufferManager by
@Tishj in #10938
* [ODBC] Reorganize Directory Structure by @maiadegraaf in #10979
* Internal #1385: Window Partition Collation by @hawkfish in #10985
* Fuzzer #1471: Trap MAKE_DATE Overflows by @hawkfish in #10987
* Range checks for ACOS by @hannes in #10972
* improve CheckBoundaryValues in TopN by @xuke-hat in #10955
* CSV tests - use TEST_DIR to prevent leaking file by @Mytherin in #10991
* Autoload INET and ICU (and add back sqlite and postgres as autoloadable) by
@carlopi in #10948
* Fuzzer #1468: Window RANGE Types by @hawkfish in #10990
* Fuzzer #1446: Quantile Hugeint Interpolation by @hawkfish in #10983
* Override git hash / git version by @carlopi in #10977
* [Storage] Only call FinalizeOptimisticWriter after storage merge has
succeeded by @Mytherin in #10998
* Add MetaTransaction::GetTransaction to threadsan suppressions (false
positive) by @Mytherin in #11001
* Various fixes: CMake + generated extension_entries.hpp checks by @carlopi
in #10994
* Nightly Wasm build fix by @taniabogatsch in #10993
* Fix return null constant in array_slice and other array issues by @Maxxen
in #10992
* Add correct table bindings for window relations. by @Tmonster in #10997
* Clean up ExecutorTask and simplify waiting for all tasks to be cancelled by
@Mytherin in #11005
* Various JSON thread sanitizer fixes by @Mytherin in #11004
* Fix warnings in ALP and logical_insert by @carlopi in #11008
* Check IsLoaded() before importing cached item by @Tmonster in #11007
* Issue #10995: ICU VARCHAR TIMETZ by @hawkfish in #11002
* Fix #10982 - only update total rows of row group collection after we finish
appending to prevent other readers from attempting to initialize scans on
in-progress appends by @Mytherin in #11011
* [Nightly] Block size nightly test changes by @taniabogatsch in #11010
* ATTACH with reserved names (temp/main) by @Mytherin in #11020
* Fix various tests for vector_size = 2 by @Mytherin in #11027
* [CI] Create a bigger table in interrupt test by @Mytherin in #11025
* Issue #10995: TIMETZ DST Fix by @hawkfish in #11024
* Fixup LinuxRelease.yml release: unittester was not invoked correctly by
@carlopi in #11022
* In DatabaseInstance destructor - destroy TaskScheduler first by @Mytherin
in #11021
* Refactor ATTACH options by @taniabogatsch in #11016
* Fix #11033: don't reset arena allocator in between calls to streaming
window expression by @Mytherin in #11039
* Avoid checking LastModifiedTime for remote files in object cache by
@Mytherin in #11034
* [Block Size Nightly] Enable more block size nightly tests by @taniabogatsch
in #11036
* Add missing pipeline dependencies in recursive CTE by @kryonix in #11043
* Use batch limit only when limit + offset are small constants by @Mytherin
in #11035
* Add New CSV Error for Invalid Unicode by @pdet in #10984
* [FIX] Lambda bug in subqueries by @taniabogatsch in #11046
* [Swift] performance optimisations by @tcldr in #11052
* add concat_ws to spark API by @nicornk in #11051
* feat(jdbc): expose comments via jdbc methods by @Mause in #11031
* [CI / Tests] Disable CSV sniffer test for smaller vector sizes and reduce
block-size nightly runtime by @taniabogatsch in #11055
* [CSV Sniffer] Consider date/timestamp formats from the user when sniffing
by @pdet in #11057
* Extend the "Contents of view were altered" error with more \
information by
@Tishj in #11064
* [Python] Add some numeric and string functions to spark API by
@mariotaddeucci in #11067
* [ODBC] Allow multiple statements to be executed using SQLExecDirect by
@maiadegraaf in #11038
* [CSV Reader] Apply projection on over buffer values. by @pdet in #11056
* Python: use short paths for Windows by @Mytherin in #11068
* Fix #10752: Add support for Parquet encryption on Windows by @Mytherin in #
11069
* [Python] Code Quality - PEP8 Compliant + only relevant imports by
@mariotaddeucci in #11070
* [CI] Add patch argument to patch the extension's sources before building by
@krlmlr in #10831
* fix(jdbc): support fractional seconds in getTime by @Mause in #10707
* Fix #11071 - correctly report progress when scanning multiple Parquet files
by @Mytherin in #11072
* Add ipv6 inet + minor fixes by @carlopi in #11073
* Implement IPv6 support in the inet extension. by @troycurtisjr in #10839
* [CI] Add step to verify C API enum integrity. by @Tishj in #10664
* Issue #10995: TIMETZ DST Fix by @hawkfish in #11079
* Check Nested Types for UTF-8 Correctness by @pdet in #11086
* Add scope column to duckdb_settings by @Tishj in #11017
* Partitioned write - flush batches periodically (every 500K rows) instead of
only writing when all data has been gathered by @Mytherin in #10976
* [Python] Add extract_statements and the Statement class by @Tishj in #10891
* [Python] Improve performance of conversion to Numpy/Pandas for nested lists
by @Tishj in #10826
* Fix an InternalException caused by DICTIONARY_VECTOR inside
map_from_entries by @Tishj in #11091
* Fix #11084 - fixes an issue with the Parquet writer when writing vectors of
lists with repeated list elements (as can be generated through a join) by
@Mytherin in #11094
* Add callbacks for newly added connections, and allow extensions to rebind
queries as a result of planning failures by @Mytherin in #11096
* Fuzzer #2376: INTERVAL Muliply Overflow by @hawkfish in #11100
* Make test/sql/copy/csv/test_limit_spinlock.test a slowtest by @pdet in #
11088
* Fix #11063 - avoid throwing exception in InClauseRewriter by @Mytherin in #
11090
* Add a hint on how to resolve lockups when using ninja. by @troycurtisjr in
#11074
* Fix LocalFileSystem::Read/Write, update location after read/write some data
by @yiyuanliu in #11105
* run_tests_one_by_one - add a default timeout of 1 hour by @Mytherin in #
11104
* [Fix] Aliases in subqueries by @taniabogatsch in #11103
* [CSV Scan] Implement ignore_erros for Dates/Timestamps/Decimals by @pdet in
#11083
* Fix TaskScheduler deadlock on NumberOfThreads by @Tishj in #11093
* Fix return null constant in list_resize and list_aggr by @maiadegraaf in #
11111
* Add rowsort to more tests for queries that don't have a defined order by
@Mytherin in #11110
* Do not extract filters that cannot be hyper edges (Join Order Optimizer) by
@Tmonster in #11108
* Add Dictionary vector verification by @Mytherin in #11114
* [Dev][Python] Make test_httpfs.py error test more lenient by @Tishj in #
11125
* Fix ConstantVector::Reference for dictionary arrays by @Maxxen in #11136
* Disable jemalloc for ARM distributions and clean up when closing DB by
@lnkuiper in #11130
* Case senstivity issue secret manager by @samansmink in #11128
* Bump az aw vcpkg by @samansmink in #11127
* Fix broken micro benchmarks so they can be run weekly by @Tmonster in #
11113
* Refactor OSX.yml, now inputs can be provided by @carlopi in #11133
* Merge main into feature by @Tishj in #11141
* Revert "Merge main into feature" by @Mytherin in #11145
* Fix upload assets script by @carlopi in #11144
* Bump spatial by @Maxxen in #11132
* Fix upload assets OSX/2 by @carlopi in #11148
* Add more vector type verification tests/settings by @Mytherin in #11138
* Allow for customization of catalog lookup behavior for different catalog
types by @Mytherin in #11151
* [Python][Arrow] Don't deduplicate column names when outputting to Arrow by
@Tishj in #11160
* More Array and Union fixes by @Maxxen in #11161
* Refactor upload logic (towards staged releases) by @carlopi in #11156
* Fuzzer #2490: Generate NULL TIMESTAMPTZ by @hawkfish in #11143
* Add folder parameter to upload logic and upload also twine artifacts by
@carlopi in #11169
* CI: Find mirror issues among all issues, not just open issues by @szarnyasg
in #11170
* Fix TupleDataCollection serialization of dictionary vectors containing
nested data by @lnkuiper in #11174
* Allow overriding of git describe also in scripts (via OVERRIDE_GIT_DESCRIBE
environment variable) by @carlopi in #11179
* Python staged releases: centralized staged upload by @carlopi in #11187
* Fix RevertAppendInternal by @Mytherin in #11177
* TwineUpload: Add awscli dependency + minor rework by @carlopi in #11193
* Fix issue in copy constructor of ExtraDropSecretInfo by @samansmink in #
11190
* Unify CSV/JSON and Parquet Batch Writing Code - and fix memory management
issues in CSV/JSON writing by @Mytherin in #11188
* More conservative dummy list entry estimation by @Maxxen in #11185
* retry on 500 error by @samansmink in #11184
* Fix warning on unused utf_type by @carlopi in #11198
* Remove outdated duckdb-node related scripts by @carlopi in #11180
* Add StagedUpload.yml by @carlopi in #11189
* Improving CSV Casting error message by @pdet in #11183
* Improve conversion error message in Parquet reader by @Mytherin in #11199
* Fix thread sanitizer issues by @Mytherin in #11200
* Internal #1564: Range Join DISTINCT by @hawkfish in #11205
* small fix secret autoloading, bump azure by @samansmink in #11182
* CSV reader - suggest enabling null_padding and ignore_errors in case of
missing columns by @Mytherin in #11201
* CI: Create/label mirror issue job should list all internal issues by
@szarnyasg in #11204
* [Python] Add IS NULL / IS NOT NULL support to Expression API by
@cmdlineluser in #11175
* Remove old assertions in SegmentTree by @Mytherin in #11208
* [lambda] Fix for list_reduce giving the wrong result by @maiadegraaf in #
11171
* [Dev] Fix various issues discovered by #11137 by @Tishj in #11210
* [Dev] Fix py override describe by @carlopi in #11209
* Sanitize CSV Newline identifier for writing CSV files by @pdet in #11106
* Fix persistent secret file permissions by @samansmink in #11172
* Retry Binding Prior To Execution by @Mytherin in #11149
* Avoid copying LogicalType in FlatVector::SetNull. by @yiyuanliu in #11214
* Review of CI on tags + add R extensions CI to InvokeCI.yml by @carlopi in #
11212
* Fix python and apply patches + bump extensions by @carlopi in #11217
* Disable jemalloc on arm in Python package as well by @Mytherin in #11218
DuckDB 0.10.0 "Fusca"
What's Changed
* feat(jdbc): support uuid param type by @Mause in #9164
* Bump ADBC to v0.7 by @pdet in #9185
* Add support for parquet key-value metadata by @Maxxen in #9126
* Default to JSON type if objects have an inconsistent structure by @lnkuiper
in #9086
* Add schema parameter to read_parquet by @lnkuiper in #9123
* [Python] Add the ability to provide a list of files to read_csv by @Tishj
in #8977
* Issue #7672: TIMESTAMP_XX to DATE by @hawkfish in #9279
* N-ary lambdas, and indexes as lambda parameters by @taniabogatsch in #8851
* Feature: Fixed size list nested type (ARRAY) by @Maxxen in #8983
* Fix unused warning by @Maxxen in #9318
* Internal #215: Window EXCLUDE Functionality by @hawkfish in #9220
* Add json_serialize_plan, json_serialize_sql tweaks by @Maxxen in #9230
* Add create statement support to fuzzer by @Tmonster in #9011
* Fix for issue #8108: Random() in lambda by @maiadegraaf in #9353
* Fix Lambda Serialization by @taniabogatsch in #9323
* Allow file_row_number with parquet schema option by @samansmink in #9290
* CSV - Always run sniffer by default by @pdet in #9250
* [Python Dev] Import items lazily by @Tishj in #8741
* Array fixes + make validity more lazy by @Maxxen in #9400
* Lambda performance revamp by @taniabogatsch in #9395
* [Python] Support replacement scan on connection.table(<name>) method by
@Tishj in #9427
* [Dev] Fix failure in Format Check CI job by @carlopi in #9516
* Fix parquet serialization by @Maxxen in #9485
* Support gcs:// and r2:// URLs to read data from GCS and R2 by @chrisiou in
#9388
* Don't reset validity target count by @Maxxen in #9565
* Merge into feature by @carlopi in #9583
* Additional list functions by @cryoEncryp in #8907
* [Python] Support Optional[...] in DuckDBPyType by @Tishj in #8658
* C-API: support streaming arrow query by @Virgiel in #8642
* Add ToString and Print method for JoinRelationSetManager and Fix JoinNode
Print by @Light-City in #9040
* Removed artificial HUGEINT minimum by @nickgerrets in #9441
* Parquet Encryption by @lnkuiper in #9392
* Internal #330: Quantile Performance by @hawkfish in #9461
* CAPI: Make it possible to create enum types by @alnkesq in #8788
* 5614 database invalidated by @Tmonster in #9513
* Add support for proper scoping (catalog + schema) to custom types by
@Mytherin in #9622
* Internal #576: strptime strftime infinities by @hawkfish in #9615
* ATTACH IF NOT EXISTS by @Mytherin in #9627
* Small benchmark changes by @taniabogatsch in #9638
* add option for keep_alive setting by @samansmink in #9648
* Add "getenv" function to shell which can be used to read environment
variables, and allow functions to be used in SET statements/PRAGMA
statements by @Mytherin in #9651
* Julia release by @Mytherin in #9670
* In set operations ORDER BY columns refer to the first set operation in SQL
- so the reference is not ambiguous by @Mytherin in #9658
* Replace old logos by @szarnyasg in #9674
* Fix dbgen/dsdgen when using custom catalog and schema by @ywelsch in #9686
* [Arrow] Properly use the parent's array.offset in many places in the scan
by @Tishj in #9661
* Update issue template with API/extension repositories by @szarnyasg in #
9693
* [Python] Fix lossy datetime.timedelta to INTERVAL conversion by @Tishj in #
9688
* Issue template: Report vulnerabilities via dedicated channel by @szarnyasg
in #9711
* Fix #9601: Call correct method in duckdb_pending_execution_is_finished by
@Mytherin in #9728
* Merge Feature Into Main by @Mytherin in #9726
* feat(c): add functions for determining statement/return types by @Mause in
#9430
* Issue #9673: ICU DST Truncation by @hawkfish in #9705
* Deserialize header fields by @carlopi in #9687
* fix: restore support for windows network paths by @Mause in #9725
* Constant time attach path lookup and locking to ensure unique file handles
by @taniabogatsch in #9671
* [ART] WAL serialization, automatic checkpointing, decoupling catalog and
storage, index names by @taniabogatsch in #9339
* Fix expanding structs in queries with ORDER BY by @taniabogatsch in #9481
* Only emit batch indices valid within the current pipeline by @ywelsch in #
9702
* Fix #9717: Correctly set null statistics of children of structs by
@Mytherin in #9733
* Fixes to warning and rendering of bar() by @carlopi in #9734
* Don't show "blabla" as part of syntax error by @mlafeldt in #9746
* Fix #9742: correctly catch empty ROW case in UPDATE by @Mytherin in #9744
* Explicitly attach duckdb file type by @taniabogatsch in #9747
* For ATTACH - Resolve extension prefix before determining the name so
"sqlite:file.db" is again correctly aliased as "file" \
instead of
"sqlite:file" by @Mytherin in #9753
* Wasm: Add wasm_threads as a class of built extensions by @carlopi in #9735
* Remove index joins by @taniabogatsch in #9751
* Support EXCEPT ALL and INTERSECT ALL by @hannes in #9636
* Add nightly deploy script by @samansmink in #9761
* update vcpkg by @samansmink in #9759
* Close s3 filehandle on destruction by @samansmink in #9758
* add list of collations that are required to determine equality. by
@Tmonster in #9757
* Apply fix for patching vcpkg in extension workflow by @samansmink in #9767
* Internal #766: SkipList Coin Toss by @hawkfish in #9772
* Support reading large decimals into doubles in the Parquet reader by
@Mytherin in #9770
* ATTACH - Always run ExtractExtensionPrefix also if a name is provided by
@Mytherin in #9771
* Issue #9762: Interval Fractional Seconds by @hawkfish in #9773
* Internal #716: Summarize approx_unique BIGINT by @hawkfish in #9774
* Issue #9755: TIMESTAMP_XX DOUBLE Parts by @hawkfish in #9769
* Add support for COPY FROM DATABASE statement by @Mytherin in #9765
* chore: move links duckdblabs -> duckdb by @dpprdan in #9779
* Detect FreeBSD platform by @szarnyasg in #9782
* Extention template: Enable DuckDB-Wasm extensions by @carlopi in #9356
* Version: add info on v0.9.2 by @carlopi in #9788
* [JDBC] Sync all methods from a statement that interact with a query result
by @pdet in #9659
* format_bytes rework, moving from decimal multipliers to binary ones by
@carlopi in #9736
* Make FORCE CHECKPOINT abort transactions of concurrently running queries by
@Mytherin in #9790
* Bugfix/9768 by @nbc in #9791
* Cleanup raw pointers from transaction manager by @Mytherin in #9237
* Partially fix #4182 - write distinct stats for string dictionary columns by
@Mytherin in #9518
* fix(python): minimal changes to support compiling for python 3.12 by @Mause
in #9797
* Implement #2534 - add parquet_file_metadata function that supports scanning
top-level file metadata by @Mytherin in #9793
* Correctly clean up database path when an error is thrown in attach by
@Mytherin in #9792
* Fix cotangent(0.0): should also throw OutOfRange by @carlopi in #9799
* Call BindSchemaOrCatalog when binding functions so that we can qualify
functions with only a database as well by @Mytherin in #9810
* Fix #9739 - UNIQUE USING INDEX is not supported by @Mytherin in #9809
* Fix #8596 - use ConstructConstantFromExpression for PIVOT IN list by
@Mytherin in #9813
* Fix #8500 - if we encounter any ambiguity while binding a function with a
parameter we rebind during execution by @Mytherin in #9814
* Remove watchOS from CI tests by @carlopi in #9820
* Fix #9262 - avoid checking exclusion/replace list when extracting table
names by @Mytherin in #9812
* LIST to VARCHAR cast fix by @taniabogatsch in #9819
* Fix #9806 - when an overflow is detected during filter pushdown the
pushdown should be halted, instead of claiming the result is always false
by @Mytherin in #9816
* Parquet: Include column key-value metadata in parquet_metadata function by
@Mytherin in #9798
* Add duckdb_optimizers function by @Mytherin in #9815
* Internal #805: Summarize NULL Percentage by @hawkfish in #9822
* Add s3a s3n protocols for httpfs by @samansmink in #9817
* S3: Add more details to error on multipart upload by @carlopi in #9826
* CI fixes by @Mytherin in #9827
* [Python] Pandas Analyzer no longer trips up when the pandas_analyze_sample
would only let it find nulls. by @Tishj in #9811
* Create streaming result from a prepared statement. by @Giorgi in #9802
* Clear all updates during checkpoint by @Mytherin in #9829
* Fix #9825 - disable adding transitive filters for <> in filter combiner by
@Mytherin in #9832
* [Upsert] Do not require ON CONFLICT clause on INSERT OR REPLACE in some
situations. by @Tishj in #9730
* Issue #9631: Time/Interval Hours by @hawkfish in #9643
* feat(c): support creating nested values in C API by @Mause in #9438
* For EXPORT DATABASE - always write forward slashes in COPY statements by
@Mytherin in #9833
* Make checking the database path atomic again by turning db_paths into a
bloom filter instead of a source of truth by @Mytherin in #9828
* Issue #9785: Missing Interval Parts by @hawkfish in #9796
* Issue#604 Support collations during IN/NOT IN operations. by @StarveZhou in
#9724
* Reset expression before returning binder error by @taniabogatsch in #9821
* Fix: Undefined behaviour in Bitpacking compression by @nickgerrets in #9844
* Add ORDER BY to List_Select test by @maiadegraaf in #9847
* CSV Sniffer Function by @pdet in #9522
* Expand Progress API by @pdet in #9531
* Fix #8095: Adjust the LG_PAGE parameter in jemalloc to accommodate the 64KB
PAGE SIZE in aarch64 Linux systems. by @vincent-chang in #9642
* Improve error message for index limitations by @szarnyasg in #9862
* Fix empty box in explain analyze statement by @chrisiou in #9860
* [Python] No longer scan datetime.datetime.max as infinity by @Tishj in #
9848
* Move Wasm logic to inside CMake by @carlopi in #9830
* Fix s3fs close issue by @samansmink in #9846
* Fix TSAN issue related to db_paths_lock by @Mytherin in #9868
* Fix #9863 - avoid moving constants for DATE - DATE subtractions by
@Mytherin in #9874
* Disable progress bar test by @Mytherin in #9875
* add FROM to InitialKeywords vector in autocomplete extension by @hamilton
in #9877
* [Optimizer] regexp_matches fix InternalException caused by NULL by @Tishj
in #9872
* [ADBC Test] Prevent segfault in test by @Tishj in #9871
* Fix progress test by properly initialising variables by @pdet in #9882
* Capitalize URL in httpfs extension flags by @szarnyasg in #9884
* Mark BufferPool getters const by @Y-- in #9885
* make BufferPool members protected by @jkub in #9886
* Parquet: Support more physical types of time columns with time zone by
@hannes in #9895
* docs(capi): add tests for prepared statement streaming by @Mause in #9892
* Fix deadlock in LockClients when checkpointing multiple databases, and
avoid locking all clients for regular checkpoints by @Mytherin in #9898
* Disable copy constructor of connection by @Mytherin in #9899
* Add TableCatalogEntry to bind info by @Mytherin in #9896
* Issue #9869: Strptime Week Start by @hawkfish in #9890
* Fix #9867 - correctly propagate relation name in COLUMNS expression by
@Mytherin in #9904
* Fix progress bar (again) by @pdet in #9905
* Safeguard uses of ColumnDefinition::DefaultValue by @Tishj in #9842
* Various CI fixes by @Mytherin in #9903
* [ADBC] Add support for windows. by @pdet in #9357
* Fix #8905 - make duckdb_rows_changed work with both new and deprecated
results by @Mytherin in #9907
* ART duckdb versions test requires 64-bit system by @taniabogatsch in #9906
* Internal #751: Shared Window Partition by @hawkfish in #9839
* Issue #9887: ISO Format Directives by @hawkfish in #9910
* Fix: string to integer cast by @nickgerrets in #9581
* [Test] Make test_progress_bar.cpp output more verbose by @Tishj in #9916
* Refactor and fix ART concurrency tests to avoid spurious CI failures by
@taniabogatsch in #9919
* Write old (empty) index_pointers to table metadata for forwards
compatibility with v0.9.2 by @Mytherin in #9923
* User agent in http header by @elefeint in #9632
* Add support for vacuuming partial deletes during CHECKPOINT by @Mytherin in
#9931
* JDBC: DuckDBNative - Close Shared Object InputStream Properly by @brianwyka
in #9933
* Fix ATTACH of foreign key by @taniabogatsch in #9932
* [DependencyManager] Rework internals of the DependencyManager by @Tishj in
#9715
* Internal #873: Empty Aggregate Frames by @hawkfish in #9936
* Add support for right_semi and right_anti. PR 2 by @Tmonster in #9897
* httpfs: fix null pointer dereference in AWSEnvironmentCredentialsProvider
by @mlafeldt in #9953
* Limit initial combine capacity in RadixPartitionedHashTable by @lnkuiper in
#9946
* [Python][Dev] Switch to using pyproject.toml when building and running CI.
by @Tishj in #9944
* Issue#9795 min/max doesn't use collation by @StarveZhou in #9855
* [Arrow][UDF] Properly support side_effects parameter for Arrow UDFs. by
@Tishj in #9959
* JDBC - Appender for Decimal by @Jens-H in #9568
* [Fix] No duplicates in list_intersect by @taniabogatsch in #9947
* [Python] Fix the ability to provide pandas_analyze_sample_size in the
config dictionary to connect by @Tishj in #9961
* [SQLLogicTest] Expected error message is no longer optional for statement
error by @Tishj in #9962
* fix offset type in list_casts and array_casts. by @yiyuanliu in #9972
* Issue #9978: Approximate Quantile Overflow by @hawkfish in #9985
* fix regexp_replace bug by @alitrack in #9938
* chore: Remove dead code by @krlmlr in #9992
* Internal #898: Totally Ordered Intervals by @hawkfish in #9994
* Swift Readme.md small fix by @atacan in #9977
* Issue #9956: Alternative TIME Casts by @hawkfish in #9984
* Make IEJoin code more clear by @xuke-hat in #9973
* Parallel Checkpointing by @Mytherin in #9999
* [Fix] ambiguous lambda parameters by @taniabogatsch in #9974
* [Python][Dev] Disable test causing issues on Python3.7 by @Tishj in #10005
* Shell: Many improvements/fixes to multi-line mode, enable multi-line mode
by default by @Mytherin in #10015
* Increase CLI history's max length to 1000 by @szarnyasg in #10006
* [Fix] nullptr dereference when analyzing nested types by @taniabogatsch in
#10004
* Improving error message when trying to open a locked database by @hannes in
#9988
* fix(function): fix ceil function by @sundy-li in #10014
* fix read parquet progress and read csv progress. by @yiyuanliu in #10013
* [Python][StreamQueryResult] Fix memory ownership issues in
StreamQueryResult::FetchRaw by @Tishj in #9968
* Revert to old method of computing terminal size as new method does not play
nice with lldb by @Mytherin in #10026
* Issue #9762: Interval Fractional Parts by @hawkfish in #9954
* Fix #9380 and #9738 by @lnkuiper in #9990
* Fix array subquery by @chenzl25 in #10025
* Issue #4545: Windowed Distinct Aggregates by @hawkfish in #9754
* add rowsort to test by @stephaniewang526 in #10036
* The UHUGEINT type by @nickgerrets in #8635
* build(python): fix python pkg version by @Mause in #10049
* Add support for FixedPointDeclimals v0.5 by @mcmcgrath13 in #10039
* DuckDB Secrets by @samansmink in #10042
* Improve progress bar for Aggregation and limit threads for large data sizes
by @lnkuiper in #9989
* Internal #940: GCC Window Distinct by @hawkfish in #10054
* Fix #10058: correctly handle unicode literals in regexp optimizer by
@Mytherin in #10061
* Update database_size.hpp by @rjatwal in #10072
* enable overriding per-query working-memory target. by @jkub in #9544
* fix(c): fix duckdb_create_union_type by @Mause in #10097
* Call InitialCleanup in PendingQuery(SQLStatement) by @ywelsch in #10083
* Removing useless variables by @ywgrit in #10082
* [WIP] Support dot notation for JSON by @ankrgyl in #9499
* Refactor deploy script for extensions by @samansmink in #10063
* Add list_reduce lambda function by @maiadegraaf in #9909
* Handle s3_endpoint that includes path by @tom-s-powell in #9918
* Update year in license file to 2024 by @szarnyasg in #10103
* Not including stdlib for just size_t, stddef is smaller header by @hannes
in #10104
* Bump iceberg extension version by @samansmink in #10102
* Internal #783: ICU DatePart Serializers by @hawkfish in #10055
* CI: Add backlink to original issue when its status changes by @szarnyasg in
#10111
* Streamline handling issues that come with PRs fixing them by @szarnyasg in
#10116
* Fix ParquetScanMaxThreads. by @yiyuanliu in #10113
* test(python): fix blind catches by @Mause in #10118
* CI: Create separate job for handling 'PR submitted' label by @szarnyasg in
#10119
* Lazy WAL creation by @taniabogatsch in #10086
* [BREAKING] Modify implicit casting rules to differentiate between string
literals and VARCHAR columns, and disable implicit casting to VARCHAR for
many types by @Mytherin in #10115
* For parsed expressions and table references - serialize query location, and
obtain query location for more properties in transformer by @Mytherin in #
10130
* Checksum WAL entries by @Mytherin in #10126
* Display unnamed structs as tuples instead of as structs with empty keys by
@Mytherin in #10134
* Fix #10008 - disallow parameters in DEFAULT clause, and remove unsupported
SQLite code for handling parameters in shell by @Mytherin in #10135
* Issue #10140: NULL Constant Lists by @hawkfish in #10142
* feat(py): support python 3.12 by @Mause in #10144
* fix create_function python stub by @yiyuanliu in #10132
* fix(py): don't use jemalloc on windows by @Mause in #10145
* Build manylinux_2_28 arm python wheels by @samansmink in #10137
* Slightly improve performance of the first aggregate function by @lnkuiper
in #9957
* Add csv & parquet write functions and toPandas to experimental PySpark API
by @TomBurdge in #9672
* Add handling for duckdb-wasm extensions in extension-upload-from-nightly by
@carlopi in #9883
* Add some pg session function to pg_catalog by @goldmedal in #10156
* Fix CSE elimination for window functions with bind data. Fixes #10124 by
@How-u-doing in #10152
* feat(py): Py3.12 support for Windows by @Mause in #10159
* Py3.12 Windows nightly fixes by @Mause in #10160
* Serialization for scalar functions nextval and currval by @ywelsch in #
10146
* Pushdown filters into semi and anti joins by @Tmonster in #10110
* Issue #9950: Ordered Aggregate Performance by @hawkfish in #10045
* uhugeint_t/hugeint_t operator changes by @nickgerrets in #10117
* add regexp_escape function by @chrisiou in #10044
* Infrastructure: truncate not always available in CI, use dd by @carlopi in
#10162
* JSON S3 optimization by @samansmink in #10151
* Remove chunk collection from reservoir sampler by @Tmonster in #10038
* Fix #10074 - for materialized CTEs the final result names are not
influenced by the aliases. Only the names of the CTE itself are influenced
by the aliases. by @Mytherin in #10163
* [Python] Fix issue in DataFrame construction where non-deduplicated names
were being used mistakenly by @Tishj in #10165
* Fix #10141 - Correctly handle recursive and nested types that refer to
other types in CREATE TYPE by @Mytherin in #10164
* Suspend duckdb shell on Ctrl+Z by @gsauthof in #10172
* Fix #9456 and improve Deliminator by @lnkuiper in #9993
* Temporary Memory Manager by @lnkuiper in #10147
* Issue #10138: Finite Temporal Helpers by @hawkfish in #10157
* Internal #425: TIMETZ Functions by @hawkfish in #10107
* Fix #10057: report correct error message when binding an aliased column
fails by @Mytherin in #10176
* Allow unquoted keywords to be used in DETACH by @Mytherin in #10175
* Implement FILE_SIZE_BYTES by @lnkuiper in #9920
* [Parquet] Fix 10148, allow reading large byte arrays into small decimals
for stats by @hannes in #10183
* Throw binder error when returning list has no columns by @Tmonster in #
10184
* Fix missing move by @samansmink in #10186
* [BREAKING] Implicit cast rules for integer literals, and parameterized ANY
for binding by @Mytherin in #10194
* Handle 0-list maps (erroring out) and add test-case by @carlopi in #10187
* Internal #1001: SEM Test Determinism by @hawkfish in #10197
* More work towards Custom Indexes by @Maxxen in #10032
* Collations are not yet properly serialized, remove enable_verification by
@carlopi in #10206
* fix: reject creation of persistent secrets when allow_persistent_secrets=
false for storage backends other than local_file by @stephaniewang526 in #
10199
* prevent physical nested loop join with multiple conditions on semi an?? by
@Tmonster in #10190
* chore: add const to BaseSecret and KeyValueSecret copy ctrs, fix
compilation error by @stephaniewang526 in #10182
* Allow DESCRIBE/SHOW/SUMMARIZE to be used as a subquery by @Mytherin in #
10210
* Internal #1042: 2023d Time Zones by @hawkfish in #10215
* fix: fix a bug where free_space was incorrectly calculated when flushing
partial blocks by @gitccl in #10220
* Support more PG information_schema views by @goldmedal in #10222
* Fix Issue #10122: wrong result in IEJoin by @xuke-hat in #10123
* Internal #861: Aggregation Absorb API by @hawkfish in #9971
* Better Cardinality estimates for right and left semi/anti joins by
@Tmonster in #9976
* Open JSON files lock-free if there are many by @lnkuiper in #10188
* Bitpacking compression for the UHUGEINT type by @nickgerrets in #10195
* fix: drop secret if exists on non-existing secret should not cause ex by
@stephaniewang526 in #10217
* Replace 'embedded' with 'in-process' in the Python package description by
@szarnyasg in #10232
* In .mode json in the shell use standard float output method by @Mytherin in
#10229
* Remove duplicate columns in PhysicalHashJoin by @lnkuiper in #10203
* Out-of-tree extensions for R Windows by @samansmink in #10204
* [Python] Output unnamed structs as tuple in fetchone/many/all methods by
@Tishj in #10174
* Internal #1022: Window TIME RANGE by @hawkfish in #10181
* fix(capi): add basic TIME_TZ support by @Mause in #10207
* Lambda scoping by @taniabogatsch in #10150
* Add batch functionality by @osidekyle in #10011
* Make FILE_SIZE_BYTES test more lenient by @lnkuiper in #10234
* Allow SQLNULL to be bound in VALUES list by @Mytherin in #10238
* Sequence clean-up - move all sequence access through a SequenceData entry
that is concurrency safe by @Mytherin in #10236
* Remove duplicate join conditions by @lnkuiper in #10235
* UNPIVOT - maintain original types and throw a better exception if type
matching is not possible by @Mytherin in #10240
* Correctly account for ORDER BY in ColumnLifetimeAnalyzer optimization pass
by @Mytherin in #10242
* CSV Parser 2.0 by @pdet in #10209
* COPY - allow copy_file_name to be formatted as identifier by @Mytherin in #
10246
* remove C-style cast in compression module by @gitccl in #10256
* Allow dsdgen to be interrupted by user by @elefeint in #10262
* Upgrade the schema of pg_proc to PostgreSQL 16 by @goldmedal in #10248
* chore: improvements to duckdb_api / user_agent by @elefeint in #10226
* Issue #10249: Window Clause Casing by @hawkfish in #10259
* Fix issue 10254 by @lnkuiper in #10265
* Store unqualified macro parameters, qualify before binding by @lnkuiper in
#10266
* Fix 9384 by @lnkuiper in #10267
* Fixes #10212: Correctly account for non-flat vectors in
ListColumnData::Skip by @Mytherin in #10268
* Enable intercepting file copy extension after binding by @Maxxen in #10255
* [Dev][Util] Have unittest respect the --start-offset parameter when used
alongside -l by @Tishj in #10277
* Issue #10272: DATE + INTERVAL by @hawkfish in #10274
* Fix #10279 - correctly use unsigned integers in delta decoding to wrap
overflows as specified by the spec by @Mytherin in #10288
* Add parse_path(), parse_dirname() and parse_filename() functions by
@chrisiou in #10208
* [Compression] ALP Compression (float/double) by @lkuffo in #9635
* Add function for non-bias-corrected kurtosis by @david-cortes in #9545
* fix the problem of fetching wrong data when using bitpacking compression by
@gitccl in #10291
* [Python] Compatibility with pandas==2.2.0 by @Tishj in #10290
* Avoid re-rendering the progress bar if the percentage has not changed by
@Mytherin in #10284
* Adapt further for z/OS by @v1gnesh in #10297
* CSV Parser Optimizations: Pre-computed skip list. Simpler state machine
transition. Flip state machine states and transitions. by @pdet in #10258
* Explicitly cast FTS column to VARCHAR by @lnkuiper in #10299
* Add table macro_definition to duckdb_functions() by @lnkuiper in #10301
* [CSV Parser] Fix regression with dialect detection on quoted values. by
@pdet in #10307
* Improve bitpacking skip performance + better testing of FetchRow by
@samansmink in #10295
* Fix #10308 - allow describe/summarize as prepared statement, and fix issue
with describe/summarize with ctes by @Mytherin in #10311
* CSV Reader making null padding Parallel by default by @pdet in #10306
* Remove spinlock for closing JSON files by @lnkuiper in #10300
* Fix NumericLimits<hugeint_t>::Minimum() * 0 case by @xuke-hat in #10319
* C API updates by @taniabogatsch in #10317
* Add create_sort_key function by @Mytherin in #10321
* SQLLogicTestRunner - Make mode command work in loops, and add mode
no_output by @Mytherin in #10328
* Escape all ASCII control characters in duckbox rendering by @Mytherin in #
10327
* Fix Failing Nightly Swift test by @Tmonster in #10320
* Basic struct filter pushdown by @Maxxen in #10314
* Improve the check for glob in sniff_csv function. by @gabihodoroaga in #
10243
* Add an icon to the duckdb.exe shell executable by @renevdzee in #9656
* [Arrow] Support scanning REE (Run End Encoded) Arrow arrays by @Tishj in #
9836
* [Compression] Fix Handling of -0.0 in ALP by @lkuffo in #10335
* Split jdbc tests by @Mause in #10338
* Set interrupted flag after pushing an error to prevent race condition where
the InterruptException could end up being the top-level error by @Mytherin
in #10337
* [Python] Fix bug in conversion of INTERVAL to datetime.timedelta by @Tishj
in #10339
* Update Postgres and SQLite extensions by @Mytherin in #10310
* Limit the number of threads used to scan distinct aggregates by @lnkuiper
in #10318
* Fail Regression test when difference in cardinalities is detected by
@Tmonster in #10340
* pin ccache action version by @samansmink in #10344
* test_all_types.py: Formatting according to black 24 by @carlopi in #10353
* Allow NULL bytes in ART indexes by @Mytherin in #10325
* Ensure version numbers passed to Windows .rc file are numbers by @Mytherin
in #10358
* Feature: Digit separators in numeric literals by @Maxxen in #10343
* Autocomplete small improvements by @carlopi in #10370
* Fix: correctly set list size of dictionary vector by @gitccl in #10369
* Check black version in script/format.py by @carlopi in #10354
* Change extension_directory default by @carlopi in #10359
* feat(jdbc): setBytes by @Mause in #10365
* [Block Size] CI test for 16KB block size and related code changes by
@taniabogatsch in #9967
* CI: Add workflow to check new issues for code formatting by @szarnyasg in #
10149
* Add additional STRUCT expansion tests by @taniabogatsch in #10373
* Fix MATERIALIZED CTE issue #10260 by @kryonix in #10386
* Add table_sample to TableStatistics (currently saved as nullptr) by
@Tmonster in #10378
* [Python][Dev] Use duckdb_cursor to avoid unintentionally sharing catalogs
and registered objects by @Tishj in #10388
* Extension metadata: detecting the platform by @carlopi in #10329
* Add missing checkpoints in test by @Maxxen in #10389
* Remove Python function signature (in test) by @carlopi in #10399
* Avoid requiring expected error message on original sqlite tests by @carlopi
in #10392
* Case insensitive extensions install & load by @carlopi in #10380
* Platform detection: Fix thread sanitizer job passing absolute path by
@carlopi in #10398
* [CSV Reader] Implicit Casting and Projection Pushdown by @pdet in #10390
* CI: Fix workflow to check new issues for code formatting by using heredoc
by @szarnyasg in #10403
* Rework Exception Internals by @Mytherin in #10410
* avoid copying in the for loop when there is a const by @zhouzilong2020 in #
10418
* Fix drop secret bug by @samansmink in #10185
* Issue template: Ask about testing with the nightly build (instead of
'main') by @szarnyasg in #10405
* [CSV Reader] Use array instead of unordered_map in projection pushdown by
@pdet in #10411
* [C-API] Add duckdb_appender_column_type by @maiadegraaf in #10401
* Fix results for anti joins on empty tables by @Tmonster in #10413
* Don't write Chimp/Patas files anymore & deprecate patas and chimp by
@Mytherin in #10423
* Small secret manager refactor by @samansmink in #10421
* [Python][Dev] Skip pyarrow test_struct_filter_pushdown on python3.8 by
@Tishj in #10419
* Add read_text and read_blob table functions by @Maxxen in #10376
* Rework FunctionSideEffects to FunctionStability - allow NOW() to be pushed
down by @Mytherin in #10426
* Remove dev logging on local_extension_repo creation by @carlopi in #10424
* GH Workflows: Create CI job for Coverity scan by @moshekaplan in #10433
* Issue #10224: FIRST ORDER BY by @hawkfish in #10347
* Coverity Scan: Project name is DuckDB by @Mytherin in #10447
* Multiline mode: add continuation prompt rendering by @Mytherin in #10425
* Python: fix exception hierarchy, and also catch std::exception by @Mytherin
in #10420
* Fix bug with full file download by @samansmink in #10429
* Add cloudflare invalidation to nightly deploy script by @samansmink in #
10430
* fix(py): fix building python binding from cmake by @Mause in #10445
* [CSV] Bug Fix related to quoted values starting with empty values by @pdet
in #10438
* Add COMMENT ON statement by @samansmink in #10372
* CLI: Highlighting for continuation tokens by @Mytherin in #10453
* Issue #10224: ORDERED FIRST Rewrite by @hawkfish in #10457
* add support for date, time, timestamp types to the Julia appender api by
@rdavis120 in #10449
* Bugfix/#10441 correctly validate second colon in jdbc url parameter in Java
client. by @peteraisher in #10442
* [Execution] Parallel StreamQueryResult by @Tishj in #10245
* [Julia][Dev] Improve README by @Tishj in #10464
* Linenoise Code Cleanup by @Mytherin in #10461
* [Bug Fix] [CSV Sniffing] Removing double quotes in header by @pdet in #
10462
* [Add Test] [CSV Parser] Type Detection on columns with null values by @pdet
in #10465
* Unconnected fixes by @carlopi in #10467
* CLI: Only show continuation bytes while editing the query by @Mytherin in #
10470
* [CSV Reader] [Add Test] Quoted Values impacting the column sniffing. by
@pdet in #10472
* GzipFS - use unique_ptr instead of new/delete by @Mytherin in #10474
* Group together index instantiation parameters into a struct, pass options
map as well. by @Maxxen in #10471
* Patch to build on Windows ARM 64 by @hannes in #10479
* [Bug Fix] [CSV Reader] Fix to using null_padding in conjunction to one of
the multifile reader options by @pdet in #10473
* More linenoise/CLI improvements by @Mytherin in #10480
* Add documentation example for Julia appender api. by @rdavis120 in #10475
* Linenoise: add support for many more alt command sequences by @Mytherin in
#10493
* Use CMAKE_CURRENT_BINARY_DIR in CMakeLists by @Flogex in #10484
* Avoid setting DUCKDB_NORMALIZED_VERSION to an empty string by
@SChakravorti21 in #10492
* Tag memory that is allocated through the buffer manager, and add
duckdb_memory() function by @Mytherin in #10496
* Linenoise: Disable automatic auto-complete rendering by default for now by
@Mytherin in #10498
* Fix edge case in RANGE for dates/timestamps when start=end by @Mytherin in
#10499
* Fix for auto-complete on empty words so behavior is consistent with
previous DuckDB by @Mytherin in #10502
* Nested Array Validity Fixes + RowOperations by @Maxxen in #10483
* Keep file extension for temporary files by @Maxxen in #10459
* bundle-library: Add optional Makefile target by @carlopi in #10507
* Fix #10363 - prefer selecting entire rows over SQL value functions by
@Mytherin in #10505
* [CSV Reader] Avoid unnecessary writes to temporary file when reading in
limited memory cases by @pdet in #10509
* [Dev] Fix ASAN thread limit exceeded issue in CI by @Tishj in #10510
* [Dev] Cancel tasks in EndQueryInternal by @Tishj in #10512
* Export stack trace as part of extra exception info if
DUCKDB_DEBUG_STACKTRACE is defined (DEBUG_STACKTRACE cmake variable) by
@Mytherin in #10514
* feat: make SecretEntry copyable so we don't lose the underlying BaseSecret
obj for non-CatalogSet secrets by @stephaniewang526 in #10518
* fix(py): json type in description field by @Mause in #10521
* Decorrelation and parallelization of recursive and materialized CTEs by
@kryonix in #10357
* Keep track of view names and aliases separately so we can distinguish
between explicitly provided aliases by the user and names returned by the
view, and block usage of view if names changed by @Mytherin in #10500
* Tweak TemporaryMemoryManager by @lnkuiper in #10503
* On *nix, return errno in IOException extra_info by @philippmd in #10529
* Use null cast instead of reinterpret for NULL -> JSON by @lnkuiper in #
10526
* [Python] Fix various small issues by @Tishj in #10533
* [CSV Reader] NullPadding Tests by @pdet in #10530
* Linenoise: make ENTER behave more similarly to other CLI clients - Ctrl+X
can now be used to enter newlines at the cursor position by @Mytherin in #
10527
* [Python][Dev] Add PYTHON_EDITABLE_BUILD to Makefile by @Tishj in #10488
* Reset git status before applying patches in out-of-tree build by @Mytherin
in #10534
* Fix #10486 - allow out-of-order struct casting by @Mytherin in #10537
* Make ClientContext available during attach by @ywelsch in #10531
* feat(jdbc): setDate by @Mause in #10408
* Fix unused variable warning/error by @carlopi in #10542
* [Dev]: ICU 2024a TimeZones by @hawkfish in #10544
* Path utility fixes by @Maxxen in #10538
* Support struct_extract and unnest for unnamed structs by @Mytherin in #
10541
* [Dev] Fix isses in parallel Checkpoint by @Tishj in #10525
* More TemporaryMemoryManager tweaks by @lnkuiper in #10549
* Add order to tests by @Flogex in #10536
* Require at least 1 argument when calling ListZip during bind by @Tmonster
in #10485
* Benchmark runner: check for errors also if no result is specified by
@Mytherin in #10554
* [CSV Reader] [Bug Fix] Nightly CI Segfaults by @pdet in #10551
* Fix for test/sql/copy/file_size_bytes_large.test_slow test by @pdet in #
10552
* Simplify binary-search in FindRunIndex by @felipecrv in #10487
* Remove query profiler history and add hooks for certain events in the
ClientContext by @Mytherin in #10504
* [CSV Reader] Reset state on quoted/escaped when applying projection
pushdown by @pdet in #10557
* CommitState::WriteCatalogEntry refactor by @carlopi in #10555
* [CSV Reader] Fix 9952 and race condition on error handler by @pdet in #
10558
* Fix a few tests failing non-deterministically with ALTERNATIVE_VERIFY=1 by
@carlopi in #10560
* unittester: if test-dir is provided avoid deleting it by @carlopi in #10564
* Allow DuckDB execution without implicit main thread by @ywelsch in #10548
* Fix #10528 - disallow parsing exponents for integers in strict parsing mode
by @Mytherin in #10559
* [Python] Fix issues related to handling of Python exceptions by @Tishj in #
10563
* [Python] Fix crash caused by fetch_record_batch by @Tishj in #10565
* [Dev] Skip some tests on ALTERNATIVE_VERIFY by @Tishj in #10567
* [Python][Dev] Test does not throw HTTPException by @Tishj in #10568
* [Export] Fix export of user-defined types by @Tishj in #10569
* Fix heap buffer overflow in VARCHAR -> TIME trycast by @Tishj in #10571
* [Dev][CI] Add --no-exit to run_tests_one_by_one by @carlopi in #10572
* Handle also branch with no threads enabled by @carlopi in #10573
* Deduplicate code dealing with deduplication of column names by @Tishj in #
10532
* Bump spatial by @Maxxen in #10580
* extension_distribution.yml: Pass DUCKDB_PLATFORM by @carlopi in #10582
* chore(jdbc): correct datetime delta by @Mause in #10584
* Fix Nested Array TupleData Serialization by @Maxxen in #10513
* Do not replace filters that evaluate to always true by @Tmonster in #10553
* [Dev] Fix triggered assertion in SortedAggregateState::FlushChunks caused
by a small STANDARD_VECTOR_SIZE by @Tishj in #10202
* [Tester] Add --require <name> by @Tishj in #10579
* Add Support Options page by @szarnyasg in #10598
* Use all threads to read multiple parquet files. by @Tmonster in #10590
* [CSV-Reader] Fix on finalize for projection pushdown + nullpadding by @pdet
in #10596
* [Julia] Remove DataFrame from Project.toml by @Tishj in #10605
* [CSV Reader] [Bug Fix] Make CSV Results hold the buffers they depend on by
@pdet in #10589
* minor secret manager fix by @samansmink in #10600
* Point error message to stable link by @carlopi in #10592
* Fix issue in aggregate HT where a task could be blocked and never be
unblocked if the aggregation was interrupted early due to e.g. a limit by
@Mytherin in #10604
* Memory tracking - explicitly zero-initialize memory tracking arrays by
@Mytherin in #10606
* [Dev] Bump extensions & apply patches by @carlopi in #10603
* Secret folder by @carlopi in #10607
* JDBC: Skip combine test run because #10338 by @hannes in #10616
* Fix for SQL value functions when there is an alias specified by @Mytherin
in #10611
* delay secret storage initialization by @samansmink in #10612
|