github duckdb/duckdb v0.3.2
0.3.2 Preview Release "Gibberifrons"

latest releases: v0.10.2, v0.10.1, v0.10.0...
2 years ago

This preview release of DuckDB is named "Gibberifrons" after the 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 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

Don't miss a new duckdb release

NewReleases is sending notifications on new releases.