duckdb 0.7.2-dev2430.0 → 0.7.2-dev2552.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 (201) hide show
  1. package/package.json +1 -1
  2. package/src/connection.cpp +1 -1
  3. package/src/duckdb/extension/icu/icu-dateadd.cpp +3 -3
  4. package/src/duckdb/extension/icu/icu-datepart.cpp +3 -3
  5. package/src/duckdb/extension/icu/icu-datesub.cpp +2 -2
  6. package/src/duckdb/extension/icu/icu-datetrunc.cpp +1 -1
  7. package/src/duckdb/extension/icu/icu-extension.cpp +3 -3
  8. package/src/duckdb/extension/icu/icu-list-range.cpp +2 -2
  9. package/src/duckdb/extension/icu/icu-makedate.cpp +1 -1
  10. package/src/duckdb/extension/icu/icu-strptime.cpp +4 -4
  11. package/src/duckdb/extension/icu/icu-table-range.cpp +2 -2
  12. package/src/duckdb/extension/icu/icu-timebucket.cpp +1 -1
  13. package/src/duckdb/extension/icu/icu-timezone.cpp +4 -4
  14. package/src/duckdb/extension/json/json-extension.cpp +6 -6
  15. package/src/duckdb/extension/parquet/parquet-extension.cpp +9 -8
  16. package/src/duckdb/src/catalog/catalog.cpp +166 -127
  17. package/src/duckdb/src/catalog/catalog_entry/copy_function_catalog_entry.cpp +3 -3
  18. package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +1 -1
  19. package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +90 -82
  20. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +65 -67
  21. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +3 -3
  22. package/src/duckdb/src/catalog/catalog_entry/pragma_function_catalog_entry.cpp +4 -4
  23. package/src/duckdb/src/catalog/catalog_entry/scalar_function_catalog_entry.cpp +8 -8
  24. package/src/duckdb/src/catalog/catalog_entry/scalar_macro_catalog_entry.cpp +10 -10
  25. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +6 -6
  26. package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +6 -6
  27. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +4 -4
  28. package/src/duckdb/src/catalog/catalog_entry/table_function_catalog_entry.cpp +9 -9
  29. package/src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp +5 -5
  30. package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +23 -23
  31. package/src/duckdb/src/catalog/catalog_entry.cpp +27 -6
  32. package/src/duckdb/src/catalog/catalog_search_path.cpp +2 -2
  33. package/src/duckdb/src/catalog/catalog_set.cpp +84 -87
  34. package/src/duckdb/src/catalog/catalog_transaction.cpp +1 -1
  35. package/src/duckdb/src/catalog/default/default_functions.cpp +1 -1
  36. package/src/duckdb/src/catalog/default/default_schemas.cpp +1 -1
  37. package/src/duckdb/src/catalog/default/default_types.cpp +1 -1
  38. package/src/duckdb/src/catalog/default/default_views.cpp +1 -1
  39. package/src/duckdb/src/catalog/dependency_list.cpp +2 -2
  40. package/src/duckdb/src/catalog/dependency_manager.cpp +9 -10
  41. package/src/duckdb/src/catalog/duck_catalog.cpp +30 -26
  42. package/src/duckdb/src/catalog/similar_catalog_entry.cpp +1 -1
  43. package/src/duckdb/src/common/types.cpp +15 -27
  44. package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +2 -2
  45. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +4 -3
  46. package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +19 -18
  47. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +5 -5
  48. package/src/duckdb/src/execution/operator/schema/physical_alter.cpp +1 -1
  49. package/src/duckdb/src/execution/operator/schema/physical_create_function.cpp +1 -1
  50. package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +6 -5
  51. package/src/duckdb/src/execution/operator/schema/physical_create_schema.cpp +1 -1
  52. package/src/duckdb/src/execution/operator/schema/physical_create_sequence.cpp +1 -1
  53. package/src/duckdb/src/execution/operator/schema/physical_create_table.cpp +2 -2
  54. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +4 -3
  55. package/src/duckdb/src/execution/operator/schema/physical_create_view.cpp +1 -1
  56. package/src/duckdb/src/execution/operator/schema/physical_detach.cpp +1 -1
  57. package/src/duckdb/src/execution/operator/schema/physical_drop.cpp +2 -2
  58. package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +1 -1
  59. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +4 -4
  60. package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +4 -3
  61. package/src/duckdb/src/execution/physical_plan/plan_delete.cpp +1 -1
  62. package/src/duckdb/src/execution/physical_plan/plan_insert.cpp +1 -1
  63. package/src/duckdb/src/execution/physical_plan/plan_update.cpp +1 -1
  64. package/src/duckdb/src/function/built_in_functions.cpp +10 -10
  65. package/src/duckdb/src/function/function_binder.cpp +3 -3
  66. package/src/duckdb/src/function/scalar/list/list_aggregates.cpp +5 -6
  67. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +2 -2
  68. package/src/duckdb/src/function/scalar/sequence/nextval.cpp +9 -8
  69. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +6 -6
  70. package/src/duckdb/src/function/table/arrow.cpp +32 -31
  71. package/src/duckdb/src/function/table/arrow_conversion.cpp +75 -59
  72. package/src/duckdb/src/function/table/system/duckdb_columns.cpp +8 -7
  73. package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +14 -14
  74. package/src/duckdb/src/function/table/system/duckdb_databases.cpp +2 -2
  75. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +26 -25
  76. package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +13 -12
  77. package/src/duckdb/src/function/table/system/duckdb_schemas.cpp +7 -7
  78. package/src/duckdb/src/function/table/system/duckdb_sequences.cpp +8 -9
  79. package/src/duckdb/src/function/table/system/duckdb_tables.cpp +10 -9
  80. package/src/duckdb/src/function/table/system/duckdb_types.cpp +13 -13
  81. package/src/duckdb/src/function/table/system/duckdb_views.cpp +11 -10
  82. package/src/duckdb/src/function/table/system/pragma_collations.cpp +2 -2
  83. package/src/duckdb/src/function/table/system/pragma_database_size.cpp +5 -5
  84. package/src/duckdb/src/function/table/system/pragma_storage_info.cpp +3 -3
  85. package/src/duckdb/src/function/table/system/pragma_table_info.cpp +2 -2
  86. package/src/duckdb/src/function/table/table_scan.cpp +39 -37
  87. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  88. package/src/duckdb/src/function/udf_function.cpp +2 -2
  89. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +122 -81
  90. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/aggregate_function_catalog_entry.hpp +2 -3
  91. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/collate_catalog_entry.hpp +3 -3
  92. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/copy_function_catalog_entry.hpp +1 -1
  93. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +1 -1
  94. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +24 -20
  95. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +3 -3
  96. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +1 -1
  97. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +2 -2
  98. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/pragma_function_catalog_entry.hpp +1 -1
  99. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/scalar_function_catalog_entry.hpp +2 -2
  100. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp +1 -1
  101. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +22 -17
  102. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +1 -1
  103. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +1 -1
  104. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp +2 -2
  105. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp +1 -1
  106. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +1 -1
  107. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +3 -3
  108. package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +28 -7
  109. package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +20 -19
  110. package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +9 -9
  111. package/src/duckdb/src/include/duckdb/catalog/similar_catalog_entry.hpp +2 -1
  112. package/src/duckdb/src/include/duckdb/catalog/standard_entry.hpp +10 -4
  113. package/src/duckdb/src/include/duckdb/common/enums/on_entry_not_found.hpp +17 -0
  114. package/src/duckdb/src/include/duckdb/common/types.hpp +3 -4
  115. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +4 -4
  116. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +3 -2
  117. package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +5 -4
  118. package/src/duckdb/src/include/duckdb/function/table_function.hpp +28 -15
  119. package/src/duckdb/src/include/duckdb/main/attached_database.hpp +2 -0
  120. package/src/duckdb/src/include/duckdb/main/client_context.hpp +1 -1
  121. package/src/duckdb/src/include/duckdb/main/database_manager.hpp +3 -2
  122. package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +2 -0
  123. package/src/duckdb/src/include/duckdb/parser/keyword_helper.hpp +2 -2
  124. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +7 -5
  125. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +1 -1
  126. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +1 -1
  127. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +1 -1
  128. package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +3 -2
  129. package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +5 -5
  130. package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +13 -0
  131. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +5 -2
  132. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +2 -0
  133. package/src/duckdb/src/include/duckdb/planner/binder.hpp +2 -2
  134. package/src/duckdb/src/include/duckdb/planner/expression_binder/base_select_binder.hpp +1 -2
  135. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +4 -7
  136. package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +1 -1
  137. package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +12 -0
  138. package/src/duckdb/src/main/attached_database.cpp +12 -6
  139. package/src/duckdb/src/main/capi/table_function-c.cpp +17 -16
  140. package/src/duckdb/src/main/client_context.cpp +12 -11
  141. package/src/duckdb/src/main/database_manager.cpp +13 -12
  142. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +1 -2
  143. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +3 -3
  144. package/src/duckdb/src/parser/parsed_data/alter_scalar_function_info.cpp +2 -2
  145. package/src/duckdb/src/parser/parsed_data/alter_table_function_info.cpp +2 -2
  146. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +9 -9
  147. package/src/duckdb/src/parser/parsed_data/create_scalar_function_info.cpp +2 -2
  148. package/src/duckdb/src/parser/parsed_data/create_table_function_info.cpp +2 -2
  149. package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +2 -2
  150. package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +2 -2
  151. package/src/duckdb/src/parser/transform/statement/transform_alter_sequence.cpp +3 -2
  152. package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +5 -1
  153. package/src/duckdb/src/parser/transform/statement/transform_detach.cpp +1 -1
  154. package/src/duckdb/src/parser/transform/statement/transform_drop.cpp +1 -1
  155. package/src/duckdb/src/parser/transform/statement/transform_rename.cpp +1 -1
  156. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +26 -27
  157. package/src/duckdb/src/planner/binder/expression/bind_between_expression.cpp +17 -17
  158. package/src/duckdb/src/planner/binder/expression/bind_case_expression.cpp +9 -9
  159. package/src/duckdb/src/planner/binder/expression/bind_cast_expression.cpp +6 -6
  160. package/src/duckdb/src/planner/binder/expression/bind_collate_expression.cpp +6 -6
  161. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +2 -2
  162. package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +21 -21
  163. package/src/duckdb/src/planner/binder/expression/bind_conjunction_expression.cpp +2 -3
  164. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +33 -36
  165. package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +5 -5
  166. package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +23 -23
  167. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +4 -4
  168. package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +7 -7
  169. package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +23 -23
  170. package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +4 -4
  171. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +14 -13
  172. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +36 -35
  173. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +3 -3
  174. package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +1 -1
  175. package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +4 -4
  176. package/src/duckdb/src/planner/binder/statement/bind_export.cpp +10 -10
  177. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +2 -2
  178. package/src/duckdb/src/planner/binder/statement/bind_pragma.cpp +4 -4
  179. package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +5 -4
  180. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +1 -1
  181. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +3 -3
  182. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +10 -12
  183. package/src/duckdb/src/planner/binder.cpp +2 -2
  184. package/src/duckdb/src/planner/expression/bound_expression.cpp +11 -2
  185. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +2 -5
  186. package/src/duckdb/src/planner/operator/logical_create.cpp +2 -1
  187. package/src/duckdb/src/planner/operator/logical_create_index.cpp +2 -2
  188. package/src/duckdb/src/planner/operator/logical_delete.cpp +2 -2
  189. package/src/duckdb/src/planner/operator/logical_get.cpp +1 -1
  190. package/src/duckdb/src/planner/operator/logical_insert.cpp +2 -7
  191. package/src/duckdb/src/planner/operator/logical_update.cpp +2 -6
  192. package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +2 -2
  193. package/src/duckdb/src/planner/pragma_handler.cpp +3 -4
  194. package/src/duckdb/src/storage/checkpoint_manager.cpp +46 -46
  195. package/src/duckdb/src/storage/data_table.cpp +3 -6
  196. package/src/duckdb/src/storage/table/update_segment.cpp +1 -1
  197. package/src/duckdb/src/storage/wal_replay.cpp +28 -30
  198. package/src/duckdb/src/storage/write_ahead_log.cpp +8 -8
  199. package/src/duckdb/src/transaction/cleanup_state.cpp +1 -1
  200. package/src/duckdb/src/transaction/commit_state.cpp +3 -4
  201. package/src/duckdb/src/transaction/transaction_context.cpp +1 -1
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-dev2430.0",
5
+ "version": "0.7.2-dev2552.0",
6
6
  "description": "DuckDB node.js API",
7
7
  "gypfile": true,
8
8
  "dependencies": {
@@ -332,7 +332,7 @@ struct UnregisterUdfTask : public Task {
332
332
  info.type = duckdb::CatalogType::SCALAR_FUNCTION_ENTRY;
333
333
  info.name = name;
334
334
  info.allow_drop_internal = true;
335
- catalog.DropEntry(context, &info);
335
+ catalog.DropEntry(context, info);
336
336
  con.Commit();
337
337
  }
338
338
  std::string name;
@@ -247,7 +247,7 @@ struct ICUDateAdd : public ICUDateFunc {
247
247
 
248
248
  CreateScalarFunctionInfo func_info(set);
249
249
  auto &catalog = Catalog::GetSystemCatalog(context);
250
- catalog.AddFunction(context, &func_info);
250
+ catalog.AddFunction(context, func_info);
251
251
  }
252
252
 
253
253
  template <typename TA, typename OP>
@@ -272,7 +272,7 @@ struct ICUDateAdd : public ICUDateFunc {
272
272
 
273
273
  CreateScalarFunctionInfo func_info(set);
274
274
  auto &catalog = Catalog::GetSystemCatalog(context);
275
- catalog.AddFunction(context, &func_info);
275
+ catalog.AddFunction(context, func_info);
276
276
  }
277
277
 
278
278
  static void AddDateAgeFunctions(const string &name, ClientContext &context) {
@@ -284,7 +284,7 @@ struct ICUDateAdd : public ICUDateFunc {
284
284
 
285
285
  CreateScalarFunctionInfo func_info(set);
286
286
  auto &catalog = Catalog::GetSystemCatalog(context);
287
- catalog.AddFunction(context, &func_info);
287
+ catalog.AddFunction(context, func_info);
288
288
  }
289
289
  };
290
290
 
@@ -436,7 +436,7 @@ struct ICUDatePart : public ICUDateFunc {
436
436
  ScalarFunctionSet set(name);
437
437
  set.AddFunction(GetUnaryPartCodeFunction<timestamp_t, int64_t>(LogicalType::TIMESTAMP_TZ));
438
438
  CreateScalarFunctionInfo func_info(set);
439
- catalog.AddFunction(context, &func_info);
439
+ catalog.AddFunction(context, func_info);
440
440
  }
441
441
 
442
442
  template <typename INPUT_TYPE, typename RESULT_TYPE>
@@ -461,7 +461,7 @@ struct ICUDatePart : public ICUDateFunc {
461
461
  set.AddFunction(GetBinaryPartCodeFunction<timestamp_t, int64_t>(LogicalType::TIMESTAMP_TZ));
462
462
  set.AddFunction(GetStructFunction<timestamp_t>(LogicalType::TIMESTAMP_TZ));
463
463
  CreateScalarFunctionInfo func_info(set);
464
- catalog.AddFunction(context, &func_info);
464
+ catalog.AddFunction(context, func_info);
465
465
  }
466
466
 
467
467
  static duckdb::unique_ptr<FunctionData> BindLastDate(ClientContext &context, ScalarFunction &bound_function,
@@ -480,7 +480,7 @@ struct ICUDatePart : public ICUDateFunc {
480
480
  ScalarFunctionSet set(name);
481
481
  set.AddFunction(GetLastDayFunction<timestamp_t>(LogicalType::TIMESTAMP_TZ));
482
482
  CreateScalarFunctionInfo func_info(set);
483
- catalog.AddFunction(context, &func_info);
483
+ catalog.AddFunction(context, func_info);
484
484
  }
485
485
  };
486
486
 
@@ -144,7 +144,7 @@ struct ICUCalendarSub : public ICUDateFunc {
144
144
 
145
145
  CreateScalarFunctionInfo func_info(set);
146
146
  auto &catalog = Catalog::GetSystemCatalog(context);
147
- catalog.AddFunction(context, &func_info);
147
+ catalog.AddFunction(context, func_info);
148
148
  }
149
149
  };
150
150
 
@@ -271,7 +271,7 @@ struct ICUCalendarDiff : public ICUDateFunc {
271
271
 
272
272
  CreateScalarFunctionInfo func_info(set);
273
273
  auto &catalog = Catalog::GetSystemCatalog(context);
274
- catalog.AddFunction(context, &func_info);
274
+ catalog.AddFunction(context, func_info);
275
275
  }
276
276
  };
277
277
 
@@ -146,7 +146,7 @@ struct ICUDateTrunc : public ICUDateFunc {
146
146
 
147
147
  CreateScalarFunctionInfo func_info(set);
148
148
  auto &catalog = Catalog::GetSystemCatalog(context);
149
- catalog.AddFunction(context, &func_info);
149
+ catalog.AddFunction(context, func_info);
150
150
  }
151
151
  };
152
152
 
@@ -247,13 +247,13 @@ void ICUExtension::Load(DuckDB &db) {
247
247
 
248
248
  CreateCollationInfo info(collation, GetICUFunction(collation), false, true);
249
249
  info.on_conflict = OnCreateConflict::IGNORE_ON_CONFLICT;
250
- catalog.CreateCollation(*con.context, &info);
250
+ catalog.CreateCollation(*con.context, info);
251
251
  }
252
252
  ScalarFunction sort_key("icu_sort_key", {LogicalType::VARCHAR, LogicalType::VARCHAR}, LogicalType::VARCHAR,
253
253
  ICUCollateFunction, ICUSortKeyBind);
254
254
 
255
255
  CreateScalarFunctionInfo sort_key_info(std::move(sort_key));
256
- catalog.CreateFunction(*con.context, &sort_key_info);
256
+ catalog.CreateFunction(*con.context, sort_key_info);
257
257
 
258
258
  // Time Zones
259
259
  auto &config = DBConfig::GetConfig(*db.instance);
@@ -283,7 +283,7 @@ void ICUExtension::Load(DuckDB &db) {
283
283
 
284
284
  TableFunction cal_names("icu_calendar_names", {}, ICUCalendarFunction, ICUCalendarBind, ICUCalendarInit);
285
285
  CreateTableFunctionInfo cal_names_info(std::move(cal_names));
286
- catalog.CreateTableFunction(*con.context, &cal_names_info);
286
+ catalog.CreateTableFunction(*con.context, cal_names_info);
287
287
 
288
288
  con.Commit();
289
289
  }
@@ -188,7 +188,7 @@ struct ICUListRange : public ICUDateFunc {
188
188
  LogicalType::LIST(LogicalType::TIMESTAMP_TZ), ICUListRangeFunction<false>,
189
189
  Bind));
190
190
  CreateScalarFunctionInfo range_func_info(range);
191
- catalog.AddFunction(context, &range_func_info);
191
+ catalog.AddFunction(context, range_func_info);
192
192
 
193
193
  // generate_series: similar to range, but inclusive instead of exclusive bounds on the RHS
194
194
  ScalarFunctionSet generate_series("generate_series");
@@ -196,7 +196,7 @@ struct ICUListRange : public ICUDateFunc {
196
196
  ScalarFunction({LogicalType::TIMESTAMP_TZ, LogicalType::TIMESTAMP_TZ, LogicalType::INTERVAL},
197
197
  LogicalType::LIST(LogicalType::TIMESTAMP_TZ), ICUListRangeFunction<true>, Bind));
198
198
  CreateScalarFunctionInfo generate_series_func_info(generate_series);
199
- catalog.AddFunction(context, &generate_series_func_info);
199
+ catalog.AddFunction(context, generate_series_func_info);
200
200
  }
201
201
  };
202
202
 
@@ -140,7 +140,7 @@ struct ICUMakeTimestampTZFunc : public ICUDateFunc {
140
140
 
141
141
  CreateScalarFunctionInfo func_info(set);
142
142
  auto &catalog = Catalog::GetSystemCatalog(context);
143
- catalog.AddFunction(context, &func_info);
143
+ catalog.AddFunction(context, func_info);
144
144
  }
145
145
  };
146
146
 
@@ -222,9 +222,9 @@ struct ICUStrptime : public ICUDateFunc {
222
222
  static void TailPatch(const string &name, ClientContext &context, const vector<LogicalType> &types) {
223
223
  // Find the old function
224
224
  auto &catalog = Catalog::GetSystemCatalog(context);
225
- auto entry = catalog.GetEntry(context, CatalogType::SCALAR_FUNCTION_ENTRY, DEFAULT_SCHEMA, name);
226
- D_ASSERT(entry && entry->type == CatalogType::SCALAR_FUNCTION_ENTRY);
227
- auto &func = entry->Cast<ScalarFunctionCatalogEntry>();
225
+ auto &entry = catalog.GetEntry(context, CatalogType::SCALAR_FUNCTION_ENTRY, DEFAULT_SCHEMA, name);
226
+ D_ASSERT(entry.type == CatalogType::SCALAR_FUNCTION_ENTRY);
227
+ auto &func = entry.Cast<ScalarFunctionCatalogEntry>();
228
228
  string error;
229
229
 
230
230
  FunctionBinder function_binder(context);
@@ -417,7 +417,7 @@ struct ICUStrftime : public ICUDateFunc {
417
417
 
418
418
  CreateScalarFunctionInfo func_info(set);
419
419
  auto &catalog = Catalog::GetSystemCatalog(context);
420
- catalog.AddFunction(context, &func_info);
420
+ catalog.AddFunction(context, func_info);
421
421
  }
422
422
 
423
423
  static string_t CastOperation(icu::Calendar *calendar, timestamp_t input, Vector &result) {
@@ -175,7 +175,7 @@ struct ICUTableRange {
175
175
  range.AddFunction(TableFunction({LogicalType::TIMESTAMP_TZ, LogicalType::TIMESTAMP_TZ, LogicalType::INTERVAL},
176
176
  ICUTableRangeFunction, Bind<false>, Init));
177
177
  CreateTableFunctionInfo range_func_info(range);
178
- catalog.AddFunction(context, &range_func_info);
178
+ catalog.AddFunction(context, range_func_info);
179
179
 
180
180
  // generate_series: similar to range, but inclusive instead of exclusive bounds on the RHS
181
181
  TableFunctionSet generate_series("generate_series");
@@ -183,7 +183,7 @@ struct ICUTableRange {
183
183
  TableFunction({LogicalType::TIMESTAMP_TZ, LogicalType::TIMESTAMP_TZ, LogicalType::INTERVAL},
184
184
  ICUTableRangeFunction, Bind<true>, Init));
185
185
  CreateTableFunctionInfo generate_series_func_info(generate_series);
186
- catalog.AddFunction(context, &generate_series_func_info);
186
+ catalog.AddFunction(context, generate_series_func_info);
187
187
  }
188
188
  };
189
189
 
@@ -626,7 +626,7 @@ struct ICUTimeBucket : public ICUDateFunc {
626
626
 
627
627
  CreateScalarFunctionInfo func_info(set);
628
628
  auto &catalog = Catalog::GetSystemCatalog(context);
629
- catalog.AddFunction(context, &func_info);
629
+ catalog.AddFunction(context, func_info);
630
630
  }
631
631
  };
632
632
 
@@ -268,7 +268,7 @@ struct ICULocalTimestampFunc : public ICUDateFunc {
268
268
 
269
269
  CreateScalarFunctionInfo func_info(set);
270
270
  auto &catalog = Catalog::GetSystemCatalog(context);
271
- catalog.AddFunction(context, &func_info);
271
+ catalog.AddFunction(context, func_info);
272
272
  }
273
273
  };
