Duckdb

Latest version: v0.10.2

Safety actively analyzes 623847 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 7

0.5.1

Not secure
This is a bug fix release for various issues discovered after we released 0.5.0. There are no new features, just bug fixes. The following PRs were included in this release:

* [Fuzzer] Issue 4152 - Lag window function issue by lokax in https://github.com/duckdb/duckdb/pull/4603
* Fix zonemap check for VARCHAR by lokax in https://github.com/duckdb/duckdb/pull/4613
* Remove the DLLEXPORT from deleted API methods by emmenlau in https://github.com/duckdb/duckdb/pull/4611
* Fix update statement on generated column by lokax in https://github.com/duckdb/duckdb/pull/4616
* [Fuzzer] Issue 4152 - Limit 0% on ANY subquery by lokax in https://github.com/duckdb/duckdb/pull/4544
* [Fuzzer] Issue 4610 - Vacuum table with generated column by lokax in https://github.com/duckdb/duckdb/pull/4622
* [Fuzzer] Decimal scale+width overflows too quickly by Tishj in https://github.com/duckdb/duckdb/pull/4627
* [Fuzzer] issue 4566 by Tishj in https://github.com/duckdb/duckdb/pull/4592
* Issue 4635: DATE_DIFF Week Boundaries by hawkfish in https://github.com/duckdb/duckdb/pull/4648
* Fix issue 4630 by lnkuiper in https://github.com/duckdb/duckdb/pull/4642
* [Python] Fix unwanted conversion from NaN -> NULL in param list by Tishj in https://github.com/duckdb/duckdb/pull/4624
* Fix home directory setter by attilahorvath in https://github.com/duckdb/duckdb/pull/4617
* fix(jdbc): correct mapping for TIMESTAMP_WITH_TIME_ZONE by Mause in https://github.com/duckdb/duckdb/pull/4654
* Fix bug changing input order on array_sort column by taniabogatsch in https://github.com/duckdb/duckdb/pull/4643
* Fix issue 4625 by lnkuiper in https://github.com/duckdb/duckdb/pull/4653
* [Extensions] Suggesting which extension to Load/Install by pdet in https://github.com/duckdb/duckdb/pull/4634
* Fixes issue 4123 by Tishj in https://github.com/duckdb/duckdb/pull/4523
* Updating jdbc deploy script by hannes in https://github.com/duckdb/duckdb/pull/4663
* Consistent struct definitions by hannes in https://github.com/duckdb/duckdb/pull/4667
* Fix 4666 by taofengliu in https://github.com/duckdb/duckdb/pull/4670
* Fix for 3417 by PedroTadim in https://github.com/duckdb/duckdb/pull/4664
* feat: improve python replacement scan error by Mause in https://github.com/duckdb/duckdb/pull/4672
* [C-API] Data chunk invalid left-shift by Tishj in https://github.com/duckdb/duckdb/pull/4660
* fix: correct mislabelling of amd64 libs in jars by Mause in https://github.com/duckdb/duckdb/pull/4691
* Fix 4647 by taofengliu in https://github.com/duckdb/duckdb/pull/4698
* Throw error if attempting to delete from table without physical columns by Tishj in https://github.com/duckdb/duckdb/pull/4693
* Fix 4475: allow ignore_errors in read_csv and read_csv_auto by Mytherin in https://github.com/duckdb/duckdb/pull/4713
* Fix 4442: correctly handle TIMESTAMP logicalType in Parquet files by Mytherin in https://github.com/duckdb/duckdb/pull/4714
* Fix 4699: when no file is found globbing, fallback to using the literal string name as a path by Mytherin in https://github.com/duckdb/duckdb/pull/4716
* Fuzzer fixes batch 1 by Mytherin in https://github.com/duckdb/duckdb/pull/4707
* Fix 4677. Correctly set_not_null when table contains generated column by zippond in https://github.com/duckdb/duckdb/pull/4706
* Fix 4703 by taofengliu in https://github.com/duckdb/duckdb/pull/4715
* Fixing Extension naming CI Checker by pdet in https://github.com/duckdb/duckdb/pull/4717
* [Python(pandas)] Scan multiple chunks worth of values from a 'object' dtype DataFrame by Tishj in https://github.com/duckdb/duckdb/pull/4692
* Fix 4694: Keep shared pointer to pipelines around in additionally scheduled events by Mytherin in https://github.com/duckdb/duckdb/pull/4724
* Fuzzer Batch Fixes 2 by Mytherin in https://github.com/duckdb/duckdb/pull/4722
* Fix 4702. Correctly use index when generated column is involved by zippond in https://github.com/duckdb/duckdb/pull/4727
* Fix for 4583 by PedroTadim in https://github.com/duckdb/duckdb/pull/4728
* Fuzzer fix batch 3 by Mytherin in https://github.com/duckdb/duckdb/pull/4726
* Fix 4562: generate table index for dummy scan generated from VALUES clause by Mytherin in https://github.com/duckdb/duckdb/pull/4731
* [Arrow] Guarantee threads don't call get_next after stream is done. by pdet in https://github.com/duckdb/duckdb/pull/4712
* Correctly catch and report exceptions thrown during a pipeline's scheduling by Mytherin in https://github.com/duckdb/duckdb/pull/4733
* Fix for issue 4708 by PedroTadim in https://github.com/duckdb/duckdb/pull/4711
* Fix 4568: correctly handle casts in deliminator by Mytherin in https://github.com/duckdb/duckdb/pull/4734
* No longer disable vptr sanitizer on M1 macs by Mytherin in https://github.com/duckdb/duckdb/pull/4735
* Use version tag as dir for extensions for releases by samansmink in https://github.com/duckdb/duckdb/pull/4729
* Correctly call ::Skip function of child of structs by Mytherin in https://github.com/duckdb/duckdb/pull/4736
* [Map] Map extract now properly uses the selection vectors of the `map` and `key` vectors by Tishj in https://github.com/duckdb/duckdb/pull/4725
* Fix 4356 by taofengliu in https://github.com/duckdb/duckdb/pull/4740
* Fuzzer Batch 4 by Mytherin in https://github.com/duckdb/duckdb/pull/4737
* feat: bump Julia package version by Mause in https://github.com/duckdb/duckdb/pull/4742
* Julia API: Add load! to add a DataFrame as a table by jfb-h in https://github.com/duckdb/duckdb/pull/4743
* aarch64 extensions by samansmink in https://github.com/duckdb/duckdb/pull/4745
* Faster hive part filters by samansmink in https://github.com/duckdb/duckdb/pull/4746
* [Python] DECIMAL with value 0.00... issue fix by Tishj in https://github.com/duckdb/duckdb/pull/4690
* enable out-of-tree extensions for aarch64 by samansmink in https://github.com/duckdb/duckdb/pull/4751

**Full Changelog**: https://github.com/duckdb/duckdb/compare/v0.5.0...v0.5.1

0.5.0

