duckdb 0.7.2-dev2552.0 → 0.7.2-dev2699.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/binding.gyp +7 -7
  2. package/package.json +2 -2
  3. package/src/duckdb/extension/parquet/parquet_statistics.cpp +3 -0
  4. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +2 -2
  5. package/src/duckdb/src/common/adbc/adbc.cpp +5 -2
  6. package/src/duckdb/src/common/radix_partitioning.cpp +1 -1
  7. package/src/duckdb/src/execution/index/art/art.cpp +286 -269
  8. package/src/duckdb/src/execution/index/art/art_key.cpp +22 -32
  9. package/src/duckdb/src/execution/index/art/fixed_size_allocator.cpp +224 -0
  10. package/src/duckdb/src/execution/index/art/iterator.cpp +142 -123
  11. package/src/duckdb/src/execution/index/art/leaf.cpp +319 -170
  12. package/src/duckdb/src/execution/index/art/leaf_segment.cpp +42 -0
  13. package/src/duckdb/src/execution/index/art/node.cpp +444 -379
  14. package/src/duckdb/src/execution/index/art/node16.cpp +178 -114
  15. package/src/duckdb/src/execution/index/art/node256.cpp +117 -79
  16. package/src/duckdb/src/execution/index/art/node4.cpp +169 -114
  17. package/src/duckdb/src/execution/index/art/node48.cpp +175 -105
  18. package/src/duckdb/src/execution/index/art/prefix.cpp +405 -127
  19. package/src/duckdb/src/execution/index/art/prefix_segment.cpp +42 -0
  20. package/src/duckdb/src/execution/index/art/swizzleable_pointer.cpp +10 -85
  21. package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +2 -1
  22. package/src/duckdb/src/execution/operator/persistent/base_csv_reader.cpp +2 -2
  23. package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +2 -0
  24. package/src/duckdb/src/execution/operator/persistent/parallel_csv_reader.cpp +4 -0
  25. package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +11 -12
  26. package/src/duckdb/src/function/table/read_csv.cpp +5 -1
  27. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  28. package/src/duckdb/src/include/duckdb/common/queue.hpp +1 -1
  29. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +53 -45
  30. package/src/duckdb/src/include/duckdb/execution/index/art/art_key.hpp +29 -24
  31. package/src/duckdb/src/include/duckdb/execution/index/art/fixed_size_allocator.hpp +114 -0
  32. package/src/duckdb/src/include/duckdb/execution/index/art/iterator.hpp +26 -20
  33. package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +63 -39
  34. package/src/duckdb/src/include/duckdb/execution/index/art/leaf_segment.hpp +36 -0
  35. package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +98 -116
  36. package/src/duckdb/src/include/duckdb/execution/index/art/node16.hpp +48 -36
  37. package/src/duckdb/src/include/duckdb/execution/index/art/node256.hpp +52 -35
  38. package/src/duckdb/src/include/duckdb/execution/index/art/node4.hpp +46 -36
  39. package/src/duckdb/src/include/duckdb/execution/index/art/node48.hpp +57 -35
  40. package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +57 -50
  41. package/src/duckdb/src/include/duckdb/execution/index/art/prefix_segment.hpp +40 -0
  42. package/src/duckdb/src/include/duckdb/execution/index/art/swizzleable_pointer.hpp +38 -31
  43. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_file_handle.hpp +2 -1
  44. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_reader_options.hpp +2 -0
  45. package/src/duckdb/src/include/duckdb/main/query_result.hpp +1 -1
  46. package/src/duckdb/src/include/duckdb/parser/statement/insert_statement.hpp +4 -1
  47. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +2 -1
  48. package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +0 -5
  49. package/src/duckdb/src/include/duckdb/storage/index.hpp +13 -28
  50. package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +0 -2
  51. package/src/duckdb/src/include/duckdb/transaction/cleanup_state.hpp +5 -0
  52. package/src/duckdb/src/include/duckdb.h +26 -0
  53. package/src/duckdb/src/main/capi/helper-c.cpp +7 -0
  54. package/src/duckdb/src/main/client_context.cpp +1 -1
  55. package/src/duckdb/src/main/query_result.cpp +1 -1
  56. package/src/duckdb/src/parser/statement/insert_statement.cpp +15 -6
  57. package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +1 -1
  58. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +18 -5
  59. package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +5 -7
  60. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +20 -7
  61. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +14 -9
  62. package/src/duckdb/src/storage/checkpoint_manager.cpp +11 -9
  63. package/src/duckdb/src/storage/data_table.cpp +6 -3
  64. package/src/duckdb/src/storage/index.cpp +18 -6
  65. package/src/duckdb/src/storage/local_storage.cpp +8 -2
  66. package/src/duckdb/src/storage/standard_buffer_manager.cpp +0 -9
  67. package/src/duckdb/src/storage/wal_replay.cpp +1 -1
  68. package/src/duckdb/src/transaction/cleanup_state.cpp +6 -0
  69. package/src/duckdb/src/transaction/undo_buffer.cpp +8 -0
  70. package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +4 -4
  71. package/src/duckdb/ub_src_execution_index_art.cpp +7 -1
package/binding.gyp CHANGED
@@ -227,17 +227,17 @@
227
227
  "src/duckdb/third_party/zstd/compress/zstd_lazy.cpp",
228
228
  "src/duckdb/third_party/zstd/compress/zstd_ldm.cpp",
