Dette er en ældre version. Den nyeste version er 1.5.6. DuckDB CLI 1.5.6 · Udgivet:
Installationsfiler 1.2.0
| Arkitektur | Type | Omfang | Filstørrelse | Download | SHA256 |
|---|---|---|---|---|---|
| 64-bit | ZIP → Portabel · en-US | Aktuel bruger | — | github.com | VirusTotal |
| ARM64 | ZIP → Portabel · en-US | Aktuel bruger | — | github.com | VirusTotal |
Link og SHA256 stammer fra fællesskabets manifest i Windows Package Manager. Sammenlign hashen for den downloadede fil, før du kører den.
Udgivelsesnoter
This release of DuckDB is named "Histrionicus" after the good-looking Harlequin duck (Histrionicus Histrionicus) that inhabits "cold fast moving streams in North America, Greenland, Iceland and eastern Russia".
Please also refer to the announcement blog post: https://duckdb.org/2025/02/05/announcing-duckdb-120
What's Changed
- Optimise division by a constant at runtime for integer division by @JAicewizard in #10348
- Add cross join to Python Relational and PySpark API by @khalidmammadov in #13519
- Fix #13805: throw a more descriptive error message when an on-disk file is referenced using a replacement scan for an unsupported file format by @Mytherin in #13871
- Make sampling accept parameters at the parser/transformer layer by @Mytherin in #13903
- Fix #13867: use 64-bit random numbers to generate random numbers for random() by @Mytherin in #13920
- Fix #13769: when binding views, always first search in the schema that the view is defined in by @Mytherin in #13921
- Rework table bindings to be components (catalog, schema, table) instead of flat strings by @Mytherin in #14017
- Add auto-loadable extension settings to duckdb_config_count and duckdb_get_config_flag by @Mytherin in #14021
- Fix #10961 - in the HAVING clause - in case of column name conflicts, bind to aliases instead of to ungrouped columns by @Mytherin in #14023
- Enable filter pushdown through Logical Unnest by @Tmonster in #14008
- Allow duplicate table aliases in the table binder by @Mytherin in #14035
- Unify DESCRIBE [query] and DESCRIBE [table] by @Mytherin in #14039
- Support qualified identifiers in the EXCLUDE clause by @Mytherin in #14043
- Add SMALLER_BINARY flag to reduce binary size by @Mytherin in #14057
- Smaller Binary: remove more templates from arg_min_max by @Mytherin in #14071
- Unify entropy and mode aggregates - and skip specialized implementations for entropy with smaller binary by @Mytherin in #14080
- [Python] Add set_default_connection to the duckdb module by @Tishj in #13442
- Provide workaround for prefetching parquet files with incorrect page offsets by @samansmink in #13697
- Move core_functions to a separate extension by @Mytherin in #14149
- PySpark df.drop() to support expressions by @khalidmammadov in #14059
- add some RealNest benchmarks by @hmeriann in #13345
- feed table function into multifilereader initialization by @samansmink in #14112
- [Dev] Fix an issue causing ExecuteTask to do much more work than intended by @Tishj in #14034
- Overhaul Parquet dictionary handling by @hannes in #14194
- [Feature] Allow passing the catalog (database name) to appender by @taniabogatsch in #13692
- Add Taxi Dataset Benchmark by @pdet in #14197
- Feature #3036: Window Spooling by @hawkfish in #14181
- Small C Extension API changes by @samansmink in #13987
- Add HTML and Graphviz support for explain analyze by @abramk in #13942
- Fix #13064: offer more suggestions with same score by @Damon07 in #14048
- New Algorithm to find a new line on parallel execution by @pdet in #14260
- Making client context lock optional for relation binding by @pdet in #14093
- [Feature] Allow passing the catalog during C API appender creation by @taniabogatsch in #14256
- Make test random output ordered by @Damon07 in #14267
- Skip test_window_distinct by @Mytherin in #14309
- Taxi Benchmark by @pdet in #14301
- Switch to shared pointer for multfilelists by @samansmink in #14291
- Push #14298 to feature branch by @flashmouse in #14311
- Implement PullUp Empty Results optimizer by @Tmonster in #13524
- [Export/Import] Use the DependencyManager to (stable) sort the entries before export by @Tishj in #14196
- Partitioning-Aware Aggregation and Partitioning-Aware Infrastructure by @Mytherin in #14329
- Add df.unionByName to PySpark API by @khalidmammadov in #14063
- Or filter pushdown into zone maps by @Tmonster in #14313
- Get the current setting in the database file opener by @Mytherin in #14361
- [Feature + Fix] Support ALTER TABLE tbl ALTER col TYPE USING and fix null handling in struct_insert by @taniabogatsch in #14359
- [C API] Add table_description_create_ext and table_description_get_column_name by @taniabogatsch in #14285
- Move _rtools platform to be equivalent to _mingw by @carlopi in #14368
- Fix for accidental like skip in the CSV Buffer by @pdet in #14380
- Table locks - always grab table locks through the transaction interface by @Mytherin in #14379
- Implementing array_slice and [] for BLOB by @hannes in #14358
- Rework settings handling and implement auto-generation for new ones by @Mytherin in #14383
- Rework settings handling and implement auto-generation for new ones by @chrisiou in #14018
- Arrow list buffer - suggest setting arrow_large_buffer_size to true when regular list buffer size is exceeded by @Mytherin in #14384
- Fix incorrect merge conflict resolution in workflow file by @Mytherin in #14390
- Update Parquet Thrift to latest version by @hannes in #14258
- Reformat list functions by @c-herrewijn in #14372
- Tidy Check to do complete run also on feature by @carlopi in #14394
- [Python] Use an ArrowQueryResult in FetchArrowTable when possible. by @Tishj in #14319
- Make mysql_scanner auto-loadable, and add mysql/postgres secrets by @Mytherin in #14392
- Improvement the speed of table sample systems by @continue-revolution in #12631
- Support defining column names in CTAS by @douenergy in #14327
- Fix pointer indirection in pyrelation.cpp by @carlopi in #14403
- Fix idx_t to int64_t implicit conversion flagged by clang-tidy by @carlopi in #14402
- Storage: make ROW_GROUP_SIZE configurable by @Mytherin in #14406
- [Dev] Update vendored ZSTD to v1.5.6 by @Tishj in #14360
- Top-N: Rework to use heap of sort keys by @Mytherin in #14424
- reformat string functions by @c-herrewijn in #14400
- Prefix Aliases in SQL by @hannes in #14436
- [Dev] Optimize ValidityMask when reading from a ColumnDataCollection by @Tishj in #14416
- [Dev] Further optimize the CDC ValidityMask deserialization by @Tishj in #14448
- Reformat date and map functions by @c-herrewijn in #14425
- Reformat generic functions by @c-herrewijn in #14423
- Push dynamically generated join filters through UNION, UNNEST and AGGREGATE by @Mytherin in #14453
- Try auto-casting for mismatching data chunks in the Appender API by @taniabogatsch in #14433
- Implement DELTA_BINARY_PACKED compression in Parquet writer by @lnkuiper in #14257
- Eviction Queue Partitioning by @lnkuiper in #14375
- Implement map_extract_first by @lnkuiper in #14175
- RowGroup no longer lives in format namespace by @Mytherin in #14469
- Convert the shell from C to C++ by @Mytherin in #14473
- Fixing an issue with parquet dictionary reading by @hannes in #14438
- Strip down unused/unsupported options from the CLI by @Mytherin in #14478
- [PySpark] Add withColumns, withColumnsRenamed, cos, acos, any_value, approx_count_distinct and various array functions by @binste in #14347
- CLI Code Cleanup: move all shell functions into the ShellState by @Mytherin in #14483
- CLI Code Cleanup: Move rendering logic into separate Renderer classes by @Mytherin in #14485
- Reformat compressed materialization functions by @c-herrewijn in #14470
- Internal #3273: Shared Window Expressions by @hawkfish in #14450
- CLI Code Cleanup: rework metadata commands in the shell by @Mytherin in #14503
- CSV Parallel Reading Validation by @pdet in #14439
- Avoid recompilations of duckdb when there are no actual changes by @carlopi in #14176
- Add -safe mode to shell which disables external access, and remove SQLite UDFs from the shell by @Mytherin in #14509
- [PySpark] Add functions covar_pop, covar_samp, call_functions, endswith, startswith, exp, factorial, log2, ln, degrees, radians, atan, atan2, tan, round, bround by @binste in #14454
- Reformat arithmetic operators by @c-herrewijn in #14489
- add attach with default tables by @samansmink in #14118
- Add duckdb_param_logical_type by @Giorgi in #14515
- Remove most BUILD_ options for extensions, using CORE_EXTENSIONS by @carlopi in #14531
- CLI: more code clean-up by @Mytherin in #14551
- Reformat nested and sequence functions by @c-herrewijn in #14495
- Parquet: Fixing selection vector calculation by @hannes in #14558
- CLI: Fix for .mode markdown rendering after refactor by @Mytherin in #14569
- Out-Of-Core Updates & Deletes by @Mytherin in #14559
- Manage enable_external_access at the FileSystem level, and add allowed_paths and allowed_directories option by @Mytherin in #14568
- feat(iejoin): use sort to replace binary search in iejoin by @my-vegetable-has-exploded in #14507
- Clean-up distinct statistics - add hashes cache add the Append and Vacuum layers, and remove unnecessary lock by @Mytherin in #14578
- [PySpark] Test Spark API with actual PySpark as backend by @binste in #14526
- Internal #3273: Shared Window Frames by @hawkfish in #14544
- Reformat aggregate functions by @c-herrewijn in #14530
- Expose threshold argument of Jaro-Winkler similarity by @zmbc in #12079
- No pushing filters below projections that cast to a lower logical type id by @Tmonster in #13617
- Implement left_projection_map for joins by @lnkuiper in #13729
- remove superfluous comment by @c-herrewijn in #14586
- [Dev] Make the regression_test_runner easier to replicate by @Tishj in #14557
- [PySpark] Add dataframe methods drop_duplicates, intersectAll, exceptAll, toArrow by @binste in #14458
- Internal #3381: Window Race Condition by @hawkfish in #14599
- Rework generated EnumUtil code by @Mytherin in #14391
- Force aggregate state to be trivially_destructible, unless AggregateDestructorType::LEGACY is used by @Mytherin in #14615
- AWS - remove expected error message by @Mytherin in #14633
- Temp directory compression by @lnkuiper in #14465
- Add support for SELECT * RENAME by @Mytherin in #14650
- [PySpark] Add autocompletion for column names to dataframes by @binste in #14577
- Force aggregate state to be is_trivially_move_constructible by @lnkuiper in #14640