duckdb 0.6.2-dev781.0 → 0.6.2-dev891.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/column_reader.cpp +7 -0
- 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
|
@@ -28,8 +28,7 @@ bool PreparedStatementData::RequireRebind(ClientContext &context, const vector<V
|
|
|
28
28
|
// parameters not yet bound: query always requires a rebind
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
31
|
-
|
|
32
|
-
if (catalog.GetCatalogVersion() != catalog_version) {
|
|
31
|
+
if (Catalog::GetSystemCatalog(context).GetCatalogVersion() != catalog_version) {
|
|
33
32
|
//! context is out of bounds
|
|
34
33
|
return true;
|
|
35
34
|
}
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
namespace duckdb {
|
|
7
7
|
|
|
8
|
-
BaseQueryResult::BaseQueryResult(QueryResultType type, StatementType statement_type, StatementProperties
|
|
8
|
+
BaseQueryResult::BaseQueryResult(QueryResultType type, StatementType statement_type, StatementProperties properties_p,
|
|
9
9
|
vector<LogicalType> types_p, vector<string> names_p)
|
|
10
|
-
: type(type), statement_type(statement_type), properties(
|
|
11
|
-
success(true) {
|
|
10
|
+
: type(type), statement_type(statement_type), properties(move(properties_p)), types(move(types_p)),
|
|
11
|
+
names(move(names_p)), success(true) {
|
|
12
12
|
D_ASSERT(types.size() == names.size());
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -53,7 +53,7 @@ idx_t BaseQueryResult::ColumnCount() {
|
|
|
53
53
|
|
|
54
54
|
QueryResult::QueryResult(QueryResultType type, StatementType statement_type, StatementProperties properties,
|
|
55
55
|
vector<LogicalType> types_p, vector<string> names_p, ClientProperties client_properties_p)
|
|
56
|
-
: BaseQueryResult(type, statement_type, properties, move(types_p), move(names_p)),
|
|
56
|
+
: BaseQueryResult(type, statement_type, move(properties), move(types_p), move(names_p)),
|
|
57
57
|
client_properties(move(client_properties_p)) {
|
|
58
58
|
}
|
|
59
59
|
|
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
#include "duckdb/planner/expression_binder.hpp"
|
|
12
12
|
#include "duckdb/storage/buffer_manager.hpp"
|
|
13
13
|
#include "duckdb/storage/storage_manager.hpp"
|
|
14
|
+
#include "duckdb/main/database_manager.hpp"
|
|
15
|
+
#include "duckdb/main/attached_database.hpp"
|
|
14
16
|
#include "duckdb/main/database.hpp"
|
|
15
17
|
|
|
16
18
|
namespace duckdb {
|
|
@@ -532,7 +534,6 @@ Value ExternalThreadsSetting::GetSetting(ClientContext &context) {
|
|
|
532
534
|
//===--------------------------------------------------------------------===//
|
|
533
535
|
// File Search Path
|
|
534
536
|
//===--------------------------------------------------------------------===//
|
|
535
|
-
|
|
536
537
|
void FileSearchPathSetting::ResetLocal(ClientContext &context) {
|
|
537
538
|
auto &client_data = ClientData::Get(context);
|
|
538
539
|
client_data.file_search_path.clear();
|
|
@@ -647,6 +648,22 @@ Value LogQueryPathSetting::GetSetting(ClientContext &context) {
|
|
|
647
648
|
return client_data.log_query_writer ? Value(client_data.log_query_writer->path) : Value();
|
|
648
649
|
}
|
|
649
650
|
|
|
651
|
+
//===--------------------------------------------------------------------===//
|
|
652
|
+
// Immediate Transaction Mode
|
|
653
|
+
//===--------------------------------------------------------------------===//
|
|
654
|
+
void ImmediateTransactionModeSetting::SetGlobal(DatabaseInstance *db, DBConfig &config, const Value &input) {
|
|
655
|
+
config.options.immediate_transaction_mode = BooleanValue::Get(input);
|
|
656
|
+
}
|
|
657
|
+
|
|
658
|
+
void ImmediateTransactionModeSetting::ResetGlobal(DatabaseInstance *db, DBConfig &config) {
|
|
659
|
+
config.options.immediate_transaction_mode = DBConfig().options.immediate_transaction_mode;
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
Value ImmediateTransactionModeSetting::GetSetting(ClientContext &context) {
|
|
663
|
+
auto &config = DBConfig::GetConfig(context);
|
|
664
|
+
return Value::BOOLEAN(config.options.immediate_transaction_mode);
|
|
665
|
+
}
|
|
666
|
+
|
|
650
667
|
//===--------------------------------------------------------------------===//
|
|
651
668
|
// Maximum Expression Depth
|
|
652
669
|
//===--------------------------------------------------------------------===//
|
|
@@ -845,7 +862,6 @@ Value ProgressBarTimeSetting::GetSetting(ClientContext &context) {
|
|
|
845
862
|
//===--------------------------------------------------------------------===//
|
|
846
863
|
// Schema
|
|
847
864
|
//===--------------------------------------------------------------------===//
|
|
848
|
-
|
|
849
865
|
void SchemaSetting::ResetLocal(ClientContext &context) {
|
|
850
866
|
// FIXME: catalog_search_path is controlled by both SchemaSetting and SearchPathSetting
|
|
851
867
|
auto &client_data = ClientData::Get(context);
|
|
@@ -855,7 +871,7 @@ void SchemaSetting::ResetLocal(ClientContext &context) {
|
|
|
855
871
|
void SchemaSetting::SetLocal(ClientContext &context, const Value &input) {
|
|
856
872
|
auto parameter = input.ToString();
|
|
857
873
|
auto &client_data = ClientData::Get(context);
|
|
858
|
-
client_data.catalog_search_path->Set(parameter, true);
|
|
874
|
+
client_data.catalog_search_path->Set(CatalogSearchEntry::Parse(parameter), true);
|
|
859
875
|
}
|
|
860
876
|
|
|
861
877
|
Value SchemaSetting::GetSetting(ClientContext &context) {
|
|
@@ -865,7 +881,6 @@ Value SchemaSetting::GetSetting(ClientContext &context) {
|
|
|
865
881
|
//===--------------------------------------------------------------------===//
|
|
866
882
|
// Search Path
|
|
867
883
|
//===--------------------------------------------------------------------===//
|
|
868
|
-
|
|
869
884
|
void SearchPathSetting::ResetLocal(ClientContext &context) {
|
|
870
885
|
// FIXME: catalog_search_path is controlled by both SchemaSetting and SearchPathSetting
|
|
871
886
|
auto &client_data = ClientData::Get(context);
|
|
@@ -875,12 +890,13 @@ void SearchPathSetting::ResetLocal(ClientContext &context) {
|
|
|
875
890
|
void SearchPathSetting::SetLocal(ClientContext &context, const Value &input) {
|
|
876
891
|
auto parameter = input.ToString();
|
|
877
892
|
auto &client_data = ClientData::Get(context);
|
|
878
|
-
client_data.catalog_search_path->Set(parameter, false);
|
|
893
|
+
client_data.catalog_search_path->Set(CatalogSearchEntry::ParseList(parameter), false);
|
|
879
894
|
}
|
|
880
895
|
|
|
881
896
|
Value SearchPathSetting::GetSetting(ClientContext &context) {
|
|
882
897
|
auto &client_data = ClientData::Get(context);
|
|
883
|
-
|
|
898
|
+
auto &set_paths = client_data.catalog_search_path->GetSetPaths();
|
|
899
|
+
return Value(CatalogSearchEntry::ListToString(set_paths));
|
|
884
900
|
}
|
|
885
901
|
|
|
886
902
|
//===--------------------------------------------------------------------===//
|
|
@@ -8,7 +8,7 @@ namespace duckdb {
|
|
|
8
8
|
StreamQueryResult::StreamQueryResult(StatementType statement_type, StatementProperties properties,
|
|
9
9
|
shared_ptr<ClientContext> context_p, vector<LogicalType> types,
|
|
10
10
|
vector<string> names)
|
|
11
|
-
: QueryResult(QueryResultType::STREAM_RESULT, statement_type, properties, move(types), move(names),
|
|
11
|
+
: QueryResult(QueryResultType::STREAM_RESULT, statement_type, move(properties), move(types), move(names),
|
|
12
12
|
context_p->GetClientProperties()),
|
|
13
13
|
context(move(context_p)) {
|
|
14
14
|
D_ASSERT(context);
|
|
@@ -29,13 +29,19 @@ bool ColumnRefExpression::IsQualified() const {
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
const string &ColumnRefExpression::GetColumnName() const {
|
|
32
|
-
D_ASSERT(column_names.size() <=
|
|
32
|
+
D_ASSERT(column_names.size() <= 4);
|
|
33
33
|
return column_names.back();
|
|
34
34
|
}
|
|
35
35
|
|
|
36
36
|
const string &ColumnRefExpression::GetTableName() const {
|
|
37
|
-
D_ASSERT(column_names.size() >= 2 && column_names.size() <=
|
|
38
|
-
|
|
37
|
+
D_ASSERT(column_names.size() >= 2 && column_names.size() <= 4);
|
|
38
|
+
if (column_names.size() == 4) {
|
|
39
|
+
return column_names[2];
|
|
40
|
+
}
|
|
41
|
+
if (column_names.size() == 3) {
|
|
42
|
+
return column_names[1];
|
|
43
|
+
}
|
|
44
|
+
return column_names[0];
|
|
39
45
|
}
|
|
40
46
|
|
|
41
47
|
string ColumnRefExpression::GetName() const {
|
|
@@ -8,13 +8,14 @@
|
|
|
8
8
|
|
|
9
9
|
namespace duckdb {
|
|
10
10
|
|
|
11
|
-
FunctionExpression::FunctionExpression(string schema, const string &function_name,
|
|
11
|
+
FunctionExpression::FunctionExpression(string catalog, string schema, const string &function_name,
|
|
12
12
|
vector<unique_ptr<ParsedExpression>> children_p,
|
|
13
13
|
unique_ptr<ParsedExpression> filter, unique_ptr<OrderModifier> order_bys_p,
|
|
14
14
|
bool distinct, bool is_operator, bool export_state_p)
|
|
15
|
-
: ParsedExpression(ExpressionType::FUNCTION, ExpressionClass::FUNCTION),
|
|
16
|
-
function_name(StringUtil::Lower(function_name)), is_operator(is_operator),
|
|
17
|
-
distinct(distinct), filter(move(filter)), order_bys(move(order_bys_p)),
|
|
15
|
+
: ParsedExpression(ExpressionType::FUNCTION, ExpressionClass::FUNCTION), catalog(move(catalog)),
|
|
16
|
+
schema(std::move(schema)), function_name(StringUtil::Lower(function_name)), is_operator(is_operator),
|
|
17
|
+
children(move(children_p)), distinct(distinct), filter(move(filter)), order_bys(move(order_bys_p)),
|
|
18
|
+
export_state(export_state_p) {
|
|
18
19
|
D_ASSERT(!function_name.empty());
|
|
19
20
|
if (!order_bys) {
|
|
20
21
|
order_bys = make_unique<OrderModifier>();
|
|
@@ -24,8 +25,8 @@ FunctionExpression::FunctionExpression(string schema, const string &function_nam
|
|
|
24
25
|
FunctionExpression::FunctionExpression(const string &function_name, vector<unique_ptr<ParsedExpression>> children_p,
|
|
25
26
|
unique_ptr<ParsedExpression> filter, unique_ptr<OrderModifier> order_bys,
|
|
26
27
|
bool distinct, bool is_operator, bool export_state_p)
|
|
27
|
-
: FunctionExpression(INVALID_SCHEMA, function_name, move(children_p), move(filter),
|
|
28
|
-
is_operator, export_state_p) {
|
|
28
|
+
: FunctionExpression(INVALID_CATALOG, INVALID_SCHEMA, function_name, move(children_p), move(filter),
|
|
29
|
+
move(order_bys), distinct, is_operator, export_state_p) {
|
|
29
30
|
}
|
|
30
31
|
|
|
31
32
|
string FunctionExpression::ToString() const {
|
|
@@ -34,7 +35,8 @@ string FunctionExpression::ToString() const {
|
|
|
34
35
|
}
|
|
35
36
|
|
|
36
37
|
bool FunctionExpression::Equals(const FunctionExpression *a, const FunctionExpression *b) {
|
|
37
|
-
if (a->
|
|
38
|
+
if (a->catalog != b->catalog || a->schema != b->schema || a->function_name != b->function_name ||
|
|
39
|
+
b->distinct != a->distinct) {
|
|
38
40
|
return false;
|
|
39
41
|
}
|
|
40
42
|
if (b->children.size() != a->children.size()) {
|
|
@@ -80,9 +82,8 @@ unique_ptr<ParsedExpression> FunctionExpression::Copy() const {
|
|
|
80
82
|
order_copy.reset(static_cast<OrderModifier *>(order_bys->Copy().release()));
|
|
81
83
|
}
|
|
82
84
|
|
|
83
|
-
auto copy = make_unique<FunctionExpression>(function_name, move(copy_children), move(filter_copy),
|
|
84
|
-
distinct, is_operator, export_state);
|
|
85
|
-
copy->schema = schema;
|
|
85
|
+
auto copy = make_unique<FunctionExpression>(catalog, schema, function_name, move(copy_children), move(filter_copy),
|
|
86
|
+
move(order_copy), distinct, is_operator, export_state);
|
|
86
87
|
copy->CopyProperties(*this);
|
|
87
88
|
return move(copy);
|
|
88
89
|
}
|
|
@@ -96,6 +97,7 @@ void FunctionExpression::Serialize(FieldWriter &writer) const {
|
|
|
96
97
|
writer.WriteField<bool>(distinct);
|
|
97
98
|
writer.WriteField<bool>(is_operator);
|
|
98
99
|
writer.WriteField<bool>(export_state);
|
|
100
|
+
writer.WriteString(catalog);
|
|
99
101
|
}
|
|
100
102
|
|
|
101
103
|
unique_ptr<ParsedExpression> FunctionExpression::Deserialize(ExpressionType type, FieldReader &reader) {
|
|
@@ -107,11 +109,11 @@ unique_ptr<ParsedExpression> FunctionExpression::Deserialize(ExpressionType type
|
|
|
107
109
|
auto distinct = reader.ReadRequired<bool>();
|
|
108
110
|
auto is_operator = reader.ReadRequired<bool>();
|
|
109
111
|
auto export_state = reader.ReadField<bool>(false);
|
|
112
|
+
auto catalog = reader.ReadField<string>(INVALID_CATALOG);
|
|
110
113
|
|
|
111
114
|
unique_ptr<FunctionExpression> function;
|
|
112
|
-
function = make_unique<FunctionExpression>(function_name, move(children), move(filter),
|
|
113
|
-
is_operator, export_state);
|
|
114
|
-
function->schema = schema;
|
|
115
|
+
function = make_unique<FunctionExpression>(catalog, schema, function_name, move(children), move(filter),
|
|
116
|
+
move(order_bys), distinct, is_operator, export_state);
|
|
115
117
|
return move(function);
|
|
116
118
|
}
|
|
117
119
|
|
|
@@ -6,8 +6,8 @@
|
|
|
6
6
|
|
|
7
7
|
namespace duckdb {
|
|
8
8
|
|
|
9
|
-
WindowExpression::WindowExpression(ExpressionType type, string schema, const string &function_name)
|
|
10
|
-
: ParsedExpression(type, ExpressionClass::WINDOW), schema(move(schema)),
|
|
9
|
+
WindowExpression::WindowExpression(ExpressionType type, string catalog_name, string schema, const string &function_name)
|
|
10
|
+
: ParsedExpression(type, ExpressionClass::WINDOW), catalog(move(catalog_name)), schema(move(schema)),
|
|
11
11
|
function_name(StringUtil::Lower(function_name)), ignore_nulls(false) {
|
|
12
12
|
switch (type) {
|
|
13
13
|
case ExpressionType::WINDOW_AGGREGATE:
|
|
@@ -86,7 +86,7 @@ bool WindowExpression::Equals(const WindowExpression *a, const WindowExpression
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
unique_ptr<ParsedExpression> WindowExpression::Copy() const {
|
|
89
|
-
auto new_window = make_unique<WindowExpression>(type, schema, function_name);
|
|
89
|
+
auto new_window = make_unique<WindowExpression>(type, catalog, schema, function_name);
|
|
90
90
|
new_window->CopyProperties(*this);
|
|
91
91
|
|
|
92
92
|
for (auto &child : children) {
|
|
@@ -136,12 +136,13 @@ void WindowExpression::Serialize(FieldWriter &writer) const {
|
|
|
136
136
|
writer.WriteOptional(default_expr);
|
|
137
137
|
writer.WriteField<bool>(ignore_nulls);
|
|
138
138
|
writer.WriteOptional(filter_expr);
|
|
139
|
+
writer.WriteString(catalog);
|
|
139
140
|
}
|
|
140
141
|
|
|
141
142
|
unique_ptr<ParsedExpression> WindowExpression::Deserialize(ExpressionType type, FieldReader &reader) {
|
|
142
143
|
auto function_name = reader.ReadRequired<string>();
|
|
143
144
|
auto schema = reader.ReadRequired<string>();
|
|
144
|
-
auto expr = make_unique<WindowExpression>(type, schema, function_name);
|
|
145
|
+
auto expr = make_unique<WindowExpression>(type, INVALID_CATALOG, move(schema), function_name);
|
|
145
146
|
expr->children = reader.ReadRequiredSerializableList<ParsedExpression>();
|
|
146
147
|
expr->partitions = reader.ReadRequiredSerializableList<ParsedExpression>();
|
|
147
148
|
|
|
@@ -159,6 +160,7 @@ unique_ptr<ParsedExpression> WindowExpression::Deserialize(ExpressionType type,
|
|
|
159
160
|
expr->default_expr = reader.ReadOptional<ParsedExpression>(nullptr);
|
|
160
161
|
expr->ignore_nulls = reader.ReadRequired<bool>();
|
|
161
162
|
expr->filter_expr = reader.ReadOptional<ParsedExpression>(nullptr);
|
|
163
|
+
expr->catalog = reader.ReadField<string>(INVALID_CATALOG);
|
|
162
164
|
return move(expr);
|
|
163
165
|
}
|
|
164
166
|
|
|
@@ -8,8 +8,9 @@ namespace duckdb {
|
|
|
8
8
|
//===--------------------------------------------------------------------===//
|
|
9
9
|
// AlterFunctionInfo
|
|
10
10
|
//===--------------------------------------------------------------------===//
|
|
11
|
-
AlterFunctionInfo::AlterFunctionInfo(AlterFunctionType type,
|
|
12
|
-
: AlterInfo(AlterType::ALTER_FUNCTION, move(move(
|
|
11
|
+
AlterFunctionInfo::AlterFunctionInfo(AlterFunctionType type, AlterEntryData data)
|
|
12
|
+
: AlterInfo(AlterType::ALTER_FUNCTION, move(data.catalog), move(data.schema), move(data.name), data.if_exists),
|
|
13
|
+
alter_function_type(type) {
|
|
13
14
|
}
|
|
14
15
|
AlterFunctionInfo::~AlterFunctionInfo() {
|
|
15
16
|
}
|
|
@@ -20,6 +21,7 @@ CatalogType AlterFunctionInfo::GetCatalogType() const {
|
|
|
20
21
|
|
|
21
22
|
void AlterFunctionInfo::Serialize(FieldWriter &writer) const {
|
|
22
23
|
writer.WriteField<AlterFunctionType>(alter_function_type);
|
|
24
|
+
writer.WriteString(catalog);
|
|
23
25
|
writer.WriteString(schema);
|
|
24
26
|
writer.WriteString(name);
|
|
25
27
|
writer.WriteField(if_exists);
|
|
@@ -37,17 +39,15 @@ unique_ptr<AlterInfo> AlterFunctionInfo::Deserialize(FieldReader &reader) {
|
|
|
37
39
|
//===--------------------------------------------------------------------===//
|
|
38
40
|
// AddFunctionOverloadInfo
|
|
39
41
|
//===--------------------------------------------------------------------===//
|
|
40
|
-
AddFunctionOverloadInfo::AddFunctionOverloadInfo(
|
|
41
|
-
|
|
42
|
-
: AlterFunctionInfo(AlterFunctionType::ADD_FUNCTION_OVERLOADS, move(schema_p), move(name_p), if_exists_p),
|
|
43
|
-
new_overloads(move(new_overloads_p)) {
|
|
42
|
+
AddFunctionOverloadInfo::AddFunctionOverloadInfo(AlterEntryData data, ScalarFunctionSet new_overloads_p)
|
|
43
|
+
: AlterFunctionInfo(AlterFunctionType::ADD_FUNCTION_OVERLOADS, move(data)), new_overloads(move(new_overloads_p)) {
|
|
44
44
|
this->allow_internal = true;
|
|
45
45
|
}
|
|
46
46
|
AddFunctionOverloadInfo::~AddFunctionOverloadInfo() {
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
unique_ptr<AlterInfo> AddFunctionOverloadInfo::Copy() const {
|
|
50
|
-
return make_unique_base<AlterInfo, AddFunctionOverloadInfo>(
|
|
50
|
+
return make_unique_base<AlterInfo, AddFunctionOverloadInfo>(GetAlterEntryData(), new_overloads);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
} // namespace duckdb
|
|
@@ -6,8 +6,9 @@
|
|
|
6
6
|
|
|
7
7
|
namespace duckdb {
|
|
8
8
|
|
|
9
|
-
AlterInfo::AlterInfo(AlterType type, string schema_p, string name_p, bool if_exists)
|
|
10
|
-
: type(type), if_exists(if_exists), schema(move(schema_p)), name(move(name_p)),
|
|
9
|
+
AlterInfo::AlterInfo(AlterType type, string catalog_p, string schema_p, string name_p, bool if_exists)
|
|
10
|
+
: type(type), if_exists(if_exists), catalog(move(catalog_p)), schema(move(schema_p)), name(move(name_p)),
|
|
11
|
+
allow_internal(false) {
|
|
11
12
|
}
|
|
12
13
|
|
|
13
14
|
AlterInfo::~AlterInfo() {
|
|
@@ -43,4 +44,13 @@ unique_ptr<AlterInfo> AlterInfo::Deserialize(Deserializer &source) {
|
|
|
43
44
|
return result;
|
|
44
45
|
}
|
|
45
46
|
|
|
47
|
+
AlterEntryData AlterInfo::GetAlterEntryData() const {
|
|
48
|
+
AlterEntryData data;
|
|
49
|
+
data.catalog = catalog;
|
|
50
|
+
data.schema = schema;
|
|
51
|
+
data.name = name;
|
|
52
|
+
data.if_exists = if_exists;
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
|
|
46
56
|
} // namespace duckdb
|