229
229
  "src/duckdb/third_party/zstd/compress/zstd_opt.cpp",
230
- "src/duckdb/extension/icu/./icu-datetrunc.cpp",
231
- "src/duckdb/extension/icu/./icu-strptime.cpp",
232
- "src/duckdb/extension/icu/./icu-timezone.cpp",
233
- "src/duckdb/extension/icu/./icu-extension.cpp",
230
+ "src/duckdb/extension/icu/./icu-makedate.cpp",
234
231
  "src/duckdb/extension/icu/./icu-datepart.cpp",
235
- "src/duckdb/extension/icu/./icu-dateadd.cpp",
232
+ "src/duckdb/extension/icu/./icu-timebucket.cpp",
236
233
  "src/duckdb/extension/icu/./icu-list-range.cpp",
237
234
  "src/duckdb/extension/icu/./icu-table-range.cpp",
238
- "src/duckdb/extension/icu/./icu-timebucket.cpp",
239
- "src/duckdb/extension/icu/./icu-makedate.cpp",
235
+ "src/duckdb/extension/icu/./icu-dateadd.cpp",
236
+ "src/duckdb/extension/icu/./icu-datetrunc.cpp",
240
237
  "src/duckdb/extension/icu/./icu-datefunc.cpp",
238
+ "src/duckdb/extension/icu/./icu-timezone.cpp",
239
+ "src/duckdb/extension/icu/./icu-strptime.cpp",
240
+ "src/duckdb/extension/icu/./icu-extension.cpp",
241
241
  "src/duckdb/extension/icu/./icu-datesub.cpp",
242
242
  "src/duckdb/ub_extension_icu_third_party_icu_common.cpp",
243
243
  "src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp",
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "duckdb",
3
3
  "main": "./lib/duckdb.js",
4
4
  "types": "./lib/duckdb.d.ts",
5
- "version": "0.7.2-dev2552.0",
5
+ "version": "0.7.2-dev2699.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -54,7 +54,7 @@
54
54
  "duckdb"
55
55
  ],
56
56
  "author": "Hannes Mühleisen",
57
- "license": "MPL-2.0",
57
+ "license": "MIT",
58
58
  "bugs": {
59
59
  "url": "https://github.com/duckdb/duckdb/issues"
60
60
  },
@@ -116,6 +116,9 @@ Value ParquetStatisticsUtils::ConvertValue(const LogicalType &type,
116
116
  }
117
117
  case Type::BYTE_ARRAY:
118
118
  case Type::FIXED_LEN_BYTE_ARRAY:
119
+ if (stats.size() > GetTypeIdSize(type.InternalType())) {
120
+ throw InternalException("Incorrect stats size for type %s", type.ToString());
121
+ }
119
122
  switch (type.InternalType()) {
120
123
  case PhysicalType::INT16:
121
124
  return Value::DECIMAL(
@@ -40,10 +40,10 @@ void AddDataTableIndex(DataTable &storage, const ColumnList &columns, const vect
40
40
  // create an adaptive radix tree around the expressions
41
41
  if (index_block) {
42
42
  art = make_uniq<ART>(column_ids, TableIOManager::Get(storage), std::move(unbound_expressions), constraint_type,
43
- storage.db, true, index_block->block_id, index_block->offset);
43
+ storage.db, index_block->block_id, index_block->offset);
44
44
  } else {
45
45
  art = make_uniq<ART>(column_ids, TableIOManager::Get(storage), std::move(unbound_expressions), constraint_type,
46
- storage.db, true);
46
+ storage.db);
47
47
  if (!storage.IsRoot()) {
48
48
  throw TransactionException("Transaction conflict: cannot add an index to a table that has been altered!");
49
49
  }
@@ -72,7 +72,10 @@ AdbcStatusCode DatabaseNew(struct AdbcDatabase *database, struct AdbcError *erro
72
72
  CHECK_TRUE(database, error, "Missing database object");
73
73
 
74
74
  database->private_data = nullptr;
75
- auto wrapper = (DuckDBAdbcDatabaseWrapper *)malloc(sizeof(DuckDBAdbcDatabaseWrapper));
75
+ // you can't malloc a struct with a non-trivial C++ constructor
76
+ // and std::string has a non-trivial constructor. so we need
77
+ // to use new and delete rather than malloc and free.
78
+ auto wrapper = new DuckDBAdbcDatabaseWrapper;
76
79
  CHECK_TRUE(wrapper, error, "Allocation error");
77
80
 
78
81
  database->private_data = wrapper;
@@ -112,7 +115,7 @@ AdbcStatusCode DatabaseRelease(struct AdbcDatabase *database, struct AdbcError *
112
115
 
113
116
  duckdb_close(&wrapper->database);
114
117
  duckdb_destroy_config(&wrapper->config);
115
- free(database->private_data);
118
+ delete wrapper;
116
119
  database->private_data = nullptr;
117
120
  }
118
121
  return ADBC_STATUS_OK;
@@ -9,7 +9,7 @@
9
9
  namespace duckdb {
10
10
 
11
11
  template <class OP, class RETURN_TYPE, typename... ARGS>
12
- RETURN_TYPE RadixBitsSwitch(idx_t radix_bits, ARGS &&...args) {
12
+ RETURN_TYPE RadixBitsSwitch(idx_t radix_bits, ARGS &&... args) {
13
13
  D_ASSERT(radix_bits <= sizeof(hash_t) * 8);
14
14
  switch (radix_bits) {
15
15
  case 1: