duckdb 0.8.2-dev1862.0 → 0.8.2-dev2044.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 +9 -9
- package/package.json +1 -1
- package/src/duckdb/src/catalog/catalog.cpp +1 -1
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +17 -41
- package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +2 -10
- package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +4 -14
- package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +11 -28
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +11 -38
- package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +11 -27
- package/src/duckdb/src/catalog/catalog_entry.cpp +25 -1
- package/src/duckdb/src/common/enum_util.cpp +187 -0
- package/src/duckdb/src/common/extra_type_info.cpp +1 -2
- package/src/duckdb/src/common/serializer/binary_deserializer.cpp +3 -0
- package/src/duckdb/src/common/serializer/binary_serializer.cpp +4 -4
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +43 -0
- package/src/duckdb/src/common/types/hugeint.cpp +40 -0
- package/src/duckdb/src/common/types/vector.cpp +1 -1
- package/src/duckdb/src/common/types.cpp +0 -12
- package/src/duckdb/src/core_functions/function_list.cpp +1 -0
- package/src/duckdb/src/core_functions/scalar/string/to_base.cpp +66 -0
- package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +14 -11
- package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +6 -4
- package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +14 -12
- package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +6 -4
- package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +8 -6
- package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +2 -2
- package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +5 -3
- package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +7 -5
- package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +7 -5
- package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +5 -4
- package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +2 -2
- package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +13 -6
- package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +7 -5
- package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +7 -5
- package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +7 -4
- package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +8 -6
- package/src/duckdb/src/execution/operator/order/physical_order.cpp +7 -5
- package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +7 -5
- package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +8 -6
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +8 -7
- package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +8 -6
- package/src/duckdb/src/execution/operator/persistent/physical_fixed_batch_copy.cpp +11 -9
- package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +10 -10
- package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +4 -2
- package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +7 -6
- package/src/duckdb/src/execution/physical_operator.cpp +3 -2
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +1 -1
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +1 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +1 -4
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +2 -5
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +1 -6
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +2 -11
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +2 -5
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +14 -0
- package/src/duckdb/src/include/duckdb/common/bitpacking.hpp +70 -55
- package/src/duckdb/src/include/duckdb/common/constants.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +40 -0
- package/src/duckdb/src/include/duckdb/common/enums/index_type.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/enums/operator_result_type.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/hugeint.hpp +15 -0
- package/src/duckdb/src/include/duckdb/common/index_vector.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/limits.hpp +52 -149
- package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +48 -0
- package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +28 -4
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +12 -5
- package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +110 -0
- package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +46 -1
- package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +23 -21
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +12 -4
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +3 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/scalar/operators_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +9 -0
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_asof_join.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_fixed_batch_copy.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_update.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_index.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +11 -0
- package/src/duckdb/src/include/duckdb/function/macro_function.hpp +3 -0
- package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +3 -0
- package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +0 -3
- package/src/duckdb/src/include/duckdb/parallel/pipeline_executor.hpp +3 -2
- package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +6 -5
- package/src/duckdb/src/include/duckdb/parser/column_list.hpp +4 -0
- package/src/duckdb/src/include/duckdb/parser/constraint.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +6 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +6 -0
- package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +12 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +66 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +8 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +8 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +4 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +9 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +7 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +7 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/exported_table_data.hpp +7 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +13 -3
- package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +22 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +10 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/show_select_info.hpp +7 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +10 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +10 -0
- package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -8
- package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +5 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +3 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +5 -2
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +7 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/joinside.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +9 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +9 -6
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +2 -16
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +10 -6
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +7 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +6 -10
- package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +5 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +7 -35
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +5 -3
- package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
- package/src/duckdb/src/main/relation/join_relation.cpp +1 -1
- package/src/duckdb/src/optimizer/deliminator.cpp +5 -3
- package/src/duckdb/src/parallel/pipeline.cpp +0 -17
- package/src/duckdb/src/parallel/pipeline_executor.cpp +26 -7
- package/src/duckdb/src/parallel/pipeline_finish_event.cpp +55 -1
- package/src/duckdb/src/parser/column_definition.cpp +20 -32
- package/src/duckdb/src/parser/column_list.cpp +8 -0
- package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +3 -0
- package/src/duckdb/src/parser/constraints/unique_constraint.cpp +3 -0
- package/src/duckdb/src/parser/expression/case_expression.cpp +0 -12
- package/src/duckdb/src/parser/parsed_data/alter_info.cpp +5 -2
- package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +38 -0
- package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +3 -1
- package/src/duckdb/src/parser/parsed_data/create_sequence_info.cpp +2 -0
- package/src/duckdb/src/parser/parsed_data/detach_info.cpp +1 -1
- package/src/duckdb/src/parser/parsed_data/drop_info.cpp +1 -1
- package/src/duckdb/src/parser/parsed_data/sample_options.cpp +0 -18
- package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +4 -1
- package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +1 -1
- package/src/duckdb/src/parser/query_node.cpp +0 -10
- package/src/duckdb/src/parser/result_modifier.cpp +0 -13
- package/src/duckdb/src/parser/statement/select_statement.cpp +0 -10
- package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -16
- package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +5 -4
- package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +6 -1
- package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +13 -3
- package/src/duckdb/src/planner/expression/bound_between_expression.cpp +4 -0
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +13 -6
- package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +20 -12
- package/src/duckdb/src/planner/logical_operator.cpp +13 -1
- package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +16 -2
- package/src/duckdb/src/planner/operator/logical_create.cpp +14 -0
- package/src/duckdb/src/planner/operator/logical_create_index.cpp +20 -0
- package/src/duckdb/src/planner/operator/logical_create_table.cpp +16 -0
- package/src/duckdb/src/planner/operator/logical_delete.cpp +9 -2
- package/src/duckdb/src/planner/operator/logical_delim_join.cpp +2 -4
- package/src/duckdb/src/planner/operator/logical_distinct.cpp +13 -0
- package/src/duckdb/src/planner/operator/logical_explain.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_insert.cpp +8 -2
- package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +3 -2
- package/src/duckdb/src/planner/operator/logical_order.cpp +39 -0
- package/src/duckdb/src/planner/operator/logical_pivot.cpp +3 -0
- package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +5 -5
- package/src/duckdb/src/planner/operator/logical_sample.cpp +3 -0
- package/src/duckdb/src/planner/operator/logical_update.cpp +8 -2
- package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +4 -2
- package/src/duckdb/src/planner/planner.cpp +11 -0
- package/src/duckdb/src/storage/checkpoint_manager.cpp +23 -23
- package/src/duckdb/src/storage/compression/bitpacking.cpp +87 -63
- package/src/duckdb/src/storage/compression/bitpacking_hugeint.cpp +295 -0
- package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +98 -0
- package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +188 -0
- package/src/duckdb/src/storage/serialization/serialize_expression.cpp +274 -0
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +729 -0
- package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +62 -0
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +242 -0
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +419 -0
- package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +40 -38
- package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +36 -36
- package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +25 -14
- package/src/duckdb/src/storage/serialization/serialize_statement.cpp +22 -0
- package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +47 -47
- package/src/duckdb/src/storage/serialization/serialize_types.cpp +25 -25
- package/src/duckdb/src/storage/storage_info.cpp +3 -2
- package/src/duckdb/src/storage/wal_replay.cpp +20 -19
- package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +6 -6
- package/src/duckdb/ub_src_core_functions_scalar_string.cpp +2 -0
- package/src/duckdb/ub_src_parser.cpp +0 -2
- package/src/duckdb/ub_src_storage_compression.cpp +2 -0
- package/src/duckdb/ub_src_storage_serialization.cpp +16 -0
- package/src/duckdb/src/parser/common_table_expression_info.cpp +0 -21
@@ -3,7 +3,8 @@
|
|
3
3
|
#include "duckdb/common/vector.hpp"
|
4
4
|
#include "duckdb/common/unordered_map.hpp"
|
5
5
|
#include "duckdb/common/unordered_set.hpp"
|
6
|
-
|
6
|
+
#include "duckdb/common/set.hpp"
|
7
|
+
#include "duckdb/common/shared_ptr.hpp"
|
7
8
|
namespace duckdb {
|
8
9
|
|
9
10
|
class FormatSerializer; // Forward declare
|
@@ -51,11 +52,18 @@ struct is_vector<typename duckdb::vector<T>> : std::true_type {
|
|
51
52
|
typedef T ELEMENT_TYPE;
|
52
53
|
};
|
53
54
|
|
55
|
+
template <typename T>
|
56
|
+
struct is_unsafe_vector : std::false_type {};
|
57
|
+
template <typename T>
|
58
|
+
struct is_unsafe_vector<typename duckdb::unsafe_vector<T>> : std::true_type {
|
59
|
+
typedef T ELEMENT_TYPE;
|
60
|
+
};
|
61
|
+
|
54
62
|
// Check if T is a unordered map, and provide access to the inner type
|
55
63
|
template <typename T>
|
56
64
|
struct is_unordered_map : std::false_type {};
|
57
65
|
template <typename... Args>
|
58
|
-
struct is_unordered_map<typename
|
66
|
+
struct is_unordered_map<typename duckdb::unordered_map<Args...>> : std::true_type {
|
59
67
|
typedef typename std::tuple_element<0, std::tuple<Args...>>::type KEY_TYPE;
|
60
68
|
typedef typename std::tuple_element<1, std::tuple<Args...>>::type VALUE_TYPE;
|
61
69
|
typedef typename std::tuple_element<2, std::tuple<Args...>>::type HASH_TYPE;
|
@@ -90,7 +98,7 @@ struct is_pair<std::pair<T, U>> : std::true_type {
|
|
90
98
|
template <typename T>
|
91
99
|
struct is_unordered_set : std::false_type {};
|
92
100
|
template <typename... Args>
|
93
|
-
struct is_unordered_set<
|
101
|
+
struct is_unordered_set<duckdb::unordered_set<Args...>> : std::true_type {
|
94
102
|
typedef typename std::tuple_element<0, std::tuple<Args...>>::type ELEMENT_TYPE;
|
95
103
|
typedef typename std::tuple_element<1, std::tuple<Args...>>::type HASH_TYPE;
|
96
104
|
typedef typename std::tuple_element<2, std::tuple<Args...>>::type EQUAL_TYPE;
|
@@ -99,7 +107,7 @@ struct is_unordered_set<std::unordered_set<Args...>> : std::true_type {
|
|
99
107
|
template <typename T>
|
100
108
|
struct is_set : std::false_type {};
|
101
109
|
template <typename... Args>
|
102
|
-
struct is_set<
|
110
|
+
struct is_set<duckdb::set<Args...>> : std::true_type {
|
103
111
|
typedef typename std::tuple_element<0, std::tuple<Args...>>::type ELEMENT_TYPE;
|
104
112
|
typedef typename std::tuple_element<1, std::tuple<Args...>>::type HASH_TYPE;
|
105
113
|
typedef typename std::tuple_element<2, std::tuple<Args...>>::type EQUAL_TYPE;
|
@@ -154,6 +154,9 @@ public:
|
|
154
154
|
//! Get a vector of the segments in this ColumnDataCollection
|
155
155
|
const vector<unique_ptr<ColumnDataCollectionSegment>> &GetSegments() const;
|
156
156
|
|
157
|
+
void FormatSerialize(FormatSerializer &serializer) const;
|
158
|
+
static unique_ptr<ColumnDataCollection> FormatDeserialize(FormatDeserializer &deserializer);
|
159
|
+
|
157
160
|
private:
|
158
161
|
//! Creates a new segment within the ColumnDataCollection
|
159
162
|
void CreateSegment();
|
@@ -199,7 +199,7 @@ struct StringAggFun {
|
|
199
199
|
static constexpr const char *Name = "string_agg";
|
200
200
|
static constexpr const char *Parameters = "str,arg";
|
201
201
|
static constexpr const char *Description = "Concatenates the column string values with an optional separator.";
|
202
|
-
static constexpr const char *Example = "string_agg(A, '-)";
|
202
|
+
static constexpr const char *Example = "string_agg(A, '-')";
|
203
203
|
|
204
204
|
static AggregateFunctionSet GetFunctions();
|
205
205
|
};
|
@@ -28,7 +28,7 @@ struct BitwiseOrFun {
|
|
28
28
|
static constexpr const char *Name = "|";
|
29
29
|
static constexpr const char *Parameters = "left,right";
|
30
30
|
static constexpr const char *Description = "Bitwise OR";
|
31
|
-
static constexpr const char *Example = "32
|
31
|
+
static constexpr const char *Example = "32 | 3";
|
32
32
|
|
33
33
|
static ScalarFunctionSet GetFunctions();
|
34
34
|
};
|
@@ -453,4 +453,13 @@ struct OrdFun {
|
|
453
453
|
static constexpr const char *Name = "ord";
|
454
454
|
};
|
455
455
|
|
456
|
+
struct ToBaseFun {
|
457
|
+
static constexpr const char *Name = "to_base";
|
458
|
+
static constexpr const char *Parameters = "number,radix,min_length";
|
459
|
+
static constexpr const char *Description = "Converts a value to a string in the given base radix, optionally padding with leading zeros to the minimum length";
|
460
|
+
static constexpr const char *Example = "to_base(42, 16)";
|
461
|
+
|
462
|
+
static ScalarFunctionSet GetFunctions();
|
463
|
+
};
|
464
|
+
|
456
465
|
} // namespace duckdb
|
package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp
CHANGED
@@ -106,9 +106,9 @@ public:
|
|
106
106
|
public:
|
107
107
|
// Sink interface
|
108
108
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
109
|
-
|
109
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
110
110
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
111
|
-
|
111
|
+
OperatorSinkFinalizeInput &input) const override;
|
112
112
|
SinkFinalizeType FinalizeInternal(Pipeline &pipeline, Event &event, ClientContext &context, GlobalSinkState &gstate,
|
113
113
|
bool check_distinct) const;
|
114
114
|
|
@@ -141,7 +141,7 @@ private:
|
|
141
141
|
SinkFinalizeType FinalizeDistinct(Pipeline &pipeline, Event &event, ClientContext &context,
|
142
142
|
GlobalSinkState &gstate) const;
|
143
143
|
//! Combine the distinct aggregates
|
144
|
-
void CombineDistinct(ExecutionContext &context,
|
144
|
+
void CombineDistinct(ExecutionContext &context, OperatorSinkCombineInput &input) const;
|
145
145
|
//! Sink the distinct aggregates for a single grouping
|
146
146
|
void SinkDistinctGrouping(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input,
|
147
147
|
idx_t grouping_idx) const;
|
@@ -46,7 +46,7 @@ public:
|
|
46
46
|
public:
|
47
47
|
// Sink interface
|
48
48
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
49
|
-
|
49
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
50
50
|
|
51
51
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
52
52
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp
CHANGED
@@ -44,9 +44,9 @@ public:
|
|
44
44
|
public:
|
45
45
|
// Sink interface
|
46
46
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
47
|
-
|
47
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
48
48
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
49
|
-
|
49
|
+
OperatorSinkFinalizeInput &input) const override;
|
50
50
|
|
51
51
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
52
52
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
@@ -68,7 +68,7 @@ private:
|
|
68
68
|
SinkFinalizeType FinalizeDistinct(Pipeline &pipeline, Event &event, ClientContext &context,
|
69
69
|
GlobalSinkState &gstate) const;
|
70
70
|
//! Combine the distinct aggregates
|
71
|
-
void CombineDistinct(ExecutionContext &context,
|
71
|
+
void CombineDistinct(ExecutionContext &context, OperatorSinkCombineInput &input) const;
|
72
72
|
//! Sink the distinct aggregates
|
73
73
|
void SinkDistinct(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const;
|
74
74
|
};
|
@@ -51,9 +51,9 @@ public:
|
|
51
51
|
public:
|
52
52
|
// Sink interface
|
53
53
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
54
|
-
|
54
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
55
55
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
56
|
-
|
56
|
+
OperatorSinkFinalizeInput &input) const override;
|
57
57
|
|
58
58
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
59
59
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp
CHANGED
@@ -22,9 +22,9 @@ public:
|
|
22
22
|
public:
|
23
23
|
// Sink interface
|
24
24
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
25
|
-
|
25
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
26
26
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
27
|
-
|
27
|
+
OperatorSinkFinalizeInput &input) const override;
|
28
28
|
|
29
29
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
30
30
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp
CHANGED
@@ -34,7 +34,7 @@ public:
|
|
34
34
|
// Sink Interface
|
35
35
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
36
36
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
37
|
-
|
37
|
+
OperatorSinkFinalizeInput &input) const override;
|
38
38
|
|
39
39
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
40
40
|
|
@@ -44,7 +44,7 @@ public:
|
|
44
44
|
public:
|
45
45
|
// Sink Interface
|
46
46
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
47
|
-
|
47
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
48
48
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
49
49
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
50
50
|
|
package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp
CHANGED
@@ -24,7 +24,7 @@ public:
|
|
24
24
|
public:
|
25
25
|
// Sink interface
|
26
26
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
27
|
-
|
27
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
28
28
|
|
29
29
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
30
30
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
@@ -38,9 +38,9 @@ public:
|
|
38
38
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
39
39
|
|
40
40
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
41
|
-
|
41
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
42
42
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
43
|
-
|
43
|
+
OperatorSinkFinalizeInput &input) const override;
|
44
44
|
|
45
45
|
bool IsSink() const override {
|
46
46
|
return info->has_table;
|
@@ -69,9 +69,9 @@ public:
|
|
69
69
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
70
70
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
71
71
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
72
|
-
|
72
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
73
73
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
74
|
-
|
74
|
+
OperatorSinkFinalizeInput &input) const override;
|
75
75
|
|
76
76
|
bool IsSink() const override {
|
77
77
|
return true;
|
package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp
CHANGED
@@ -59,7 +59,7 @@ public:
|
|
59
59
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
60
60
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
61
61
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
62
|
-
|
62
|
+
OperatorSinkFinalizeInput &input) const override;
|
63
63
|
|
64
64
|
bool IsSink() const override {
|
65
65
|
return true;
|
@@ -35,9 +35,9 @@ public:
|
|
35
35
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
36
36
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
37
37
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
38
|
-
|
38
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
39
39
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
40
|
-
|
40
|
+
OperatorSinkFinalizeInput &input) const override;
|
41
41
|
|
42
42
|
bool IsSink() const override {
|
43
43
|
return true;
|
@@ -79,9 +79,9 @@ public:
|
|
79
79
|
|
80
80
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
81
81
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
82
|
-
|
82
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
83
83
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
84
|
-
|
84
|
+
OperatorSinkFinalizeInput &input) const override;
|
85
85
|
|
86
86
|
bool IsSink() const override {
|
87
87
|
return true;
|
@@ -51,9 +51,9 @@ public:
|
|
51
51
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
52
52
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
53
53
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
54
|
-
|
54
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
55
55
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
56
|
-
|
56
|
+
OperatorSinkFinalizeInput &input) const override;
|
57
57
|
|
58
58
|
bool IsSink() const override {
|
59
59
|
return true;
|
@@ -54,9 +54,9 @@ public:
|
|
54
54
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
55
55
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
56
56
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
57
|
-
|
57
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
58
58
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
59
|
-
|
59
|
+
OperatorSinkFinalizeInput &input) const override;
|
60
60
|
|
61
61
|
bool IsSink() const override {
|
62
62
|
return true;
|
package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp
CHANGED
@@ -60,9 +60,9 @@ public:
|
|
60
60
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
61
61
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
62
62
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
63
|
-
|
63
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
64
64
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
65
|
-
|
65
|
+
OperatorSinkFinalizeInput &input) const override;
|
66
66
|
|
67
67
|
bool IsSink() const override {
|
68
68
|
return true;
|
@@ -60,9 +60,9 @@ public:
|
|
60
60
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
61
61
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
62
62
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
63
|
-
|
63
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
64
64
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
65
|
-
|
65
|
+
OperatorSinkFinalizeInput &input) const override;
|
66
66
|
|
67
67
|
bool IsSink() const override {
|
68
68
|
return true;
|
@@ -42,9 +42,9 @@ public:
|
|
42
42
|
|
43
43
|
public:
|
44
44
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
45
|
-
|
45
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
46
46
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
47
|
-
|
47
|
+
OperatorSinkFinalizeInput &input) const override;
|
48
48
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
49
49
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
50
50
|
|
package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp
CHANGED
@@ -41,9 +41,9 @@ public:
|
|
41
41
|
public:
|
42
42
|
// Sink interface
|
43
43
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
44
|
-
|
44
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
45
45
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
46
|
-
|
46
|
+
OperatorSinkFinalizeInput &input) const override;
|
47
47
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
48
48
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
49
49
|
void NextBatch(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate_p) const override;
|
package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp
CHANGED
@@ -54,9 +54,9 @@ public:
|
|
54
54
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
55
55
|
void NextBatch(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate_p) const override;
|
56
56
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
57
|
-
|
57
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
58
58
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
59
|
-
|
59
|
+
OperatorSinkFinalizeInput &input) const override;
|
60
60
|
|
61
61
|
bool RequiresBatchIndex() const override {
|
62
62
|
return true;
|
package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp
CHANGED
@@ -50,9 +50,9 @@ public:
|
|
50
50
|
public:
|
51
51
|
// Sink interface
|
52
52
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
53
|
-
|
53
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
54
54
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
55
|
-
|
55
|
+
OperatorSinkFinalizeInput &input) const override;
|
56
56
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
57
57
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
58
58
|
|
package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_fixed_batch_copy.hpp
CHANGED
@@ -40,9 +40,9 @@ public:
|
|
40
40
|
public:
|
41
41
|
// Sink interface
|
42
42
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
43
|
-
|
43
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
44
44
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
45
|
-
|
45
|
+
OperatorSinkFinalizeInput &input) const override;
|
46
46
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
47
47
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
48
48
|
void NextBatch(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate_p) const override;
|
@@ -88,9 +88,9 @@ public:
|
|
88
88
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
89
89
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
90
90
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
91
|
-
|
91
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
92
92
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
93
|
-
|
93
|
+
OperatorSinkFinalizeInput &input) const override;
|
94
94
|
|
95
95
|
bool IsSink() const override {
|
96
96
|
return true;
|
@@ -47,7 +47,7 @@ public:
|
|
47
47
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
48
48
|
unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
|
49
49
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
50
|
-
|
50
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
51
51
|
|
52
52
|
bool IsSink() const override {
|
53
53
|
return true;
|
@@ -53,9 +53,9 @@ public:
|
|
53
53
|
unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
|
54
54
|
|
55
55
|
SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
|
56
|
-
|
56
|
+
SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const override;
|
57
57
|
SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
58
|
-
|
58
|
+
OperatorSinkFinalizeInput &input) const override;
|
59
59
|
|
60
60
|
bool IsSink() const override {
|
61
61
|
return true;
|
@@ -140,14 +140,14 @@ public:
|
|
140
140
|
// The combine is called when a single thread has completed execution of its part of the pipeline, it is the final
|
141
141
|
// time that a specific LocalSinkState is accessible. This method can be called in parallel while other Sink() or
|
142
142
|
// Combine() calls are active on the same GlobalSinkState.
|
143
|
-
virtual
|
143
|
+
virtual SinkCombineResultType Combine(ExecutionContext &context, OperatorSinkCombineInput &input) const;
|
144
144
|
//! The finalize is called when ALL threads are finished execution. It is called only once per pipeline, and is
|
145
145
|
//! entirely single threaded.
|
146
146
|
//! If Finalize returns SinkResultType::FINISHED, the sink is marked as finished
|
147
147
|
virtual SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
|
148
|
-
|
148
|
+
OperatorSinkFinalizeInput &input) const;
|
149
149
|
//! For sinks with RequiresBatchIndex set to true, when a new batch starts being processed this method is called
|
150
|
-
//! This allows flushing of the current batch (e.g. to disk)
|
150
|
+
//! This allows flushing of the current batch (e.g. to disk) TODO: should this be able to block too?
|
151
151
|
virtual void NextBatch(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate_p) const;
|
152
152
|
|
153
153
|
virtual unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const;
|
@@ -165,6 +165,17 @@ struct OperatorSourceInput {
|
|
165
165
|
InterruptState &interrupt_state;
|
166
166
|
};
|
167
167
|
|
168
|
+
struct OperatorSinkCombineInput {
|
169
|
+
GlobalSinkState &global_state;
|
170
|
+
LocalSinkState &local_state;
|
171
|
+
InterruptState &interrupt_state;
|
172
|
+
};
|
173
|
+
|
174
|
+
struct OperatorSinkFinalizeInput {
|
175
|
+
GlobalSinkState &global_state;
|
176
|
+
InterruptState &interrupt_state;
|
177
|
+
};
|
178
|
+
|
168
179
|
// LCOV_EXCL_STOP
|
169
180
|
|
170
181
|
} // namespace duckdb
|
@@ -48,6 +48,9 @@ public:
|
|
48
48
|
void Serialize(Serializer &serializer) const;
|
49
49
|
static unique_ptr<MacroFunction> Deserialize(Deserializer &deserializer);
|
50
50
|
|
51
|
+
virtual void FormatSerialize(FormatSerializer &serializer) const;
|
52
|
+
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
53
|
+
|
51
54
|
protected:
|
52
55
|
virtual void SerializeInternal(FieldWriter &writer) const = 0;
|
53
56
|
|
@@ -36,6 +36,9 @@ public:
|
|
36
36
|
|
37
37
|
static unique_ptr<MacroFunction> Deserialize(FieldReader &reader);
|
38
38
|
|
39
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
+
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
41
|
+
|
39
42
|
protected:
|
40
43
|
void SerializeInternal(FieldWriter &writer) const override;
|
41
44
|
};
|
@@ -36,6 +36,9 @@ public:
|
|
36
36
|
|
37
37
|
static unique_ptr<MacroFunction> Deserialize(FieldReader &reader);
|
38
38
|
|
39
|
+
void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
+
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
41
|
+
|
39
42
|
protected:
|
40
43
|
void SerializeInternal(FieldWriter &writer) const override;
|
41
44
|
};
|
@@ -32,6 +32,9 @@ static constexpr ExtensionEntry EXTENSION_FUNCTIONS[] = {{"->>", "json"},
|
|
32
32
|
{"from_substrait_json", "substrait"},
|
33
33
|
{"get_substrait", "substrait"},
|
34
34
|
{"get_substrait_json", "substrait"},
|
35
|
+
{"iceberg_scan", "iceberg"},
|
36
|
+
{"iceberg_metadata", "iceberg"},
|
37
|
+
{"iceberg_snapshots", "iceberg"},
|
35
38
|
{"icu_calendar_names", "icu"},
|
36
39
|
{"icu_sort_key", "icu"},
|
37
40
|
{"json", "json"},
|
@@ -48,8 +48,8 @@ public:
|
|
48
48
|
//! If OperatorResultType::FINISHED is returned, more input will not change the result anymore
|
49
49
|
OperatorResultType ExecutePush(DataChunk &input);
|
50
50
|
//! Called after depleting the source: finalizes the execution of this pipeline executor
|
51
|
-
//! This should only be called once per PipelineExecutor
|
52
|
-
|
51
|
+
//! This should only be called once per PipelineExecutor.
|
52
|
+
PipelineExecuteResult PushFinalize();
|
53
53
|
|
54
54
|
//! Initializes a chunk with the types that will flow out of ExecutePull
|
55
55
|
void InitializeChunk(DataChunk &chunk);
|
@@ -142,6 +142,7 @@ private:
|
|
142
142
|
//! Debugging state: number of times blocked
|
143
143
|
int debug_blocked_sink_count = 0;
|
144
144
|
int debug_blocked_source_count = 0;
|
145
|
+
int debug_blocked_combine_count = 0;
|
145
146
|
//! Number of times the Sink/Source will block before actually returning data
|
146
147
|
int debug_blocked_target_count = 1;
|
147
148
|
#endif
|
@@ -29,9 +29,6 @@ public:
|
|
29
29
|
DUCKDB_API ColumnDefinition(string name, LogicalType type, unique_ptr<ParsedExpression> expression,
|
30
30
|
TableColumnType category);
|
31
31
|
|
32
|
-
//! The default value of the column (if any)
|
33
|
-
unique_ptr<ParsedExpression> default_value;
|
34
|
-
|
35
32
|
public:
|
36
33
|
//! default_value
|
37
34
|
const unique_ptr<ParsedExpression> &DefaultValue() const;
|
@@ -70,6 +67,9 @@ public:
|
|
70
67
|
DUCKDB_API void Serialize(Serializer &serializer) const;
|
71
68
|
DUCKDB_API static ColumnDefinition Deserialize(Deserializer &source);
|
72
69
|
|
70
|
+
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const;
|
71
|
+
DUCKDB_API static ColumnDefinition FormatDeserialize(FormatDeserializer &deserializer);
|
72
|
+
|
73
73
|
//===--------------------------------------------------------------------===//
|
74
74
|
// Generated Columns (VIRTUAL)
|
75
75
|
//===--------------------------------------------------------------------===//
|
@@ -97,8 +97,9 @@ private:
|
|
97
97
|
idx_t oid = DConstants::INVALID_INDEX;
|
98
98
|
//! The category of the column
|
99
99
|
TableColumnType category = TableColumnType::STANDARD;
|
100
|
-
//!
|
101
|
-
|
100
|
+
//! The default value of the column (for non-generated columns)
|
101
|
+
//! The generated column expression (for generated columns)
|
102
|
+
unique_ptr<ParsedExpression> expression;
|
102
103
|
};
|
103
104
|
|
104
105
|
} // namespace duckdb
|
@@ -20,6 +20,7 @@ public:
|
|
20
20
|
|
21
21
|
public:
|
22
22
|
DUCKDB_API ColumnList(bool allow_duplicate_names = false);
|
23
|
+
DUCKDB_API explicit ColumnList(vector<ColumnDefinition> columns, bool allow_duplicate_names = false);
|
23
24
|
|
24
25
|
DUCKDB_API void AddColumn(ColumnDefinition column);
|
25
26
|
void Finalize();
|
@@ -53,6 +54,9 @@ public:
|
|
53
54
|
void Serialize(FieldWriter &writer) const;
|
54
55
|
static ColumnList Deserialize(FieldReader &reader);
|
55
56
|
|
57
|
+
void FormatSerialize(FormatSerializer &serializer) const;
|
58
|
+
static ColumnList FormatDeserialize(FormatDeserializer &deserializer);
|
59
|
+
|
56
60
|
DUCKDB_API ColumnListIterator Logical() const;
|
57
61
|
DUCKDB_API ColumnListIterator Physical() const;
|
58
62
|
|
@@ -16,6 +16,8 @@ namespace duckdb {
|
|
16
16
|
|
17
17
|
class Serializer;
|
18
18
|
class Deserializer;
|
19
|
+
class FormatSerializer;
|
20
|
+
class FormatDeserializer;
|
19
21
|
class FieldWriter;
|
20
22
|
class FieldReader;
|
21
23
|
|
@@ -68,6 +70,9 @@ public:
|
|
68
70
|
//! Deserializes a blob back into a Constraint
|
69
71
|
DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &source);
|
70
72
|
|
73
|
+
DUCKDB_API virtual void FormatSerialize(FormatSerializer &serializer) const;
|
74
|
+
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
75
|
+
|
71
76
|
public:
|
72
77
|
template <class TARGET>
|
73
78
|
TARGET &Cast() {
|