duckdb 0.6.2-dev781.0 → 0.6.2-dev889.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.
- package/binding.gyp +1 -1
- package/package.json +1 -1
- package/src/connection.cpp +2 -1
- package/src/duckdb/extension/icu/icu-dateadd.cpp +3 -3
- package/src/duckdb/extension/icu/icu-datepart.cpp +3 -3
- package/src/duckdb/extension/icu/icu-datesub.cpp +2 -2
- package/src/duckdb/extension/icu/icu-datetrunc.cpp +1 -1
- package/src/duckdb/extension/icu/icu-extension.cpp +1 -1
- package/src/duckdb/extension/icu/icu-makedate.cpp +1 -1
- package/src/duckdb/extension/icu/icu-strptime.cpp +2 -2
- package/src/duckdb/extension/icu/icu-timezone.cpp +6 -5
- package/src/duckdb/extension/json/json-extension.cpp +1 -1
- package/src/duckdb/extension/parquet/parquet-extension.cpp +1 -1
- package/src/duckdb/src/catalog/catalog.cpp +516 -177
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +1 -0
- package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +66 -49
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +15 -16
- package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +1 -1
- package/src/duckdb/src/catalog/catalog_entry.cpp +6 -2
- package/src/duckdb/src/catalog/catalog_search_path.cpp +177 -22
- package/src/duckdb/src/catalog/catalog_set.cpp +134 -72
- package/src/duckdb/src/catalog/catalog_transaction.cpp +28 -0
- package/src/duckdb/src/catalog/default/default_views.cpp +4 -4
- package/src/duckdb/src/catalog/dependency_list.cpp +13 -0
- package/src/duckdb/src/catalog/dependency_manager.cpp +19 -13
- package/src/duckdb/src/common/constants.cpp +8 -0
- package/src/duckdb/src/common/enums/catalog_type.cpp +2 -0
- package/src/duckdb/src/common/enums/logical_operator_type.cpp +2 -0
- package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -0
- package/src/duckdb/src/common/enums/statement_type.cpp +2 -0
- package/src/duckdb/src/common/file_system.cpp +1 -1
- package/src/duckdb/src/common/string_util.cpp +5 -1
- package/src/duckdb/src/execution/index/art/art.cpp +1 -1
- package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +1 -0
- package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +3 -2
- package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +4 -3
- package/src/duckdb/src/execution/operator/schema/physical_alter.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +72 -0
- package/src/duckdb/src/execution/operator/schema/physical_create_function.cpp +2 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +3 -3
- package/src/duckdb/src/execution/operator/schema/physical_create_schema.cpp +5 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_sequence.cpp +2 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_table.cpp +2 -2
- package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_view.cpp +2 -1
- package/src/duckdb/src/execution/operator/schema/physical_drop.cpp +10 -2
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +4 -4
- package/src/duckdb/src/execution/physical_plan/plan_create_index.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +2 -3
- package/src/duckdb/src/execution/physical_plan/plan_delete.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_insert.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_simple.cpp +4 -0
- package/src/duckdb/src/execution/physical_plan/plan_update.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan_generator.cpp +3 -2
- package/src/duckdb/src/function/built_in_functions.cpp +88 -0
- package/src/duckdb/src/function/function.cpp +0 -79
- package/src/duckdb/src/function/function_binder.cpp +2 -1
- package/src/duckdb/src/function/pragma/pragma_queries.cpp +10 -1
- package/src/duckdb/src/function/scalar/date/current.cpp +2 -2
- package/src/duckdb/src/function/scalar/list/list_aggregates.cpp +3 -2
- package/src/duckdb/src/function/scalar/sequence/nextval.cpp +14 -17
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +2 -2
- package/src/duckdb/src/function/scalar/system/system_functions.cpp +7 -4
- package/src/duckdb/src/function/table/checkpoint.cpp +37 -4
- package/src/duckdb/src/function/table/read_csv.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_columns.cpp +32 -25
- package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +26 -22
- package/src/duckdb/src/function/table/system/duckdb_dependencies.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_functions.cpp +22 -15
- package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +25 -18
- package/src/duckdb/src/function/table/system/duckdb_schemas.cpp +16 -8
- package/src/duckdb/src/function/table/system/duckdb_sequences.cpp +26 -19
- package/src/duckdb/src/function/table/system/duckdb_tables.cpp +24 -17
- package/src/duckdb/src/function/table/system/duckdb_types.cpp +22 -16
- package/src/duckdb/src/function/table/system/duckdb_views.cpp +20 -13
- package/src/duckdb/src/function/table/system/pragma_collations.cpp +3 -4
- package/src/duckdb/src/function/table/system/pragma_database_list.cpp +20 -12
- package/src/duckdb/src/function/table/system/pragma_database_size.cpp +39 -24
- package/src/duckdb/src/function/table/system/pragma_storage_info.cpp +1 -7
- package/src/duckdb/src/function/table/system/pragma_table_info.cpp +3 -2
- package/src/duckdb/src/function/table/system_functions.cpp +0 -1
- package/src/duckdb/src/function/table/table_scan.cpp +13 -10
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +102 -81
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/aggregate_function_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/collate_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/copy_function_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/pragma_function_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/scalar_function_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +21 -14
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +4 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +2 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_search_path.hpp +30 -11
- package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +35 -20
- package/src/duckdb/src/include/duckdb/catalog/catalog_transaction.hpp +32 -0
- package/src/duckdb/src/include/duckdb/catalog/dependency_list.hpp +27 -0
- package/src/duckdb/src/include/duckdb/catalog/dependency_manager.hpp +6 -4
- package/src/duckdb/src/include/duckdb/common/allocator.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/constants.hpp +8 -3
- package/src/duckdb/src/include/duckdb/common/enums/catalog_type.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/enums/logical_operator_type.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +10 -4
- package/src/duckdb/src/include/duckdb/common/file_system.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/string_util.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_attach.hpp +33 -0
- package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +2 -1
- package/src/duckdb/src/include/duckdb/function/aggregate/algebraic_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/aggregate/distributive_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/aggregate/holistic_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/aggregate/nested_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/aggregate/regression_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/built_in_functions.hpp +78 -0
- package/src/duckdb/src/include/duckdb/function/function.hpp +0 -61
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +1 -2
- package/src/duckdb/src/include/duckdb/function/pragma/pragma_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/blob_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/date_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/enum_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/generic_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/math_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/operators.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/sequence_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/trigonometric_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar/uuid_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -1
- package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/table/range.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/table/summary.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +1 -4
- package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/attached_database.hpp +64 -0
- package/src/duckdb/src/include/duckdb/main/client_context.hpp +3 -3
- package/src/duckdb/src/include/duckdb/main/client_data.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/config.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/database.hpp +6 -6
- package/src/duckdb/src/include/duckdb/main/database_manager.hpp +69 -0
- package/src/duckdb/src/include/duckdb/main/settings.hpp +10 -0
- package/src/duckdb/src/include/duckdb/main/valid_checker.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +3 -1
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +3 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_function_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +18 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +53 -56
- package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +39 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +4 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_aggregate_function_info.hpp +3 -18
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_collation_info.hpp +4 -13
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_copy_function_info.hpp +3 -12
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +5 -3
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_pragma_function_info.hpp +3 -14
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_function_info.hpp +3 -19
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +3 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +7 -34
- package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +7 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/exported_table_data.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/qualified_name.hpp +10 -2
- package/src/duckdb/src/include/duckdb/parser/query_error_context.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/statement/attach_statement.hpp +29 -0
- package/src/duckdb/src/include/duckdb/parser/statement/export_statement.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/statement/insert_statement.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/statement/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +4 -1
- package/src/duckdb/src/include/duckdb/parser/tokens.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/binder.hpp +11 -1
- package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +1 -0
- package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +13 -6
- package/src/duckdb/src/include/duckdb/storage/data_table.hpp +10 -2
- package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +9 -12
- package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +3 -7
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +5 -6
- package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +9 -7
- package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +3 -1
- package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +64 -0
- package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +14 -23
- package/src/duckdb/src/include/duckdb/transaction/transaction_context.hpp +12 -8
- package/src/duckdb/src/include/duckdb/transaction/transaction_manager.hpp +5 -10
- package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +1 -1
- package/src/duckdb/src/main/attached_database.cpp +97 -0
- package/src/duckdb/src/main/capi/table_function-c.cpp +1 -1
- package/src/duckdb/src/main/client_context.cpp +28 -22
- package/src/duckdb/src/main/client_data.cpp +5 -2
- package/src/duckdb/src/main/config.cpp +1 -0
- package/src/duckdb/src/main/database.cpp +54 -40
- package/src/duckdb/src/main/database_manager.cpp +95 -0
- package/src/duckdb/src/main/materialized_query_result.cpp +1 -1
- package/src/duckdb/src/main/prepared_statement_data.cpp +1 -2
- package/src/duckdb/src/main/query_result.cpp +4 -4
- package/src/duckdb/src/main/settings/settings.cpp +22 -6
- package/src/duckdb/src/main/stream_query_result.cpp +1 -1
- package/src/duckdb/src/parser/expression/columnref_expression.cpp +9 -3
- package/src/duckdb/src/parser/expression/function_expression.cpp +15 -13
- package/src/duckdb/src/parser/expression/window_expression.cpp +6 -4
- package/src/duckdb/src/parser/parsed_data/alter_function_info.cpp +7 -7
- package/src/duckdb/src/parser/parsed_data/alter_info.cpp +12 -2
- package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +96 -98
- package/src/duckdb/src/parser/parsed_data/create_aggregate_function_info.cpp +27 -0
- package/src/duckdb/src/parser/parsed_data/create_collation_info.cpp +23 -0
- package/src/duckdb/src/parser/parsed_data/create_copy_function_info.cpp +21 -0
- package/src/duckdb/src/parser/parsed_data/create_info.cpp +3 -0
- package/src/duckdb/src/parser/parsed_data/create_pragma_function_info.cpp +23 -0
- package/src/duckdb/src/parser/parsed_data/create_scalar_function_info.cpp +3 -1
- package/src/duckdb/src/parser/parsed_data/create_table_function_info.cpp +28 -0
- package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +9 -3
- package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +49 -0
- package/src/duckdb/src/parser/statement/attach_statement.cpp +15 -0
- package/src/duckdb/src/parser/statement/insert_statement.cpp +6 -2
- package/src/duckdb/src/parser/tableref/basetableref.cpp +9 -4
- package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +15 -13
- package/src/duckdb/src/parser/transform/expression/transform_function.cpp +17 -7
- package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +4 -9
- package/src/duckdb/src/parser/transform/helpers/nodetype_to_string.cpp +4 -0
- package/src/duckdb/src/parser/transform/statement/transform_alter_sequence.cpp +5 -4
- package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +8 -10
- package/src/duckdb/src/parser/transform/statement/transform_attach.cpp +32 -0
- package/src/duckdb/src/parser/transform/statement/transform_checkpoint.cpp +7 -2
- package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +1 -0
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +1 -0
- package/src/duckdb/src/parser/transform/statement/transform_create_schema.cpp +1 -0
- package/src/duckdb/src/parser/transform/statement/transform_create_sequence.cpp +1 -0
- package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +5 -5
- package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +1 -0
- package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +6 -13
- package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +6 -6
- package/src/duckdb/src/parser/transform/statement/transform_drop.cpp +11 -2
- package/src/duckdb/src/parser/transform/statement/transform_export.cpp +5 -1
- package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +1 -0
- package/src/duckdb/src/parser/transform/statement/transform_rename.cpp +12 -36
- package/src/duckdb/src/parser/transform/statement/transform_show.cpp +3 -1
- package/src/duckdb/src/parser/transform/statement/transform_use.cpp +21 -0
- package/src/duckdb/src/parser/transform/tableref/transform_base_tableref.cpp +11 -3
- package/src/duckdb/src/parser/transformer.cpp +4 -0
- package/src/duckdb/src/planner/bind_context.cpp +11 -2
- package/src/duckdb/src/planner/binder/expression/bind_cast_expression.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +43 -13
- package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +2 -3
- package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +2 -3
- package/src/duckdb/src/planner/binder/statement/bind_attach.cpp +20 -0
- package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +7 -4
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +79 -27
- package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +11 -7
- package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +13 -5
- package/src/duckdb/src/planner/binder/statement/bind_export.cpp +6 -3
- package/src/duckdb/src/planner/binder/statement/bind_extension.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +3 -2
- package/src/duckdb/src/planner/binder/statement/bind_pragma.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_prepare.cpp +0 -2
- package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +11 -6
- package/src/duckdb/src/planner/binder/statement/bind_update.cpp +1 -1
- package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +10 -6
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +2 -4
- package/src/duckdb/src/planner/binder.cpp +17 -2
- package/src/duckdb/src/planner/logical_operator.cpp +5 -12
- package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +3 -4
- package/src/duckdb/src/planner/operator/logical_create.cpp +1 -4
- package/src/duckdb/src/planner/operator/logical_create_index.cpp +2 -2
- package/src/duckdb/src/planner/operator/logical_delete.cpp +2 -3
- package/src/duckdb/src/planner/operator/logical_insert.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_update.cpp +1 -1
- package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +1 -1
- package/src/duckdb/src/planner/planner.cpp +3 -2
- package/src/duckdb/src/planner/pragma_handler.cpp +1 -1
- package/src/duckdb/src/storage/buffer_manager.cpp +5 -0
- package/src/duckdb/src/storage/checkpoint_manager.cpp +10 -17
- package/src/duckdb/src/storage/data_table.cpp +34 -24
- package/src/duckdb/src/storage/local_storage.cpp +7 -3
- package/src/duckdb/src/storage/single_file_block_manager.cpp +3 -3
- package/src/duckdb/src/storage/storage_manager.cpp +25 -42
- package/src/duckdb/src/storage/table/column_data.cpp +2 -1
- package/src/duckdb/src/storage/table/row_group.cpp +7 -2
- package/src/duckdb/src/storage/wal_replay.cpp +6 -22
- package/src/duckdb/src/storage/write_ahead_log.cpp +3 -3
- package/src/duckdb/src/transaction/meta_transaction.cpp +106 -0
- package/src/duckdb/src/transaction/transaction.cpp +21 -21
- package/src/duckdb/src/transaction/transaction_context.cpp +44 -8
- package/src/duckdb/src/transaction/transaction_manager.cpp +20 -20
- package/src/duckdb/src/transaction/undo_buffer.cpp +1 -3
- package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +2 -0
- package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +27 -1
- package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +99 -97
- package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +1 -0
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +15206 -14793
- package/src/duckdb/ub_src_catalog.cpp +4 -0
- package/src/duckdb/ub_src_execution_operator_schema.cpp +2 -0
- package/src/duckdb/ub_src_function.cpp +2 -0
- package/src/duckdb/ub_src_function_table_system.cpp +0 -2
- package/src/duckdb/ub_src_main.cpp +4 -0
- package/src/duckdb/ub_src_parser_parsed_data.cpp +12 -0
- package/src/duckdb/ub_src_parser_statement.cpp +2 -0
- package/src/duckdb/ub_src_parser_transform_statement.cpp +4 -0
- package/src/duckdb/ub_src_planner_binder_statement.cpp +2 -0
- package/src/duckdb/ub_src_transaction.cpp +2 -0
- package/src/duckdb/src/function/table/system/pragma_functions.cpp +0 -120
package/binding.gyp
CHANGED
|
@@ -54,8 +54,8 @@
|
|
|
54
54
|
"src/duckdb/ub_src_function_aggregate_holistic.cpp",
|
|
55
55
|
"src/duckdb/ub_src_function_aggregate_nested.cpp",
|
|
56
56
|
"src/duckdb/ub_src_function_aggregate_regression.cpp",
|
|
57
|
-
"src/duckdb/ub_src_function_cast.cpp",
|
|
58
57
|
"src/duckdb/ub_src_function.cpp",
|
|
58
|
+
"src/duckdb/ub_src_function_cast.cpp",
|
|
59
59
|
"src/duckdb/ub_src_function_pragma.cpp",
|
|
60
60
|
"src/duckdb/ub_src_function_scalar_blob.cpp",
|
|
61
61
|
"src/duckdb/ub_src_function_scalar_date.cpp",
|
package/package.json
CHANGED
package/src/connection.cpp
CHANGED
|
@@ -326,10 +326,11 @@ struct UnregisterUdfTask : public Task {
|
|
|
326
326
|
auto &con = *connection.connection;
|
|
327
327
|
con.BeginTransaction();
|
|
328
328
|
auto &context = *con.context;
|
|
329
|
-
auto &catalog = duckdb::Catalog::
|
|
329
|
+
auto &catalog = duckdb::Catalog::GetSystemCatalog(context);
|
|
330
330
|
duckdb::DropInfo info;
|
|
331
331
|
info.type = duckdb::CatalogType::SCALAR_FUNCTION_ENTRY;
|
|
332
332
|
info.name = name;
|
|
333
|
+
info.allow_drop_internal = true;
|
|
333
334
|
catalog.DropEntry(context, &info);
|
|
334
335
|
con.Commit();
|
|
335
336
|
}
|
|
@@ -195,7 +195,7 @@ struct ICUDateAdd : public ICUDateFunc {
|
|
|
195
195
|
LogicalType::TIMESTAMP_TZ));
|
|
196
196
|
|
|
197
197
|
CreateScalarFunctionInfo func_info(set);
|
|
198
|
-
auto &catalog = Catalog::
|
|
198
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
199
199
|
catalog.AddFunction(context, &func_info);
|
|
200
200
|
}
|
|
201
201
|
|
|
@@ -220,7 +220,7 @@ struct ICUDateAdd : public ICUDateFunc {
|
|
|
220
220
|
LogicalType::TIMESTAMP_TZ));
|
|
221
221
|
|
|
222
222
|
CreateScalarFunctionInfo func_info(set);
|
|
223
|
-
auto &catalog = Catalog::
|
|
223
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
224
224
|
catalog.AddFunction(context, &func_info);
|
|
225
225
|
}
|
|
226
226
|
|
|
@@ -232,7 +232,7 @@ struct ICUDateAdd : public ICUDateFunc {
|
|
|
232
232
|
set.AddFunction(GetUnaryAgeFunction<timestamp_t, ICUCalendarAge>(LogicalType::TIMESTAMP_TZ));
|
|
233
233
|
|
|
234
234
|
CreateScalarFunctionInfo func_info(set);
|
|
235
|
-
auto &catalog = Catalog::
|
|
235
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
236
236
|
catalog.AddFunction(context, &func_info);
|
|
237
237
|
}
|
|
238
238
|
};
|
|
@@ -432,7 +432,7 @@ struct ICUDatePart : public ICUDateFunc {
|
|
|
432
432
|
}
|
|
433
433
|
|
|
434
434
|
static void AddUnaryPartCodeFunctions(const string &name, ClientContext &context) {
|
|
435
|
-
auto &catalog = Catalog::
|
|
435
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
436
436
|
ScalarFunctionSet set(name);
|
|
437
437
|
set.AddFunction(GetUnaryPartCodeFunction<timestamp_t, int64_t>(LogicalType::TIMESTAMP_TZ));
|
|
438
438
|
CreateScalarFunctionInfo func_info(set);
|
|
@@ -456,7 +456,7 @@ struct ICUDatePart : public ICUDateFunc {
|
|
|
456
456
|
}
|
|
457
457
|
|
|
458
458
|
static void AddDatePartFunctions(const string &name, ClientContext &context) {
|
|
459
|
-
auto &catalog = Catalog::
|
|
459
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
460
460
|
ScalarFunctionSet set(name);
|
|
461
461
|
set.AddFunction(GetBinaryPartCodeFunction<timestamp_t, int64_t>(LogicalType::TIMESTAMP_TZ));
|
|
462
462
|
set.AddFunction(GetStructFunction<timestamp_t>(LogicalType::TIMESTAMP_TZ));
|
|
@@ -476,7 +476,7 @@ struct ICUDatePart : public ICUDateFunc {
|
|
|
476
476
|
BindLastDate);
|
|
477
477
|
}
|
|
478
478
|
static void AddLastDayFunctions(const string &name, ClientContext &context) {
|
|
479
|
-
auto &catalog = Catalog::
|
|
479
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
480
480
|
ScalarFunctionSet set(name);
|
|
481
481
|
set.AddFunction(GetLastDayFunction<timestamp_t>(LogicalType::TIMESTAMP_TZ));
|
|
482
482
|
CreateScalarFunctionInfo func_info(set);
|
|
@@ -143,7 +143,7 @@ struct ICUCalendarSub : public ICUDateFunc {
|
|
|
143
143
|
set.AddFunction(GetFunction<timestamp_t>(LogicalType::TIMESTAMP_TZ));
|
|
144
144
|
|
|
145
145
|
CreateScalarFunctionInfo func_info(set);
|
|
146
|
-
auto &catalog = Catalog::
|
|
146
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
147
147
|
catalog.AddFunction(context, &func_info);
|
|
148
148
|
}
|
|
149
149
|
};
|
|
@@ -270,7 +270,7 @@ struct ICUCalendarDiff : public ICUDateFunc {
|
|
|
270
270
|
set.AddFunction(GetFunction<timestamp_t>(LogicalType::TIMESTAMP_TZ));
|
|
271
271
|
|
|
272
272
|
CreateScalarFunctionInfo func_info(set);
|
|
273
|
-
auto &catalog = Catalog::
|
|
273
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
274
274
|
catalog.AddFunction(context, &func_info);
|
|
275
275
|
}
|
|
276
276
|
};
|
|
@@ -145,7 +145,7 @@ struct ICUDateTrunc : public ICUDateFunc {
|
|
|
145
145
|
set.AddFunction(GetDateTruncFunction<timestamp_t>(LogicalType::TIMESTAMP_TZ));
|
|
146
146
|
|
|
147
147
|
CreateScalarFunctionInfo func_info(set);
|
|
148
|
-
auto &catalog = Catalog::
|
|
148
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
149
149
|
catalog.AddFunction(context, &func_info);
|
|
150
150
|
}
|
|
151
151
|
};
|
|
@@ -225,7 +225,7 @@ void ICUExtension::Load(DuckDB &db) {
|
|
|
225
225
|
Connection con(db);
|
|
226
226
|
con.BeginTransaction();
|
|
227
227
|
|
|
228
|
-
auto &catalog = Catalog::
|
|
228
|
+
auto &catalog = Catalog::GetSystemCatalog(*con.context);
|
|
229
229
|
|
|
230
230
|
// iterate over all the collations
|
|
231
231
|
int32_t count;
|
|
@@ -88,7 +88,7 @@ struct ICUMakeTimestampTZFunc : public ICUDateFunc {
|
|
|
88
88
|
set.AddFunction(GetSeptenaryFunction<int64_t>(LogicalType::BIGINT));
|
|
89
89
|
|
|
90
90
|
CreateScalarFunctionInfo func_info(set);
|
|
91
|
-
auto &catalog = Catalog::
|
|
91
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
92
92
|
catalog.AddFunction(context, &func_info);
|
|
93
93
|
}
|
|
94
94
|
};
|
|
@@ -142,7 +142,7 @@ struct ICUStrptime : public ICUDateFunc {
|
|
|
142
142
|
|
|
143
143
|
static void AddBinaryTimestampFunction(const string &name, ClientContext &context) {
|
|
144
144
|
// Find the old function
|
|
145
|
-
auto &catalog = Catalog::
|
|
145
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
146
146
|
auto entry = catalog.GetEntry(context, CatalogType::SCALAR_FUNCTION_ENTRY, DEFAULT_SCHEMA, name);
|
|
147
147
|
D_ASSERT(entry && entry->type == CatalogType::SCALAR_FUNCTION_ENTRY);
|
|
148
148
|
auto &func = (ScalarFunctionCatalogEntry &)*entry;
|
|
@@ -330,7 +330,7 @@ struct ICUStrftime : public ICUDateFunc {
|
|
|
330
330
|
ICUStrftimeFunction, Bind));
|
|
331
331
|
|
|
332
332
|
CreateScalarFunctionInfo func_info(set);
|
|
333
|
-
auto &catalog = Catalog::
|
|
333
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
334
334
|
catalog.AddFunction(context, &func_info);
|
|
335
335
|
}
|
|
336
336
|
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
#include "duckdb/parser/parsed_data/create_scalar_function_info.hpp"
|
|
5
5
|
#include "duckdb/parser/parsed_data/create_table_function_info.hpp"
|
|
6
6
|
#include "include/icu-datefunc.hpp"
|
|
7
|
+
#include "duckdb/transaction/meta_transaction.hpp"
|
|
7
8
|
|
|
8
9
|
namespace duckdb {
|
|
9
10
|
|
|
@@ -151,7 +152,7 @@ struct ICULocalTimestampFunc : public ICUDateFunc {
|
|
|
151
152
|
|
|
152
153
|
struct BindDataNow : public BindData {
|
|
153
154
|
explicit BindDataNow(ClientContext &context) : BindData(context) {
|
|
154
|
-
now = context
|
|
155
|
+
now = MetaTransaction::Get(context).start_timestamp;
|
|
155
156
|
}
|
|
156
157
|
|
|
157
158
|
BindDataNow(const BindDataNow &other) : BindData(other), now(other.now) {
|
|
@@ -200,7 +201,7 @@ struct ICULocalTimestampFunc : public ICUDateFunc {
|
|
|
200
201
|
set.AddFunction(ScalarFunction({}, LogicalType::TIMESTAMP, Execute, BindNow));
|
|
201
202
|
|
|
202
203
|
CreateScalarFunctionInfo func_info(set);
|
|
203
|
-
auto &catalog = Catalog::
|
|
204
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
204
205
|
catalog.AddFunction(context, &func_info);
|
|
205
206
|
}
|
|
206
207
|
};
|
|
@@ -220,7 +221,7 @@ struct ICULocalTimeFunc : public ICUDateFunc {
|
|
|
220
221
|
set.AddFunction(ScalarFunction({}, LogicalType::TIME, Execute, ICULocalTimestampFunc::BindNow));
|
|
221
222
|
|
|
222
223
|
CreateScalarFunctionInfo func_info(set);
|
|
223
|
-
auto &catalog = Catalog::
|
|
224
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
224
225
|
catalog.AddFunction(context, &func_info);
|
|
225
226
|
}
|
|
226
227
|
};
|
|
@@ -272,13 +273,13 @@ struct ICUTimeZoneFunc : public ICUDateFunc {
|
|
|
272
273
|
Execute<ICUToLocalTimestamp>, Bind));
|
|
273
274
|
|
|
274
275
|
CreateScalarFunctionInfo func_info(set);
|
|
275
|
-
auto &catalog = Catalog::
|
|
276
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
276
277
|
catalog.AddFunction(context, &func_info);
|
|
277
278
|
}
|
|
278
279
|
};
|
|
279
280
|
|
|
280
281
|
void RegisterICUTimeZoneFunctions(ClientContext &context) {
|
|
281
|
-
auto &catalog = Catalog::
|
|
282
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
282
283
|
TableFunction tz_names("pg_timezone_names", {}, ICUTimeZoneFunction, ICUTimeZoneBind, ICUTimeZoneInit);
|
|
283
284
|
CreateTableFunctionInfo tz_names_info(move(tz_names));
|
|
284
285
|
catalog.CreateTableFunction(context, &tz_names_info);
|
|
@@ -30,7 +30,7 @@ void JSONExtension::Load(DuckDB &db) {
|
|
|
30
30
|
Connection con(db);
|
|
31
31
|
con.BeginTransaction();
|
|
32
32
|
|
|
33
|
-
auto &catalog = Catalog::
|
|
33
|
+
auto &catalog = Catalog::GetSystemCatalog(*con.context);
|
|
34
34
|
for (auto &fun : JSONFunctions::GetFunctions()) {
|
|
35
35
|
catalog.CreateFunction(*con.context, &fun);
|
|
36
36
|
}
|
|
@@ -790,7 +790,7 @@ void ParquetExtension::Load(DuckDB &db) {
|
|
|
790
790
|
Connection con(db);
|
|
791
791
|
con.BeginTransaction();
|
|
792
792
|
auto &context = *con.context;
|
|
793
|
-
auto &catalog = Catalog::
|
|
793
|
+
auto &catalog = Catalog::GetSystemCatalog(context);
|
|
794
794
|
|
|
795
795
|
if (catalog.GetEntry<TableFunctionCatalogEntry>(context, DEFAULT_SCHEMA, "parquet_scan", true)) {
|
|
796
796
|
throw InvalidInputException("Parquet extension is either already loaded or built-in");
|