Not secure
This preview release of DuckDB is named "Pulchellus" after the [Green pygmy goose (Nettapus pulchellus)](https://en.wikipedia.org/wiki/Green_pygmy_goose) which is native to Australia where [VLDB 2022](https://vldb.org/2022/) is starting today. Despite being called a "goose" it is actually a duck.

Binary builds are listed at the bottom of this post. Feedback is very welcome.

Note: Again, this release introduces a backwards-incompatible change to the on-disk storage format. We suggest you use the `EXPORT DATABASE` command with the old version followed by `IMPORT DATABASE` with the new version to migrate your data. See the [documentation](https://duckdb.org/docs/sql/statements/export) for details.

Below a list of changes in this release

Major Changes & Features

- 4189: Implement Out-of-Core Hash Join and Re-Work Query Verification
- 4022: Art Index Storage
- 4274: Join Order Optimizer improvements
- 4420: Logical Plan Serialization
- 4137, 4347, 4293, 4190, 4178, 4177, 3954 & 4159: Scalability and performance improvements for Window operator
- 4004: Add support for extensions to the parser, and add an example of this to the loadable extension demo
- 4089: Signed Extensions
- 4097 & 4211: Filename column + Hive partitioning support for Parquet Reader
- 4501, 4511: Aarch64 Linux builds of CLI, shared library, JDBC & ODBC

Minor Changes & Bug Fixes
- 4594: [Map] Fix map_extract from multiple rows
- 4585: Fix for r test instability, 4549
- 4560: Support all basic integer types in node API
- 4558: [CPP-API] Comment no longer causes crash
- 4552: [Fuzzer] Issue 4152 - Remove ToString roundtrip in query verification
- 4543: Fixing silent assertions
- 4542: Check if database is still alive when trying to connect for nodejs
- 4541: fix for issue 4533
- 4539: Paralelization non-dependent on Arrow rows
- 4524: Explicitly deleting default connection on js side
- 4522: Correct architecture name for Linux aarch64
- 4521: Adding correct substrait release tag to out-of-tree extension deployment
- 4520: Added test cases for several fixed JDBC issues
- 4516: Fix 4455, dont set default schema in transform
- 4513: Issue 4502
- 4510: [Casting] Varchar -> Decimal cast fix
- 4507: [CSV] Fixed bug related to invalidated iterators
- 4505: extension trigger event
- 4504: fix: short-circuit hash and version discovery
- 4496: [Fuzzer] Issue 4152 - Force no cross-product issue
- 4495: Build ODBC driver binary for OSX
- 4494: [Fuzzer] Issue 4152 - Analyze inexisting column
- 4493: Declare all variables for nodejs.
- 4491: Issue 4419: Range Join Swizzling
- 4488: Making the parquet extension loadable
- 4484: fix: ignore status message from output of mypy stubs check
- 4483: [Development bug] unittest result_helper.cpp triggers assertion
- 4480: Remove REST server
- 4479: Remove assertion
- 4477: Removing Substrait From DuckDB Repo
- 4474: WIP 4152
- 4472: [Python] Removed mutable default parameters
- 4470: Fix hidden merge conflict with fetchmany
- 4465: [Python] `fetchmany` implemented
- 4458: Issue 4454: VARCHAR/DATE Reversibility
- 4448: Issue 3954: Pinned Heap Blocks
- 4440: Added support for HUGEINT input type to BIT_COUNT scalar function
- 4434: Python: Add PyRelation.fetchnumpy()
- 4429: Allow indicating a format version that should be used to write/read from (De)serializer and use it for plans
- 4427: Python: Improve docstrings for DuckDBPyRelation and DuckDBPyResult
- 4418: Fix typo
- 4416: Fix several update issues
- 4413: Correctly schedule mix of union/child pipelines (again)
- 4409: Increase timeout for coverage checks
- 4405: Hybrid ART Leaf Part I
- 4404: Add support for TS_MS, TS_NS, and TS_S
- 4400: Issue 4388: DATE_TRUNC Low Precision
- 4398: fix: correct object return types for arrow functions
- 4395: Fix name of environment variable
- 4390: Support UNION BY NAME set operation
- 4383: Missing LISTs are NULL
- 4382: Include PID in test directory name
- 4380: R: Avoid `translate_duckdb()` in tests
- 4377: R: Full BLOB support
- 4372: Fix 4370: correctly handle non-flat vectors in list_sort
- 4371: [Python] Changed all RuntimeErrors thrown in the Python client
- 4368: Fixes issue 4365 - Not null constraint is no longer duplicated
- 4364: Allow extra parameters in list_aggr to be passed in, as long as they are constant and only used during the bind
- 4363: Fix for array_position with NaNs: use Equals::Operation instead of regular equality
- 4362: Allow table functions to set cardinality stats through the C API - and utilize this in Julia DataFrame scans
- 4359: Mark slow tests
- 4355: Fix typo in exception text
- 4354: R: Use preinstalled symbol
- 4353: Shell: Add missing newline in help output
- 4352: Tweak contributing guide [ci skip]
- 4345: [Substrait] Pushing-down projections and filters to read relation
- 4340: Correctly schedule pipeline dependencies when scheduling mix of UNION and FULL OUTER JOINs
- 4336: feat: add basic json support to jdbc client
- 4334: Bring ibis/substrait tests to a sane state
- 4332: Fix Julia parallelism interleaving with the garbage collector, and expose Pending Query Result in C interface
- 4328: Allow specifying a custom home directory using the SET home_directory option
- 4327: [Aggregate] DISTINCT aggregates without GROUP BY are now executed in parallel
- 4324: Fix 4309: fix for multiple foreign key constraints on the same table-table pair
- 4323: Optimizer profiling
- 4322: Print NOT operator correctly
- 4319: feat: add missing node versions to CI
- 4317: refactor: remove dead code in python client
- 4316: R: Add rlang as suggested dependency
- 4315: Column Data Collection, Arrow Result conversion rework, Cross Product performance fixes & more
- 4312: R: Install tidy CLI tool
- 4310: R: Add test for `test_all_types()`
- 4304: Improve numeric hash function to a better but slightly slower hash function
- 4301: Add unit of measurement in timer function
- 4300: Support root type on expressions 4278
- 4298: Feature/nodejs client docs
- 4297: fix: remove nodejs test focus
- 4296: Avoid infinite loop in range(NULL)
- 4294: 4276 Serializing data types on table schema in substrait
- 4289: [Python/Pandas] fix +/- inf wrongly converting to NaN (NULL)
- 4288: Fix fuzzer issue w.r.t. NULL values in generate_series
- 4286: [Python - Relation] CreateView on a filtered relation does not cause infinite loop anymore
- 4285: chore: remove cython constraint now that bug is fixed
- 4284: Pandas timezone
- 4283: Return errors from RecordBatchReader
- 4280: R: Remove nycflights13 dependency
- 4279: R: Don't export duckdb_explain()
- 4277: feat: update setup.py links
- 4272: Allow 0 as a seed parameter
- 4266: R: Only quote non-syntactic and reserved words
- 4265: Specialize LIST aggregate function implementation
- 4263: R: Avoid attaching package during tests
- 4259: Add ANY_VALUE agg function
- 4256: Schedule child pipeline correctly
- 4255: Disable ibis substrait tests for now
- 4250: C API: Report appender error in case conversion fails
- 4240: DELIM_JOIN now propagate statistics correctly
- 4237: fix: pin cython to work around bug
- 4236: Integer types now correctly increase `width` of DECIMAL type.
- 4235: Parquet writer: Write dictionary_page_offset, and distinct_count for dictionary encoded strings/enum
- 4234: Implement json_merge_patch and jsonlines output mode
- 4233: feat: fix pandas types in docstrings/python types
- 4230: Handle nulls in structs and lists
- 4225: Add Jaro Winkler
- 4215: Use right template for smallint
- 4213: feat: update instructions for installing master builds in bug report template
- 4212: Improve error message
- 4210: PARQUET: Move StringColumnWriter dictionary to use string_t to avoid allocations
- 4209: Remove unused PhysicalTypes
- 4207: Disable GC during Julia execution to avoid internal GC deadlock in DataFrame scan
- 4206: Fix 4202: in the comparison simplification optimizer, we can only shift the cast to the constant if both casts are invertible
- 4199: feat: Use pip to install and uninstall python client
- 4198: [capi] impl clear bindings for prepared stmt
- 4197: feat: port bug_report.md to bug_report.yml
- 4196: Fix RTTI issue across extension boundaries on OSX
- 4192: Correctly call SetFilePointerEx on Windows so the truncate works as expected
- 4191: Fix Expanded CI test case by adding swap space to test
- 4188: ALTER SEQUENCE IF EXISTS fix
- 4187: [Storage] FOR compression
- 4185: ISSUE 3248 Support for ALTER TABLE altering columns NOT NULL
- 4183: Julia multi-threading fix: avoid using a time-out to cancel threads in case there are no tasks
- 4179: node: add async-iterator-based streaming
- 4175: [CI] Python Build with Sanitizer
- 4172: Update stubs test
- 4168: Issue 4161: Create WindowExecutor
- 4167: node: report memory usage to the node GC
- 4166: Fix 4165: correctly fill in false_sel when performing comparison with constant null value
- 4160: node: don't crash on syntax errors
- 4154: Making date_trunc statistics handling consistent with date_part
- 4153: Support for int64 round trips in R driver using the bit64 package
- 4151: Fix orrify merge conflict
- 4143: Correctly handle query parameters in JDBC
- 4140: CI Fixes
- 4139: Remove redundant code
- 4138: Support struct.* to retrieve all struct fields in SELECT list
- 4134: Fuzzer Fixes
- 4133: Remove DUCKDB_API for deletes. (For Windows/ZIG)
- 4132: [Python] `project` now correctly inherits owning references to PyObjects
- 4131: Missing error messages
- 4125: Fix Orrify rename merge conflicts
- 4124: [Substrait] [Python] [R] Upgrade Substrait and introduce function to export query plan as a substrait - JSON
- 4117: (Hopefully) fix signing extension signing on master
- 4112: PARQUET: Add data pages encodings to their metadata
- 4111: Fix off-by-one in plan cost regression test script
- 4110: Rename Orrify -> ToUnifiedFormat, VectorData -> UnifiedVectorFormat, Normalify -> Flatten
- 4108: ODBC: fixing multicolumn parameter binding
- 4107: Refactor: rename simple aggregate to ungrouped aggregate
- 4104: Support Parquet's `RLE_DICTIONARY` encoding for string columns
- 4103: Ntile fixes
- 4101: Some follow up fixes for extension signing
- 4096: Implement ANALYZE
- 4093: Support ORDER BY and LIMIT in correlated subqueries, and add support for the ARRAY(subquery) syntax
- 4090: Fix for non varchar input for sequence functions
- 4088: Fix Issue 3813 - fixedsize PyArrow List -> DuckDB conversion
- 4083: JDBC Change getTimestamp to throw an error for wrong data types
- 4080: Several parser improvements
- 4076: Unentangle Parquet ColumnWriter and StandardColumnWriterState
- 4075: feat(breaking): improve python exceptions
- 4070: [JDBC] CachedRowSet support
- 4069: Improve error messages of extension install
- 4068: Fix bug with PhysicalStreamingWindow
- 4065: Better handling plus encoding in urls
- 4061: Fix 3991: use case_insensitive_map for headers
- 4060: Null handling unification
- 4059: Prepared Statement Verification & many prepared statement fixes
- 4058: nodejs: use less memory in each
- 4057: Fixed an error in comment
- 4053: [R] [CI] Run arrow test single threaded to avoid wrong fp comparison
- 4050: Bump sqlite scanner version
- 4049: Remove need for locks in TPC-H dbgen
- 4048: Test query profiler shouldn't output profiling info to the console
- 4045: Making delayload flags dependent on whether we are NOT doing a static…
- 4044: Issue 3593: avoid duplicate eliminating correlated columns in subqueries when they involve LIST columns
- 4039: Making memory leak sanitizer happy with DuckDB Shell
- 4035: Fix several memory-allocation related issues - use Allocator in many places, and reduce many allocations all over
- 4033: Plan cost regression tests
- 4032: Add missing python test dependencies
- 4031: Fix issue 3989
- 4012: Fix amalgamated build with multiple .cpp
- 4011: Fix amalgamation script when --splits is used
- 4009: `EXPLAIN ANALYSE` should honor profiler output format
- 4005: Fix for 3997
- 4002: fix fts/httpfs include directories
- 3999: Include guard renaming for amalgamation export
- 3996: Fix for issue 3951
- 3990: Substrait Interface in R API
- 3988: feat: implement DuckDBConnectiongetSchema for JDBC
- 3985: Pandas->DuckDB Series of dtype='O' conversion
- 3982: Expose dbgen text buffer size as a parameter and Python Replacement Scans Leak fix
- 3978: Enhance bound parameters error message
- 3977: Adding alias part 2
- 3973: Using aggregate input data for aggregate functions
- 3971: Issue 3079: When installed system RAM cannot be determined, default to no memory limit
- 3967: Use fmt library for Value::ToString of float/double types
- 3965: Fix 3942: avoid converting + to space in httplib::decode_url
- 3964: Add support for DATEFORMAT and TIMESTAMPFORMAT to COPY TO
- 3963: Atomic extension install: use UUID in temp file
- 3961: Fix 3960: avoid returning an error when a blob contains a NULL character in duckdb_append_blob
- 3958: Fix 3955: correctly compute width/scale when combining decimal type of different width/scale
- 3957: [Java] Implement appender support for all? UTF-8 characters 😜
- 3953: Fix missing LIST type in duckdb_types
- 3952: Windows FileExists regression fix: need to use _wstati64 instead of _wstat64i32
- 3950: Atomic extension installation
- 3945: Fuzzer 55: Remove Normalify Call
- 3939: Issue 3937: Casting infinite times
- 3928: Adding alias type struct and map
- 3927: Fix failing TPC-E test
- 3925: New Julia package requires 0.4 of DuckDB_jll
- 3921: Retire `LogicalTypeId::HASH` and replace it with `LogicalTypeId::UBIGINT`
- 3919: ODBC: SingleExecuteStmt and error message
- 3918: Julia compat version
- 3917: Ignore invalid UTF8 in fuzzer scripts
- 3916: Julia Guidelines fix
- 3915: Add duckdb_extensions function
- 3914: Expanding jdbc deploy script to be able to automatically release, too
- 3912: Julia UUID and version bump
- 3911: Making universal builds of OSX Extensions
- 3910: Fix for export of current_time, current_timestamp, etc functions
- 3909: More fuzzer fixes
- 3903: Issue 3881: DATE_TRUNC statistics
- 3900: Add newlines at EOF
- 3897: feat: add extension load/install methods to python client
- 3882: Uncompressed string improvements
- 3868: Bump yyjson version
- 3867: Enable exporting macro's
- 3866: Add default for function NULL handling
- 3864: [Python] Relation Explain
- 3853: Feature/struct_insert function
- 3814: Expose dbgen text buffer size as a parameter
- 3694: List lambdas
- 3618: Struct Types for Node.js UDFs
- 3600: Issue 1466: added `map_from_entries` function

0.4.0

Not secure
This preview release of DuckDB is named "Ferruginea" after the [Andean Duck](https://en.wikipedia.org/wiki/Andean_duck).

Binary builds are listed below. Feedback is very welcome.

Note: This release should be backwards-compatible wrt the on-disk storage format, but the next release may very well be incompatible again. So please don't rely on this just yet. We suggest you use the `EXPORT DATABASE` command with the old version followed by `IMPORT DATABASE` with the new version to migrate your data. See the [documentation](https://duckdb.org/docs/sql/statements/export) for details.

Also note: DuckDB is switching to [semantic versioning](https://semver.org). Version numbers look like this: `MAJOR.MINOR.PATCH` with changes to
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards compatible manner, and
- PATCH version when you make backwards compatible bug fixes.

However, note that because `MAJOR` is currently 0, "Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable."


Below a list of changes in this release

Major Changes & Features
- 3767: Table function rework, parallel Julia DF scans & Python regression tests
- 3749 & 3747: Query cancellation with CTRL-C for R and Python clients
- 3700: Support Parallel Order-Preserving Result Set Materialization
- 3696: Support WINDOW FILTER
- 3620: HTTP read optimization
- 3668: Adding alias type
- 3435: Add support for reading newline-delimited JSON
- 3783: Extension loading by statically linking DuckDB

Minor Changes & Bug Fixes
- 3905: Fix SQLancer CI
- 3904: Fix 3896: correctly compute GroupRowsAvailable in struct reader in case a child-entry is not just a list, but a struct with only list entries
- 3902: Fuzzer: fix sanitization of address sanitizer error
- 3901: R: Extract DetectLogicalType() function
- 3899: R: Check query return type instead of query type in dbFetch()
- 3898: Issue 3880: Rebind DATE_TRUNC dates
- 3894: Purge concurrent queue when enqueueing entries to prevent entries from piling up
- 3892: Fix for issue 3878
- 3889: Fix TreeRenderer crash on invalid UTF8
- 3888: Julia Table Functions: add stack trace to errors reported
- 3887: Correctly reset interrupted flag so verification does not overwrite original error
- 3886: Remove the check_tread from python connection
- 3879: Avoid title is too long error in fuzzer issue submission
- 3877: Fix use-after-free in create view with prepared statement parameter
- 3872: Glob with search paths
- 3871: [Python] Making new connections to cursors and adding lock on queries over sampe connection
- 3869: Several OSSFuzz fixes
- 3865: Fix 3860: add support for creating foreign keys on temporary tables, and for now disable support for cross-schema foreign keys
- 3863: Out-of-tree Extensions for Windows
- 3862: Rework of Struct <> Dictionary Vectors, and add test_vector_types function
- 3852: Added support for generated columns to TableCatalogEntry->ToSQL()
- 3850: Enable EXTENSION_STATIC_BUILD for Mac too
- 3849: [Python] Unbundle Substrait
- 3848: Parquet: fix for fixed length byte arrays in dictionary column reader
- 3847: Expand oss-fuzz tests to run queries and check for internal errors
- 3846: Pass through read only flag for node connector
- 3845: Add queries over Arrow to Python regression tests, and time entirety of TPC-H
- 3843: [JDBC] Pass through scale and precision for decimal types from DuckDBColumnTypeMetaData
- 3842: Allow to use custom memory allocator through DuckDB API on Windows
- 3837: Fix overflow in generate_series and overflow in abs operator
- 3832: Issue 3816: Parquet Time Zones
- 3831: s3fs decode keys correctly
- 3828: Update testthat snapshots
- 3818: Add SQLancer to CI Fuzzing Framework
- 3815: Out-of-tree Extension Builds
- 3812: Fix several issues found by Valgrind
- 3810: DuckDB.jl Julia Package History
- 3809: Add `shell: bash` everywhere
- 3802: fix ci breaking from extension PR
- 3799: Optimisation rule for regexp_matches with literal pattern
- 3798: Substrait: Adding more compatibility with Substrait and Ibis
- 3792: Issue 3790: Temporal IsFinite/IsInf
- 3791: Issue 3721: Rightshift Negative Hugeint
- 3786: Fix binding of fully qualified view reference
- 3785: Python: Allowing cursor to set check threads flag
- 3784: Improve speed of ALTER TABLE ADD COLUMN
- 3778: More node types
- 3777: Python: Updating Stubs and Bringing Stubs tests back
- 3776: Simplify `clangd` target
- 3775: Expose dbgen speed_seed functions on header file and add missing ones
- 3771: Increment R package version
- 3765: Issue 3759: Node Time Zone
- 3764: Issue 3763: List Min/Max Problems
- 3761: Fix .import not creating missing table in CLI
- 3760: Requiring keys provided to `map` to be unique
- 3757: Fix 3756: fix issue when running blockwise NL join on dictionary vectors of structs
- 3752: Fixed error handling for node exec()
- 3751: Decreasing the overallocation for list aggregates
- 3750: Fix a bug in HyperLogLog
- 3746: Check if replacement scans don't leak memory
- 3745: Arrow/Pandas Case Insensitive Columns
- 3744: Treating ENUM Case in pyresult describe
- 3739: DuckDBPyRelation: support `offset` argument for `limit()`
- 3738: Fix 3730: avoid modifying the payload in-place in aggregate hash table, because it might be used multiple times in case of grouping sets
- 3736: JDBC better error handling
- 3733: Progress bar clean-up: fix thread sanitizer issue, and move progress bar code to individual operators
- 3720: Issue 3515: Add statistical rounding
- 3707: Fix 3702: avoid assertion that we are not storing internal entries in the file
- 3706: Implement sqlite3_file_control and sqlite3_sleep
- 3705: Add support for ENUM converted types in the Parquet reader
- 3699: Zero-copy scans for non-list uncompressed segments
- 3695: Only rename pandas columns that have duplicates
- 3692: Compatibility with dev dbplyr
- 3691: Fix 3690: correctly assign catalog set to default objects to avoid crash when used as dependency
- 3681: R: Fail CI/CD on NOTEs, check examples on UBSAN, log valgrind output
- 3677: Fuzzer fix: avoid reporting non-internal errors
- 3676: More ccache removal from OSX Extension Release
- 3675: More extensive SQLLogicTest testing, and temporarily disable OR pushdown
- 3667: Handling dataframes with repeated names in columns outside the bind. Now when registering df for scan.
- 3665: Delete correct revision in pypi cleanup script
- 3664: try/except in pypi cleanup
- 3663: Return PY registered objects from temporary views
- 3662: Remove CCache from the OSX Extensions Release build
- 3661: Automatic PyPI cleanup in CI
- 3653: Fixing enum comparison at where clause to TRY_CAST
- 3652: to issue3475 optimize CSG & CMP enumeration of join order optimizer
- 3650: Issue 3610 mem leak
- 3648: Julia DataFrame Scan Performance Improvements & TPC-H Tests
- 3646: ODBC: adjustments because of ADO
- 3643: Fix for 3639, dont use string copy and value api to fill factor vector
- 3635: Avoid running approx quantile with vsize=2
- 3634: Fix some issues with the fuzzer auto-closing issue behavior
- 3633: Add default type generator, move built-in types to default type class and improve error reporting for types
- 3632: Check for div by zero in distinct stats
- 3630: Fix issue 3611
- 3629: S3 Minio fix
- 3628: Issue 3625: Adding canonical guards around Arrow CData Interface
- 3624: Add interval to DBAPI description
- 3615: Fix 1785: correctly copy constraints in ADD COLUMN of alter table
- 3614: Correctly propagate what a statement returns from the binder
- 3613: SQLSmith fuzzer fixes
- 3612: SQLite UDF fixes for writefile and friends
- 3609: Fix operator precedence of ** in the parser
- 3608: Turn the expression depth limit into a configureable parameter
- 3607: Implements __enter__ and __exit__ functions on pyconnection to allow the use of context managers
- 3606: Use Python 3 for configuring R
- 3604: Equal or null optimization
- 3603: Fixing ascii bug in histogram strings
- 3602: Support for Arrow Timezone
- 3598: Add auto-commit off to JDBC Connection
- 3594: Issue 3588: Half constant BETWEEN
- 3592: Issue 3444: Approximate quantile lists
- 3589: Issue 1187: Virtual Generated Columns
- 3576: More compliant with substrait and upgrading version up to 0.1.2
- 3575: Issue 3534: Remove TIMESTAMPTZ casts
- 3574: Issue 3430: Temporal Infinity Values
- 3571: Fixing JNI, matching function signature exactly
- 3569: Implicit struct_pack
- 3564: Fix for 3562
- 3551: Issue 2309: Update benchmark info in README.
- 3550: ICU Extension Rework: clangd for extensions
- 3547: Issue 3273 support multistatments for JDBC driver
- 3546: Issue 2910: Support pandas boolean datatype
- 3533: Exit with the correct exit code in the regression test runner
- 3531: Correctly increment list offset on histogram aggregation
- 3528: Julia Client - re-enable parallelism by executing tasks on dedicated Julia threads
- 3524: Rework table-in-out function API, and move Unnest table function to table-in-out function
- 3523: Improve HyperLogLog
- 3519: Support in-place updates for unsigned integers
- 3516: Issue 3497: Round DECIMAL casts
- 3514: Issue 3453: Window Partition Collections
- 3512: Issue 3418: Match Multiple Spaces
- 3511: Fix 3505: Correctly handle Foreign Key syntax for when primary-key columns are not specified
- 3507: Fix merge conflicts
- 3504: ODBC: issue 3398
- 3503: ODBC: issue 3478
- 3502: Random-value generation clean-up, and move aux data in client context to separate ClientData class
- 3500: Bug fixes for ENUMs
- 3498: Relational API basics for R client
- 3495: R: support structs
- 3481: List distinct and list unique functionality
- 3474: Unified BufferedCSVReaderOptions parsing
- 3470: Force aggregates to have a Combine method, expose bind data in combine & general bind data clean up
- 3469: Add duckdb.lib to Windows release package
- 3467: ODBC: PowerBI showing column headers
- 3464: CSVReader option 'ignore_errors'
- 3456: Add C API functions to build list/map types and read map types
- 3454: CMake install DLL file on Windows platform
- 3442: ICU Extension Rework: No longer use ICU amalgamation, and update ICU data to 71
- 3437: Implement JNI class, method and field caching
- 3420: Expose get table names from conn to python
- 3416: R extension loading
- 3410: Turn SQLSmith into an extension, add CI fuzzing framework, and add automatic SQL test case reduce functionality
- 3405: Issue 3403: Logical Type Append
- 3389: Issue 3187: Implement strptime_icu
- 3388: CI: Use ccache and clang-tidy-cache
- 3386: Issue 3384: DATE_TRUNC for INTERVAL
- 3382: Fixing python dependency memory leaks
- 3375: Rebind prepared statements in case of type ambiguities, rather than default to VARCHAR
- 3346: list_sort function support

0.3.4

Not secure
This is a bug fix release that we need to create because uploading artefacts failed for the last one. Contents are the same as https://github.com/duckdb/duckdb/releases/tag/v0.3.3 plus some minor bug fixes.

Note: We are going to switch to a new versioning scheme, so the next proper release will be 0.4.0

0.3.3

Not secure
This preview release of DuckDB is named "Sansaniensis" after the (regrettably extinct) [Chenoanas sansaniensis](https://books.google.nl/books?hl=en&lr=&id=jcEyAQAAMAAJ&oi=fnd&pg=PA1&ots=Yo7uqiwWjB&sig=jeAB2gFbhShF5AWmK1obw8FfYZk&redir_esc=y#v=onepage&q&f=false).

Binary builds are listed below. Feedback is very welcome.

Note: Again, this release introduces a backwards-incompatible change to the on-disk storage format. We suggest you use the `EXPORT DATABASE` command with the old version followed by `IMPORT DATABASE` with the new version to migrate your data. See the [documentation](https://duckdb.org/docs/sql/statements/export) for details.

Below a list of changes in this release

Major Changes & Features

- 2926: DuckDB SQL backend for dbplyr
- 2970: JSON extension
- 2998: Support explicit aggregate state export, re-combination and finalisation
- 3069: S3 writes and 3225: S3 file glob
- 3092: Basic UDF support for Node API
- 3109: Storage dictionary compression
- 3111: Simple filtered aggregates
- 3165: Add support for a `DESCRIBE` statement that gives a summary of all tables
- 3178: 1-based indexing for lists and strings
- 3195: Add support for `FOREIGN KEY`
- 3253: Julia Client & C API Extensions
- 3292: Support NaN and Infinity in floating point columns


Minor Changes & Bug Fixes

- 2954: JDBC enable usage of LocalDateTime via get/setObject
- 2985: Issue 2590: Add overwrite flag to CSV copy, overwrite only if query completes
- 3006: JDBC BigDecimal support
- 3007: Feature: Add support for Excel text format (Update 2996)
- 3010: R: Arrow timestamps in seconds, milliseconds and nanoseconds
- 3027: Allow literal option for regex
- 3030: Macros for floored division and modulo
- 3034: Substrait Installable Extension
- 3038: Issue 3037: DATE + TIME
- 3045: fix for STRING_AGG(...) failing (vector type mismatch) assertion when used with DISTINCT and ORDER BY inside STRING_AGG.
- 3050: R-pkg: cpp11-ify
- 3051: Enable printing of EXPLAIN query trees in the R client
- 3060: Issue 3056: Null list scatter
- 3065: Implementation of list_contains
- 3066: Report dlopen/dlsym errors in extension load
- 3067: ODBC: Many changes
- 3071: c-api: support decimal and prevent invalid type throws
- 3072: Add CMake setting to disable linking of extensions
- 3077: Issue 2498: Consistent NULL hashing
- 3084: Hmb1 select macro feature mr
- 3085: First batch of aggregation functions for python rapi
- 3087: Fix incorrect link for testing docs
- 3088: Add LIST_EXTRACT support for several missing types (including booleans)
- 3090: Fix for Arrow Timezone CI Fail
- 3093: Test/add parser error on missing newline
- 3097: Fix remaining winsock error
- 3098: Round-trippable Expression ToString()
- 3101: Issue 3100: MAKE_DATE struct variant
- 3102: Add flatten function for nested list
- 3107: Allow multiple statements in the R-client
- 3112: Issue 1423: PiecewiseMergeJoin multiple predicates
- 3115: ODBC: SQLGetDescRec and SQLSetDescRec
- 3116: NodeJS Windows CI Fix Attempt
- 3120: Fix 3119: correctly perform case insensitive comparisons in default function/view/schema creation
- 3121: Fix 3108: support ILIKE ESCAPE
- 3123: Issue 3020: Unify column names of DESCRIBE and SUMMARIZE
- 3124: Add Alias to projected columns
- 3125: Adds support for the REPLACE keyword in CREATE TABLE AS ... SELECT (CTAS) statements
- 3126: BLOB support for aggregate state combine
- 3139: More Python Relational API Functions
- 3142: Fix type hints for query_df
- 3147: Python: Relation dependency on Connection
- 3148: Alter Type of column from varchar to enum
- 3151: Support trailing commas in many lists in the parser
- 3154: JDBC - Bugfix - Negative timestamp fix
- 3156: JDBC - Add timestamp with timezone support
- 3158: Enable DISABLE_VPTR_SANITIZER by default on M1
- 3161: Implementation of unnest(null), list_position, rewrites
- 3162: Add support for list parameters in the Python API
- 3163: ODBC: Diagnostic Feature
- 3166: Move test_group_by_parallel out of the coverage tests
- 3171: Fix 3169: verify that WAL exists in PRAGMA database_size
- 3173: Adding chunk size parameter to functions that return arrow objects.
- 3174: Correctly zero-initialize pg_parser allocation heap to prevent potential corruption in clean up of parser state of SQL strings
- 3179: Change pipe so it doesnt print on terminal
- 3180: Fix for build error of R package on Windows
- 3190: Fix Python clean.sh: avoid deleting all locally installed libraries and instead only remove installed DuckDB libraries
- 3191: Returning feature for INSERT
- 3192: Tear down connections
- 3196: linking fixes for extensions
- 3197: Fix convert uuid to arrow str error
- 3199: Dbplyr-backend SQL translation of is.na() must use only IS NULL
- 3201: Enable universal builds for OSX
- 3208: numeric md5 functions
- 3209: JDBC - Fix missing metadata
- 3213: Making the deliminator more flexible and Q 02/17/20 of TPC-H for Substrait
- 3214: Extension linking fix
- 3218: Fixed empty list aggregates
- 3219: Issue 1423: IEJoin Implementation
- 3220: Fix for 3200
- 3221: FIX for parquet reader on diff files
- 3224: feat: expose from_substrait in python package
- 3226: ODBC: Windows setup
- 3230: Fix for 3215
- 3231: CodeCov apparently does not like target anymore, + validate codecov configuration in CI
- 3232: Fix 3223: Prune trees with LIMIT 0
- 3233: Fix 3205: implement skip for struct and list column readers
- 3234: Fix 3222: avoid int overflow in RleBpDecoder
- 3235: Removing std::binary_function because its deprecated in cpp11
- 3238: Parquet globbing: Better support for schema evolution
- 3239: Properly send mapped function on RAPI
- 3244: Returning feature for update and delete statements
- 3245: test: prevent master ci from being canceled
- 3251: Improving CI performance
- 3255: Adding check_same_thread option to py connector
- 3256: ci: restructure to run format/tidy/codecov for python
- 3263: JDBC - Enable useage of ENUM type
- 3264: Allow the use of native replacement scan of parquet/csv files with the dbplyr-backend
- 3266: Fix 3260: if a schema name is provided, pass along the schema name and table name to the replacement scan
- 3268: Add python module constants from PEP249
- 3270: python extension loading tests
- 3274: Implementation of the list aggregate function
- 3276: Properly resizing DuckDB batches that reference arrow batches
- 3281: ODBC: LibreOffice on Linux
- 3287: Several Julia API enhancements
- 3289: ODBC: windows installer has to copy and pass program parameters
- 3293: Issue 3262: Nested comparison fixes
- 3295: Allow strftime arguments to be specified in both orders
- 3299: [Arrow] Read Record Batch Reader and Scanners
- 3301: Use FieldWriter/FieldReader in Checkpoint Manager
- 3303: Add benchmark_runner based regression test, and remove random engine from cycle counter
- 3305: Fix 3304: correctly trigger old result-set materialization prior in duckdb_value_is_null
- 3307: Fix 3271: correctly check for negative limit and offset
- 3308: Cleanup some unused include
- 3311: Fix 3272: avoid incorrectly moving LIMIT to before the ORDER clause in certain cases
- 3312: Issue 3290: Histogram Temporal Bindings
- 3313: Issue 3275: Global Operator State
- 3314: Issue 3262: Dead Code Removal
- 3318: R bug-fixes: Pipes in tests and silence R NOTE
- 3323: Fix 3291: delete root entries after a catalog entry is deleted and no more transactions can reference it
- 3328: Fix 3294: initialize validity mask to correct size in placeholder code
- 3329: Fix use after free bug in local storage
- 3331: Add automatic issue labeler
- 3335: 3324 Throw error instead of crashing when misusing prepared statements
- 3338: Issue 3298: Nested Unflat MinMax
- 3339: Add a create_value for strings to the Julia API
- 3342: Issue 1423: IEJoin Performance Improvements
- 3343: Issue 3118: Non-string Formats
- 3355: Fix 3349: correctly handle empty table case in grouping set
- 3356: Fix 3350: correctly update statistics after a SINGLE join, since SINGLE joins may introduce NULL values
- 3357: Fix 3351: avoid double-binding functions in subqueries after an initial binding error
- 3358: Fix 3352: fix several bugs with index selection for verifying foreign key constraints
- 3359: Fix 3353: check if any results are returned in sqlite api wrapper before looking at the chunk
- 3360: Fix 3354: add missing recursive CTE node traversal in correlated subquery flattening
- 3362: ODBC: unixodbc_setup.sh
- 3363: Fix 3361: correctly handle overflows in sequences with cycles
- 3369: Fix 3367: correctly detect overflow in statistics propagation for ORDER BY
- 3370: Fix 3366: check for invalid double values in progress bar
- 3372: Fix 3365: correctly handle overflows in left-shifts
- 3376: Fix Python Windows CI
- 3378: Correctly handle rowid scans in Julia DataFrame scan (for COUNT(*))
- 3380: ArgMinMax: correctly manage memory of strings in both values and arguments
- 3381: Python extension loading
- 3383: ODBC: unixodbc_setup.sh usage message
- 3399: removed -k param for gzip
- 3406: Install AWS CLI in CentOS Extension

0.3.2

Not secure
This preview release of DuckDB is named "Gibberifrons" after the [Sunda teal](https://en.wikipedia.org/wiki/Sunda_teal)

Binary builds are listed below. Feedback is very welcome.

Note: Again, this release introduces a backwards-incompatible change to the on-disk storage format. We suggest you use the `EXPORT DATABASE` command with the old version followed by `IMPORT DATABASE` with the new version to migrate your data. See the [documentation](https://duckdb.org/docs/sql/statements/export) for details.

Below a list of changes in this release

Features
- 2797: Add interface support for incremental/deferred query execution in main thread
- 2682: Issue 561: Time Zone Support, 2703: 561: Time Zone Foundations
- 2578: Enable support for multi-dot column references
- 2613: Add support for EXPLAIN ANALYZE
- 2569: Support installation of extensions from central repository
- 2843: Parquet Writer: Support writing all types (test_all_types), and write column statistics, 2838: Add support for reading and writing the MAP type to the Parquet reader/writer, 2832: Parquet Writer Rework: Support complex types, 2597: Extend Parquet writer support for UNSIGNED types, various timestamp types, and correctly set converted types in more cases

Minor Changes & Bug Fixes

- 3042: Issue 3029: Prevent CURRENT_QUERY folding
- 3041: Fix 3017: detect recursive view construction and throw an appropriate error
- 3040: Fix 3015: fix edge case issue with many null values in physical Top N
- 3039: Update Java DuckDBAppender to allow appending null values - fixes issue 3035
- 3028: Install covr from main development branch
- 3026: Issue 2965: CTE parameter binding
- 3024: Issue 3023: Simple filtered aggregates
- 3021: Move install_extension test to test_slow
- 3016: Issue 2923: Quote ENUM types
- 3014: Issue 2908: UTF8 BOM Headers
- 3013: Fix 3005: correctly normalify vector in array_slice
- 3012: Fix 2999: Support ANY_JOIN in flattening correlated subqueries
- 3011: Fix 2986: correctly copy old data over when calling repalloc in parser
- 3004: Fix 2997: allow maximum CSV line size to be configurable
- 3001: Document installation of dependencies in Python package README
- 3000: Lookup parent frames for replacement scans
- 2983: Fix 2975: fix off-by-one in transform of string constant to decimal in case of large negative numbers
- 2982: Python API - allow duckdb.query to run arbitrary queries
- 2980: Fix dead link in readme
- 2979: Fixing Python CI
- 2978: Ensure that users cant run concurrent queries using cursor()
- 2974: Use cpp11 for rpkg
- 2973: ODBC: SQLGetTypeInfo, SQLTables, and SQLColumns
- 2971: Arrow use_async argument deprecation
- 2969: FieldWriter/FieldReader for Backwards/Forwards Compatible Storage
- 2963: Fixing parquet scan with or filters (issue 2955)
- 2957: Fixing wrongful release of arrow arrays
- 2956: fix: use selection vector to ensure ids are ordered
- 2953: Fix cancellation configuration
- 2952: Check coverage for R
- 2951: Adding Cross Product Relation
- 2949: Update copyright info to name DuckDB Foundation
- 2946: Style R code
- 2943: Disable arrow integration tests on Windows
- 2941: Prefix inlined third party libraries with duckdb_
- 2940: CMakeLists.txt: Add 'delayimp.lib' to delay-loaded DLL on MSVC
- 2939: src/include/duckdb/common/assert.hpp: Added winapi
- 2937: Install Python 3.7 from source on Ubuntu 16
- 2935: adding the v to the amalgamation version string
- 2930: list_slice test fix
- 2925: Enable building the HTTPFS extension for both Windows and OSX
- 2924: Add Node 17 to build factory
- 2921: Fix for array_slice when end index is out of bounds
- 2920: ODBC: cursor functions
- 2919: Preserve Identifier Case by default, rather than lower-casing all unquoted identifiers
- 2918: Add left join type to python relational API
- 2917: list_slice alias for array_slice
- 2912: Fixing Arrow Stream Output Error
- 2906: not export deletes to allow crosscompile
- 2905: Use difftime_str instead of hms class
- 2904: Use correct hms value
- 2903: Robust cancellation via concurrency
- 2901: Minor tweaks in R code
- 2899: Support for GROUP BY ALL/ORDER BY ALL
- 2895: Add duckdb_keywords function
- 2894: OSS Fuzz Fixes
- 2890: ODBC driver assets
- 2888: Add JDBC's setTimestamp method
- 2886: Use double to store scale factor in TPC-H answers
- 2885: Better support for Parquet 2 Page Layout
- 2880: fix python profile html generator to support updated JSON format.
- 2871: Issue 1423: Refactor PiecewiseMergeJoin
- 2870: bug fix for order by header
- 2869: Value Rework: Make all members private and use accessors
- 2867: test: fixed typo for decimal type in test_all_types
- 2865: Issue 2782: Non-Gregorian Calendars
- 2864: C API: Deprecate direct access into duckdb_result and duckdb_column structs
- 2863: ODBC: conformance core level of SQLAllocHandle, SQLFreeStmt, SQLGetDiagRec, SQLSetStmtAttr, and descriptors
- 2856: Issue 2842: Implement make_date/time/timestamp
- 2855: right case for winsock2.h
- 2854: Issue 2831: Disable WINDOW FILTER
- 2852: Issue 2827: Postgres datepart compatibility
- 2851: When using Replace, keep the alias of the original column
- 2850: Avoid reading past the end of the string when parsing a time as part of an interval
- 2848: Fix 2847: Write parquet files to test dir
- 2846: Issue 2780: Remove DATETZ type
- 2845: Turn FileSync into a nop in the PipeFileSystem, and add clear error message when ParquetReader is used to read from a FIFO stream (e.g. /dev/stdin)
- 2844: Support read_csv_auto from /dev/stdin
- 2837: Fix potential use after move detected by linter, and add DISABLE_DUCKDB_REMOTE_INSTALL define
- 2835: Issue 2834: ICU BindAdapterData::Equals
- 2833: CI Fixes, TSAN Fix
- 2830: Fix 2828: setup.py BUILD_HTTPFS does not work
- 2825: Fix 2823: Correctly alter cardinality estimation in LIMIT/SAMPLE clauses
- 2822: Issue 2779: DATE_PART structs
- 2819: add `INTERVAL` support to node.js
- 2818: Adding Parquet extension to node module
- 2817: R: Make method definition more similar to S3
- 2808: Revert stack-overflow detection back to having a maximum (expression) depth in the transformer
- 2807: Add discord badge
- 2806: Refactor SQLLogicTest
- 2802: R-Dataset: Add flag to enable async scanner
- 2801: Add support for list equivalent of range/generate_series with timestamp+interval
- 2800: Fix 2749: avoid copying subquery in BETWEEN expressions
- 2799: Fix 2791: allocate data and mask locations to correctly handle counts > vector_size in the row_gather
- 2798: Fix issue in perfect hash join when (max - min) does not fit into an INT64
- 2796: Addition of QUALIFY clause
- 2794: Add Extension Install CI tests, and fix various issues found through this process
- 2793: Enum Functions
- 2792: PhysicalStreamingWindow operator
- 2788: Issue 2778: Missing date parts
- 2784: adds `BOOLEAN` support to node.js bindings
- 2773: Fix 2761: correctly check that stderr is pointing to a terminal
- 2770: Fix a bug in the sqlite3_api_wrapper that resulted in not correctly reporting why a database could not be opened
- 2767: Issue 561: Implement ICU AGE
- 2765: Add Connection::GetTableNames method to C++ API that allows you to extract the required table names from a query
- 2760: Issue 561: Implement ICU DATEDIFF
- 2759: Fix string constructor usage
- 2757: Extension dashes to underscores
- 2756: Issue 561: Implement ICU DATESUB
- 2753: Python - Test All Types
- 2751: Fix 2750: check enable_external_access flag in more locations
- 2748: Cleanup pointer swizzling code
- 2746: Fix 2745: correctly detect when a RECURSIVE CTE does not contain a reference to itself (i.e. is not a recursive CTE at all)
- 2744: C++17 warning fixes, plus CI tests for compiling (parquet) amalgamation with C++17
- 2742: Common: typo and remove unused files
- 2739: Add test_all_types function
- 2738: GH Actions: avoid upload on master, and try to fix codecov failures on master
- 2737: Typo: Rename Alises to Aliases
- 2732: Tests for Python + 1732
- 2731: Pushing down OR filters
- 2730: Issue 561: ICU Date addition
- 2729: Add duckdb_functions table function
- 2727: RAII for SortedBlock
- 2725: Windows: Remove OVERLAPPED IO flag, it is not required and seems to cause concurrency problems
- 2723: Fix 2471: correctly handle offset passed by ::UpdateSegment, and handle it earlier to clean up code
- 2722: Infer COPY TO format from file extension
- 2721: Update of PERCENT keyword in the LIMIT clause(2671)
- 2719: Fix 2713: correctly bind multi-part column references in correlated subqueries
- 2718: Add "position" as an alias to the "instr" function
- 2712: Use and_kleene for Arrow filters
- 2711: Fix CSE optimizer: keep around expressions as they might be referenced in the expression_map
- 2710: Modify LEAST/GREATEST to ignore NULL values
- 2708: Fix 2701: Handle VALUES lists in correlated subqueries
- 2706: Ignore cancel request on master
- 2702: Rename snappy namespace to duckdb_snappy, and enable Parquet extension for the exported symbol checker
- 2697: Support reading of ZSTD files, and add support for writing GZIP and ZSTD files
- 2696: FetchDF for nested types (Lists, Maps and Structs)
- 2693: Fix 2663: correctly implement EXTRACT(EPOCH from TIME) as seconds since midnight
- 2692: Fix 2678: Fix undefined behavior for sequences close to INT64 min/INT64 max
- 2691: Correctly handle synchronous I/O being returned from Windows API
- 2690: Use templated memcpy/memcmp more
- 2689: Reduce memory footprint of Python/R compilation by default by disabling unity builds unless DUCKDB_BUILD_UNITY flag is enabled
- 2686: Fix 2685: prevent CSE optimizer from causing short-circuiting issues, and add disable_optimizers setting
- 2684: Python 3.10 builds
- 2681: Benchmark/test format cleanup
- 2679: Bitpacking storage compression
- 2673: remove extra semicolon.
- 2665: Merge arrow_register into register function
- 2662: Fix 2656: correctly transform DISTINCT with ORDER BY into DISTINCT ON
- 2660: Issue 2614: Wide windows
- 2659: Fix 2652: Make struct fields case insensitive
- 2658: Fix various Windows unicode issues
- 2657: Initializing matchers to avoid valgrind complaints
- 2655: Add templated memcpy/memcmp
- 2650: Fix bug in parquet reader causing list columns to be parsed incorrectly (2557)
- 2648: Fix 686: remove hard-coded memory limit in parser and fix error message propagation from exceptions thrown in parser
- 2644: Fix 2641: correctly handle tab delimiters in COPY TO/FROM
- 2642: Issue 2552: SUBSTR BIGINT
- 2639: Fix 2586: correct semantics for extract(second, ...) from intervals
- 2636: Hashing enum values (Enum comparison bug fix)
- 2635: Fix for R factor scans
- 2631: ODBC: Refactoring Parameter Descriptor
- 2630: Try to Cast Enums to other types
- 2626: Escape column names in dbWriteTable() Fixes 2622
- 2623: Fix 2612: Correctly check that default is set on copy of SetDefaultInfo
- 2611: Multithreaded Python
- 2609: Configuration Rework & Cleanup
- 2602: Adding pragma option for parquet binary as string
- 2583: Issue 2549: Support IGNORE NULLS
- 2576: Add generate_subscripts macro
- 2526: Sequence ownership

Page 3 of 7

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.