274
274
 
@@ -288,7 +288,7 @@ struct ICULocalTimeFunc : public ICUDateFunc {
288
288
 
289
289
  CreateScalarFunctionInfo func_info(set);
290
290
  auto &catalog = Catalog::GetSystemCatalog(context);
291
- catalog.AddFunction(context, &func_info);
291
+ catalog.AddFunction(context, func_info);
292
292
  }
293
293
  };
294
294
 
@@ -335,7 +335,7 @@ struct ICUTimeZoneFunc : public ICUDateFunc {
335
335
 
336
336
  CreateScalarFunctionInfo func_info(set);
337
337
  auto &catalog = Catalog::GetSystemCatalog(context);
338
- catalog.AddFunction(context, &func_info);
338
+ catalog.AddFunction(context, func_info);
339
339
  }
340
340
  };
341
341
 
@@ -348,7 +348,7 @@ void RegisterICUTimeZoneFunctions(ClientContext &context) {
348
348
  auto &catalog = Catalog::GetSystemCatalog(context);
349
349
  TableFunction tz_names("pg_timezone_names", {}, ICUTimeZoneFunction, ICUTimeZoneBind, ICUTimeZoneInit);
350
350
  CreateTableFunctionInfo tz_names_info(std::move(tz_names));
351
- catalog.CreateTableFunction(context, &tz_names_info);
351
+ catalog.CreateTableFunction(context, tz_names_info);
352
352
 
353
353
  // Scalar functions
354
354
  ICUTimeZoneFunc::AddFunction("timezone", context);
@@ -33,24 +33,24 @@ void JSONExtension::Load(DuckDB &db) {
33
33
  CreateTypeInfo type_info(JSONCommon::JSON_TYPE_NAME, json_type);
34
34
  type_info.temporary = true;
35
35
  type_info.internal = true;
36
- catalog.CreateType(context, &type_info);
36
+ catalog.CreateType(context, type_info);
37
37
 
38
38
  // JSON casts
39
39
  JSONFunctions::RegisterCastFunctions(DBConfig::GetConfig(context).GetCastFunctions());
40
40
 
41
41
  // JSON scalar functions
42
42
  for (auto &fun : JSONFunctions::GetScalarFunctions()) {
43
- catalog.CreateFunction(context, &fun);
43
+ catalog.CreateFunction(context, fun);
44
44
  }
45
45
 
46
46
  // JSON table functions
47
47
  for (auto &fun : JSONFunctions::GetTableFunctions()) {
48
- catalog.CreateTableFunction(context, &fun);
48
+ catalog.CreateTableFunction(context, fun);
49
49
  }
50
50
 
51
51
  // JSON pragma functions
52
52
  for (auto &fun : JSONFunctions::GetPragmaFunctions()) {
53
- catalog.CreatePragmaFunction(context, &fun);
53
+ catalog.CreatePragmaFunction(context, fun);
54
54
  }
55
55
 
56
56
  // JSON replacement scan
@@ -59,12 +59,12 @@ void JSONExtension::Load(DuckDB &db) {
59
59
 
60
60
  // JSON copy function
61
61
  auto copy_fun = JSONFunctions::GetJSONCopyFunction();
62
- catalog.CreateCopyFunction(context, &copy_fun);
62
+ catalog.CreateCopyFunction(context, copy_fun);
63
63
 
64
64
  // JSON macro's
65
65
  for (idx_t index = 0; json_macros[index].name != nullptr; index++) {
66
66
  auto info = DefaultFunctionGenerator::CreateInternalMacroInfo(json_macros[index]);
67
- catalog.CreateFunction(context, info.get());
67
+ catalog.CreateFunction(context, *info);
68
68
  }
69
69
 
70
70
  con.Commit();
@@ -372,11 +372,11 @@ public:
372
372
  }
373
373
 
374
374
  result->column_ids = input.column_ids;
375
- result->filters = input.filters;
375
+ result->filters = input.filters.get();
376
376
  result->row_group_index = 0;
377
377
  result->file_index = 0;
378
378
  result->batch_index = 0;
379
- result->max_threads = ParquetScanMaxThreads(context, input.bind_data);
379
+ result->max_threads = ParquetScanMaxThreads(context, input.bind_data.get());
380
380
  if (input.CanRemoveFilterColumns()) {
381
381
  result->projection_ids = input.projection_ids;
382
382
  const auto table_types = bind_data.types;
@@ -721,15 +721,16 @@ void ParquetExtension::Load(DuckDB &db) {
721
721
  auto &context = *con.context;
722
722
  auto &catalog = Catalog::GetSystemCatalog(context);
723
723
 
724
- if (catalog.GetEntry<TableFunctionCatalogEntry>(context, DEFAULT_SCHEMA, "parquet_scan", true)) {
724
+ if (catalog.GetEntry<TableFunctionCatalogEntry>(context, DEFAULT_SCHEMA, "parquet_scan",
725
+ OnEntryNotFound::RETURN_NULL)) {
725
726
  throw InvalidInputException("Parquet extension is either already loaded or built-in");
726
727
  }
727
728
 
728
- catalog.CreateCopyFunction(context, &info);
729
- catalog.CreateTableFunction(context, &cinfo);
730
- catalog.CreateTableFunction(context, &pq_scan);
731
- catalog.CreateTableFunction(context, &meta_cinfo);
732
- catalog.CreateTableFunction(context, &schema_cinfo);
729
+ catalog.CreateCopyFunction(context, info);
730
+ catalog.CreateTableFunction(context, cinfo);
731
+ catalog.CreateTableFunction(context, pq_scan);
732
+ catalog.CreateTableFunction(context, meta_cinfo);
733
+ catalog.CreateTableFunction(context, schema_cinfo);
733
734
  con.Commit();
734
735
 
735
736
  auto &config = DBConfig::GetConfig(*db.instance);