What's Changed
- Move CachedExtensionIds and SPI helpers to pg_extension_base by @sfc-gh-okalaci in #164
- Fix logical replication error when dropping Iceberg tables by @sfc-gh-okalaci in #171
- Expose null_padding option for CSV by @sfc-gh-mslot in #155
- Fix substring_pg crash on macOS due to long vs int64_t type mismatch by @sfc-gh-okalaci in #177
- Remove max CSV line size limitation by @sfc-gh-mslot in #174
- Add missing
catalogto the object store catalog by @sfc-gh-okalaci in #178 - Support additional Iceberg REST API authentication method by @sfc-gh-mslot in #176
- Introduce OidListToArray by @sfc-gh-agedemenli in #181
- Add GUC to disable vended credentials header for REST catalog by @sfc-gh-okalaci in #184
- Allow long-form Azure URLs by @sfc-gh-mslot in #187
- Make TupleDescToDuckDBColumnsMap so that other extensions can use by @sfc-gh-okalaci in #192
- Make FindUnreferencedFilesAmongHTABs function public by @sfc-gh-mslot in #193
- Use the specified VCPKG_VERSION 2025.10.17; change jdk21 to 21.0.10 by @sfc-gh-npuka in #189
- Make TupleDescToColumnMapForWrite public by @sfc-gh-okalaci in #199
- Provide more common code fore ReadCSV by @sfc-gh-okalaci in #200
- Parallelize upload of metadata files during commit by @sfc-gh-mslot in #197
- Use pyspark conditionally in the tests by @sfc-gh-okalaci in #202
- Re-enable PG18 tests in test_base_worker_launcher.py by @sfc-gh-mslot in #204
- Add pg_lake upgrade path from 2.4-1; incorporate same fixes here by @sfc-gh-dachristensen in #196
- Update installation and test docs by @sfc-gh-npuka in #207
- Cache in-progress table visibility to avoid SPI per file write by @sfc-gh-okalaci in #210
- Add function to run attached worker with query results by @sfc-gh-mslot in #213
- Allow Iceberg table creation in extensions by @sfc-gh-mslot in #216
- Add test coverage for REPEATABLE READ and SERIALIZABLE isolation levels by @tanvinkalra in #201
- Make sure to create data file temp table with extension user privilege by @sfc-gh-abozkurt in #219
- Pushdown initcap function by @sfc-gh-npuka in #208
- Fix test teardown hangs by adding timeouts to process and thread cleanup by @sfc-gh-mslot in #224
- Fix compiler warnings by @sfc-gh-npuka in #228
- Put sample data under parent folder by @sfc-gh-abozkurt in #231
- Reorganize test_common helpers by @sfc-gh-abozkurt in #232
- pgduck_server handles sigint/sigterm gracefully by @sfc-gh-abozkurt in #229
- Fixes pushdown with constant in grouping by @sfc-gh-abozkurt in #238
- Support Postgres interval types as structs in Iceberg by @sfc-gh-mslot in #220
- Fix flaky test_set_operation_pushdown by @sfc-gh-mslot in #243
- Fix insert..select and copy from pushdown for nested types by @sfc-gh-abozkurt in #241
- Support timetz in iceberg tables by @sfc-gh-abozkurt in #239
- Fix BC date/timestamp via PGDuckSerialize + ISO write to Iceberg by @sfc-gh-abozkurt in #249
- Unbounded numeric stays as numeric in PG schema, still writes as DECIMAL(38,9) to Iceberg by @sfc-gh-abozkurt in #252
- Support unsupported numeric as double by default in Iceberg tables by @sfc-gh-abozkurt in #257
- Expand permissions for iceberg tables, filter REST iceberg tables by @sfc-gh-dachristensen in #259
- Clamp numeric NaN as NULL at postgres_scanner by @sfc-gh-abozkurt in #258
- Use index scan in CheckObjectCreatedByLakeInternal by @sfc-gh-npuka in #261
- Fix crash in hide_lake_objects for MERGE on catalog tables by @sfc-gh-npuka in #265
- Remove pre-PG16 compat code and bump min version checks by @sfc-gh-npuka in #266
- Add @stage shorthand for common staging bucket by @sfc-gh-mslot in #245
- Add per-table max_snapshot_age option for Iceberg tables by @sfc-gh-mslot in #244
- Add automated installation script and improve documentation by @sfc-gh-mslot in #225
- Add the option of restart base workers after N milliseconds by @sfc-gh-mslot in #205
- Fix CTAS in SPI assert failure (on top of 254) by @sfc-gh-mslot in #260
- Use heavy asserts in CI; fix heavy assert for NaN/Inf float column bounds by @sfc-gh-npuka in #262
- Switch to upstream DuckDB Azure by @sfc-gh-mslot in #256
- Error or clamp out-of-range values via iceberg table option by @sfc-gh-abozkurt in #250
- Mark file options as null when not set by @sfc-gh-abozkurt in #272
- Support one-shot extension workers by @sfc-gh-dachristensen in #270
- Put trailing slash removal logic into StripTrailingSlash helper by @sfc-gh-npuka in #275
- Convert unsupported numeric in nested types to double in iceberg tables by @sfc-gh-abozkurt in #273
- Fix nested type clamping in iceberg tables by @sfc-gh-abozkurt in #274
- Add limit on total number of position deletes by @sfc-gh-mslot in #268
- Fix iceberg format error for unbounded numerics by @sfc-gh-abozkurt in #280
- Re-upgrade to duckdb 1.4.4 by @sfc-gh-dachristensen in #283
- Add a NULL check in GetIcebergMetadataLocation by @sfc-gh-mslot in #282
- Fix double roundtrip by @sfc-gh-abozkurt in #284
- Add 2-character prefix to Iceberg filenames by @sfc-gh-mslot in #287
- Add missingOk to
DeregisterBaseWorker*()routines by @sfc-gh-dachristensen in #292 - Tweak install.sh by @sfc-gh-mslot in #281
- postgres_scanner: Read composite type info by @sfc-gh-abozkurt in #291
- Pushdown interval by @sfc-gh-abozkurt in #290
- Refactor http request retry logic + fix token expired bug by @sfc-gh-npuka in #278
- Clamp multidimensional arrays to NULL by @sfc-gh-abozkurt in #289
- Error by default for out of range values in iceberg by @sfc-gh-abozkurt in #294
- Add routine to get running worker pid by @sfc-gh-dachristensen in #295
- Fix composite scanner composite patch by @sfc-gh-abozkurt in #296
- Make interval fields non-required by @sfc-gh-mslot in #298
- Cache composite TupleDescs in HTAB across COPY lifetime by @sfc-gh-dachristensen in #285
- Use cmake build system for Avro, fixes build with Ninja gen by @sfc-gh-vparakh in #302
- Fix: add --break-system-packages for pipenv install on macOS by @sfc-gh-vparakh in #301
- Revert "Cache TupleDesc per composite column in copy_dest_receive" by @sfc-gh-okalaci in #303
- Export write tupledesc by @sfc-gh-abozkurt in #306
- Fix type mismatch in TimestampDifference and off-by-1 in GUC check by @sfc-gh-npuka in #305
- Fix CI check-indent and pin pg18 version + Fix repo formatting by @sfc-gh-npuka in #307
- Fix: Support writing domain types by @sfc-gh-abozkurt in #310
- Fix: Disable alter type for domains by @sfc-gh-abozkurt in #309
- postgres_scanner fix +-inf by @sfc-gh-abozkurt in #308
- Tolerate catalog failure during DROP TABLE by @sfc-gh-mslot in #304
- Clamp only bounded numerics in iceberg tables by @sfc-gh-abozkurt in #311
New Contributors
- @sfc-gh-npuka made their first contribution in #189
- @tanvinkalra made their first contribution in #201
- @sfc-gh-vparakh made their first contribution in #302
Full Changelog: v3.2.0...v3.3.0