duckdb 0.8.2-dev4142.0 → 0.8.2-dev4314.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 +0 -2
- package/lib/duckdb.js +3 -3
- package/package.json +1 -1
- package/src/connection.cpp +9 -8
- package/src/database.cpp +5 -8
- package/src/duckdb/extension/icu/icu-datepart.cpp +2 -2
- package/src/duckdb/extension/icu/icu-strptime.cpp +0 -9
- package/src/duckdb/extension/icu/icu_extension.cpp +3 -3
- package/src/duckdb/extension/icu/third_party/icu/i18n/unicode/gregocal.h +1 -1
- package/src/duckdb/extension/json/buffered_json_reader.cpp +3 -17
- package/src/duckdb/extension/json/include/buffered_json_reader.hpp +2 -5
- package/src/duckdb/extension/json/include/json_deserializer.hpp +2 -2
- package/src/duckdb/extension/json/include/json_scan.hpp +5 -12
- package/src/duckdb/extension/json/include/json_serializer.hpp +3 -3
- package/src/duckdb/extension/json/include/json_transform.hpp +2 -5
- package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_transform.cpp +2 -18
- package/src/duckdb/extension/json/json_scan.cpp +7 -76
- package/src/duckdb/extension/json/serialize_json.cpp +8 -8
- package/src/duckdb/extension/parquet/column_writer.cpp +46 -45
- package/src/duckdb/extension/parquet/include/column_writer.hpp +2 -2
- package/src/duckdb/extension/parquet/include/parquet_reader.hpp +2 -5
- package/src/duckdb/extension/parquet/include/parquet_rle_bp_encoder.hpp +4 -4
- package/src/duckdb/extension/parquet/parquet_extension.cpp +74 -55
- package/src/duckdb/extension/parquet/parquet_writer.cpp +3 -2
- package/src/duckdb/extension/parquet/serialize_parquet.cpp +4 -4
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +0 -1
- package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +0 -1
- package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +0 -1
- package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +0 -1
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +0 -2
- package/src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp +1 -3
- package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +0 -1
- package/src/duckdb/src/catalog/catalog_entry.cpp +2 -11
- package/src/duckdb/src/catalog/catalog_set.cpp +16 -14
- package/src/duckdb/src/catalog/default/default_functions.cpp +2 -2
- package/src/duckdb/src/common/arrow/arrow_converter.cpp +0 -1
- package/src/duckdb/src/common/constants.cpp +0 -1
- package/src/duckdb/src/common/enum_util.cpp +0 -10
- package/src/duckdb/src/common/exception.cpp +1 -1
- package/src/duckdb/src/common/extra_type_info.cpp +20 -192
- package/src/duckdb/src/common/multi_file_reader.cpp +0 -68
- package/src/duckdb/src/common/serializer/binary_serializer.cpp +9 -4
- package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +3 -11
- package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +1 -1
- package/src/duckdb/src/common/serializer/memory_stream.cpp +61 -0
- package/src/duckdb/src/common/serializer/{format_serializer.cpp → serializer.cpp} +2 -2
- package/src/duckdb/src/common/sort/partition_state.cpp +107 -29
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +4 -4
- package/src/duckdb/src/common/types/data_chunk.cpp +11 -43
- package/src/duckdb/src/common/types/hyperloglog.cpp +4 -23
- package/src/duckdb/src/common/types/interval.cpp +2 -2
- package/src/duckdb/src/common/types/value.cpp +10 -135
- package/src/duckdb/src/common/types/vector.cpp +17 -149
- package/src/duckdb/src/common/types.cpp +2 -20
- package/src/duckdb/src/core_functions/aggregate/algebraic/avg.cpp +0 -1
- package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +6 -7
- package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +5 -28
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +30 -78
- package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +5 -30
- package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +6 -9
- package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +21 -16
- package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +15 -23
- package/src/duckdb/src/execution/index/art/art.cpp +5 -1
- package/src/duckdb/src/execution/index/art/leaf.cpp +13 -10
- package/src/duckdb/src/execution/index/art/node48.cpp +0 -2
- package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +38 -73
- package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +245 -27
- package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +2 -3
- package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +35 -20
- package/src/duckdb/src/function/macro_function.cpp +0 -42
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_integral.cpp +10 -8
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +13 -12
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +9 -11
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +7 -33
- package/src/duckdb/src/function/scalar_function.cpp +1 -2
- package/src/duckdb/src/function/scalar_macro_function.cpp +0 -10
- package/src/duckdb/src/function/table/copy_csv.cpp +38 -38
- package/src/duckdb/src/function/table/read_csv.cpp +5 -174
- package/src/duckdb/src/function/table/table_scan.cpp +5 -42
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/function/table_function.cpp +3 -4
- package/src/duckdb/src/function/table_macro_function.cpp +0 -10
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +0 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +0 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +0 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +3 -8
- package/src/duckdb/src/include/duckdb/common/constants.hpp +4 -2
- package/src/duckdb/src/include/duckdb/common/extra_type_info.hpp +16 -46
- package/src/duckdb/src/include/duckdb/common/index_vector.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +2 -6
- package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +0 -4
- package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +44 -23
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +31 -23
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_reader.hpp +4 -6
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/serializer/deserialization_data.hpp +17 -0
- package/src/duckdb/src/include/duckdb/common/serializer/{format_deserializer.hpp → deserializer.hpp} +13 -13
- package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +62 -0
- package/src/duckdb/src/include/duckdb/common/serializer/read_stream.hpp +38 -0
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +15 -13
- package/src/duckdb/src/include/duckdb/common/serializer/{format_serializer.hpp → serializer.hpp} +13 -12
- package/src/duckdb/src/include/duckdb/common/serializer/write_stream.hpp +36 -0
- package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +14 -4
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_collection.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +3 -8
- package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +4 -10
- package/src/duckdb/src/include/duckdb/common/types/interval.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +1 -5
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +2 -7
- package/src/duckdb/src/include/duckdb/common/types.hpp +1 -10
- package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +2 -0
- package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +1 -7
- package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +38 -8
- package/src/duckdb/src/include/duckdb/execution/operator/scan/csv/csv_reader_options.hpp +2 -11
- package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +4 -14
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +15 -98
- package/src/duckdb/src/include/duckdb/function/macro_function.hpp +1 -7
- package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +9 -10
- package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +2 -2
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -12
- package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +2 -7
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +4 -16
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +2 -11
- package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +2 -7
- package/src/duckdb/src/include/duckdb/main/relation.hpp +9 -2
- package/src/duckdb/src/include/duckdb/parser/column_definition.hpp +1 -4
- package/src/duckdb/src/include/duckdb/parser/column_list.hpp +2 -6
- package/src/duckdb/src/include/duckdb/parser/common_table_expression_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/constraint.hpp +2 -12
- package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +2 -5
- package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +2 -7
- package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +2 -7
- package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +2 -7
- package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -4
- package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +4 -6
- package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +2 -5
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_scalar_function_info.hpp +0 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_function_info.hpp +0 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +24 -51
- package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +1 -4
- package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_collation_info.hpp +0 -3
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_copy_function_info.hpp +0 -3
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_function_info.hpp +0 -5
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +2 -7
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +1 -13
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +2 -8
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +2 -12
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +2 -7
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_info.hpp +2 -7
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +2 -7
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +2 -7
- package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +2 -5
- package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +2 -21
- package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/pragma_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_data/sample_options.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +1 -4
- package/src/duckdb/src/include/duckdb/parser/parsed_data/vacuum_info.hpp +5 -7
- package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +3 -16
- package/src/duckdb/src/include/duckdb/parser/query_node/cte_node.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/query_node/recursive_cte_node.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/query_node/select_node.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/query_node/set_operation_node.hpp +2 -4
- package/src/duckdb/src/include/duckdb/parser/query_node.hpp +7 -14
- package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +14 -32
- package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +4 -9
- package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +2 -6
- package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +2 -6
- package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +2 -6
- package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +2 -6
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +6 -14
- package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +2 -6
- package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +2 -6
- package/src/duckdb/src/include/duckdb/parser/tableref.hpp +2 -10
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +0 -1
- package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +2 -8
- package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +4 -4
- package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +3 -9
- package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +2 -8
- package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +2 -8
- package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +2 -19
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +0 -3
- package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -14
- package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +4 -8
- package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +4 -8
- package/src/duckdb/src/include/duckdb/planner/joinside.hpp +1 -6
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -17
- package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +2 -6
- package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_dependent_join.hpp +0 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +0 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +0 -3
- package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_extension_operator.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_join.hpp +0 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +0 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_prepare.hpp +0 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +2 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +2 -4
- package/src/duckdb/src/include/duckdb/planner/operator_extension.hpp +1 -3
- package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +0 -5
- package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +3 -12
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/block.hpp +7 -4
- package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +6 -6
- package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +18 -18
- package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +6 -0
- package/src/duckdb/src/include/duckdb/storage/data_table.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +4 -5
- package/src/duckdb/src/include/duckdb/storage/metadata/metadata_reader.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/metadata/metadata_writer.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +35 -19
- package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +2 -11
- package/src/duckdb/src/include/duckdb/storage/statistics/column_statistics.hpp +3 -5
- package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +3 -11
- package/src/duckdb/src/include/duckdb/storage/statistics/list_stats.hpp +2 -7
- package/src/duckdb/src/include/duckdb/storage/statistics/node_statistics.hpp +0 -26
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +2 -7
- package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +2 -7
- package/src/duckdb/src/include/duckdb/storage/statistics/struct_stats.hpp +2 -7
- package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +4 -6
- package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +8 -17
- package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +5 -20
- package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +2 -7
- package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +4 -7
- package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +27 -29
- package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +0 -2
- package/src/duckdb/src/main/client_context.cpp +0 -6
- package/src/duckdb/src/main/client_verify.cpp +0 -2
- package/src/duckdb/src/main/extension/extension_helper.cpp +1 -0
- package/src/duckdb/src/main/relation.cpp +15 -2
- package/src/duckdb/src/parser/column_definition.cpp +0 -25
- package/src/duckdb/src/parser/column_list.cpp +0 -13
- package/src/duckdb/src/parser/constraint.cpp +0 -33
- package/src/duckdb/src/parser/constraints/check_constraint.cpp +0 -11
- package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +0 -27
- package/src/duckdb/src/parser/constraints/not_null_constraint.cpp +0 -11
- package/src/duckdb/src/parser/constraints/unique_constraint.cpp +0 -24
- package/src/duckdb/src/parser/expression/between_expression.cpp +2 -16
- package/src/duckdb/src/parser/expression/case_expression.cpp +2 -29
- package/src/duckdb/src/parser/expression/cast_expression.cpp +2 -16
- package/src/duckdb/src/parser/expression/collate_expression.cpp +2 -14
- package/src/duckdb/src/parser/expression/columnref_expression.cpp +2 -13
- package/src/duckdb/src/parser/expression/comparison_expression.cpp +2 -14
- package/src/duckdb/src/parser/expression/conjunction_expression.cpp +2 -13
- package/src/duckdb/src/parser/expression/constant_expression.cpp +2 -12
- package/src/duckdb/src/parser/expression/default_expression.cpp +2 -9
- package/src/duckdb/src/parser/expression/function_expression.cpp +2 -32
- package/src/duckdb/src/parser/expression/lambda_expression.cpp +2 -14
- package/src/duckdb/src/parser/expression/operator_expression.cpp +2 -13
- package/src/duckdb/src/parser/expression/parameter_expression.cpp +2 -13
- package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +2 -12
- package/src/duckdb/src/parser/expression/star_expression.cpp +2 -43
- package/src/duckdb/src/parser/expression/subquery_expression.cpp +2 -28
- package/src/duckdb/src/parser/expression/window_expression.cpp +2 -53
- package/src/duckdb/src/parser/parsed_data/alter_info.cpp +0 -35
- package/src/duckdb/src/parser/parsed_data/alter_scalar_function_info.cpp +0 -18
- package/src/duckdb/src/parser/parsed_data/alter_table_function_info.cpp +0 -13
- package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +1 -189
- package/src/duckdb/src/parser/parsed_data/attach_info.cpp +0 -29
- package/src/duckdb/src/parser/parsed_data/create_collation_info.cpp +0 -4
- package/src/duckdb/src/parser/parsed_data/create_copy_function_info.cpp +0 -4
- package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +0 -48
- package/src/duckdb/src/parser/parsed_data/create_info.cpp +0 -47
- package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +1 -28
- package/src/duckdb/src/parser/parsed_data/create_sequence_info.cpp +0 -31
- package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +0 -23
- package/src/duckdb/src/parser/parsed_data/create_type_info.cpp +0 -22
- package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +0 -23
- package/src/duckdb/src/parser/parsed_data/detach_info.cpp +0 -19
- package/src/duckdb/src/parser/parsed_data/drop_info.cpp +0 -26
- package/src/duckdb/src/parser/parsed_data/sample_options.cpp +2 -25
- package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +0 -16
- package/src/duckdb/src/parser/parsed_data/vacuum_info.cpp +0 -20
- package/src/duckdb/src/parser/parsed_expression.cpp +2 -79
- package/src/duckdb/src/parser/query_node/cte_node.cpp +2 -19
- package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +2 -21
- package/src/duckdb/src/parser/query_node/select_node.cpp +2 -47
- package/src/duckdb/src/parser/query_node/set_operation_node.cpp +2 -17
- package/src/duckdb/src/parser/query_node.cpp +2 -62
- package/src/duckdb/src/parser/result_modifier.cpp +2 -96
- package/src/duckdb/src/parser/statement/select_statement.cpp +2 -13
- package/src/duckdb/src/parser/tableref/basetableref.cpp +2 -21
- package/src/duckdb/src/parser/tableref/emptytableref.cpp +0 -9
- package/src/duckdb/src/parser/tableref/expressionlistref.cpp +2 -28
- package/src/duckdb/src/parser/tableref/joinref.cpp +2 -23
- package/src/duckdb/src/parser/tableref/pivotref.cpp +0 -61
- package/src/duckdb/src/parser/tableref/subqueryref.cpp +2 -15
- package/src/duckdb/src/parser/tableref/table_function.cpp +2 -17
- package/src/duckdb/src/parser/tableref.cpp +2 -52
- package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +1 -4
- package/src/duckdb/src/planner/bound_result_modifier.cpp +0 -33
- package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +6 -30
- package/src/duckdb/src/planner/expression/bound_between_expression.cpp +0 -19
- package/src/duckdb/src/planner/expression/bound_case_expression.cpp +0 -36
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +0 -15
- package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +0 -20
- package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +0 -13
- package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +0 -13
- package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +0 -11
- package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -5
- package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -28
- package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +0 -4
- package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +0 -23
- package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +0 -16
- package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +0 -18
- package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +0 -16
- package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +0 -4
- package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +0 -15
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +7 -60
- package/src/duckdb/src/planner/expression.cpp +0 -74
- package/src/duckdb/src/planner/filter/conjunction_filter.cpp +0 -21
- package/src/duckdb/src/planner/filter/constant_filter.cpp +0 -12
- package/src/duckdb/src/planner/filter/null_filter.cpp +0 -14
- package/src/duckdb/src/planner/joinside.cpp +0 -24
- package/src/duckdb/src/planner/logical_operator.cpp +15 -215
- package/src/duckdb/src/planner/operator/logical_aggregate.cpp +0 -46
- package/src/duckdb/src/planner/operator/logical_any_join.cpp +0 -14
- package/src/duckdb/src/planner/operator/logical_column_data_get.cpp +0 -23
- package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +0 -23
- package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +2 -56
- package/src/duckdb/src/planner/operator/logical_create.cpp +0 -12
- package/src/duckdb/src/planner/operator/logical_create_index.cpp +0 -25
- package/src/duckdb/src/planner/operator/logical_create_table.cpp +0 -10
- package/src/duckdb/src/planner/operator/logical_cross_product.cpp +0 -9
- package/src/duckdb/src/planner/operator/logical_cteref.cpp +0 -18
- package/src/duckdb/src/planner/operator/logical_delete.cpp +0 -22
- package/src/duckdb/src/planner/operator/logical_delim_get.cpp +0 -12
- package/src/duckdb/src/planner/operator/logical_dependent_join.cpp +0 -4
- package/src/duckdb/src/planner/operator/logical_distinct.cpp +0 -16
- package/src/duckdb/src/planner/operator/logical_dummy_scan.cpp +0 -10
- package/src/duckdb/src/planner/operator/logical_empty_result.cpp +0 -15
- package/src/duckdb/src/planner/operator/logical_expression_get.cpp +0 -24
- package/src/duckdb/src/planner/operator/logical_extension_operator.cpp +6 -19
- package/src/duckdb/src/planner/operator/logical_filter.cpp +0 -15
- package/src/duckdb/src/planner/operator/logical_get.cpp +12 -97
- package/src/duckdb/src/planner/operator/logical_insert.cpp +0 -77
- package/src/duckdb/src/planner/operator/logical_join.cpp +0 -17
- package/src/duckdb/src/planner/operator/logical_limit.cpp +0 -16
- package/src/duckdb/src/planner/operator/logical_limit_percent.cpp +0 -16
- package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +0 -13
- package/src/duckdb/src/planner/operator/logical_order.cpp +0 -15
- package/src/duckdb/src/planner/operator/logical_pivot.cpp +0 -20
- package/src/duckdb/src/planner/operator/logical_positional_join.cpp +0 -10
- package/src/duckdb/src/planner/operator/logical_pragma.cpp +0 -8
- package/src/duckdb/src/planner/operator/logical_prepare.cpp +0 -8
- package/src/duckdb/src/planner/operator/logical_projection.cpp +0 -12
- package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +0 -15
- package/src/duckdb/src/planner/operator/logical_reset.cpp +0 -12
- package/src/duckdb/src/planner/operator/logical_sample.cpp +0 -11
- package/src/duckdb/src/planner/operator/logical_set.cpp +0 -14
- package/src/duckdb/src/planner/operator/logical_set_operation.cpp +0 -13
- package/src/duckdb/src/planner/operator/logical_simple.cpp +0 -60
- package/src/duckdb/src/planner/operator/logical_top_n.cpp +0 -14
- package/src/duckdb/src/planner/operator/logical_unnest.cpp +0 -14
- package/src/duckdb/src/planner/operator/logical_update.cpp +0 -28
- package/src/duckdb/src/planner/operator/logical_window.cpp +0 -13
- package/src/duckdb/src/planner/planner.cpp +13 -22
- package/src/duckdb/src/planner/table_filter.cpp +0 -59
- package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +7 -17
- package/src/duckdb/src/storage/checkpoint/table_data_reader.cpp +7 -4
- package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +24 -22
- package/src/duckdb/src/storage/checkpoint_manager.cpp +203 -180
- package/src/duckdb/src/storage/data_table.cpp +2 -2
- package/src/duckdb/src/storage/metadata/metadata_manager.cpp +11 -9
- package/src/duckdb/src/storage/partial_block_manager.cpp +42 -15
- package/src/duckdb/src/storage/serialization/serialize_constraint.cpp +20 -20
- package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +46 -42
- package/src/duckdb/src/storage/serialization/serialize_expression.cpp +63 -63
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +167 -165
- package/src/duckdb/src/storage/serialization/serialize_macro_function.cpp +12 -12
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +54 -54
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +88 -88
- package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +72 -72
- package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +20 -20
- package/src/duckdb/src/storage/serialization/serialize_result_modifier.cpp +22 -22
- package/src/duckdb/src/storage/serialization/serialize_statement.cpp +4 -4
- package/src/duckdb/src/storage/serialization/serialize_storage.cpp +41 -6
- package/src/duckdb/src/storage/serialization/serialize_table_filter.cpp +24 -24
- package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +32 -32
- package/src/duckdb/src/storage/serialization/serialize_types.cpp +29 -29
- package/src/duckdb/src/storage/single_file_block_manager.cpp +17 -22
- package/src/duckdb/src/storage/statistics/base_statistics.cpp +31 -85
- package/src/duckdb/src/storage/statistics/column_statistics.cpp +6 -19
- package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +0 -26
- package/src/duckdb/src/storage/statistics/list_stats.cpp +6 -22
- package/src/duckdb/src/storage/statistics/numeric_stats.cpp +20 -135
- package/src/duckdb/src/storage/statistics/string_stats.cpp +5 -28
- package/src/duckdb/src/storage/statistics/struct_stats.cpp +8 -30
- package/src/duckdb/src/storage/storage_info.cpp +1 -1
- package/src/duckdb/src/storage/table/chunk_info.cpp +9 -88
- package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +28 -34
- package/src/duckdb/src/storage/table/column_data.cpp +20 -25
- package/src/duckdb/src/storage/table/list_column_data.cpp +16 -9
- package/src/duckdb/src/storage/table/row_group.cpp +16 -92
- package/src/duckdb/src/storage/table/row_group_collection.cpp +5 -1
- package/src/duckdb/src/storage/table/standard_column_data.cpp +10 -7
- package/src/duckdb/src/storage/table/struct_column_data.cpp +17 -11
- package/src/duckdb/src/storage/table/table_statistics.cpp +13 -22
- package/src/duckdb/src/storage/wal_replay.cpp +108 -106
- package/src/duckdb/src/storage/write_ahead_log.cpp +135 -64
- package/src/duckdb/src/transaction/commit_state.cpp +22 -8
- package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +11 -6
- package/src/duckdb/src/verification/statement_verifier.cpp +0 -5
- package/src/duckdb/third_party/parquet/parquet_types.h +1 -1
- package/src/duckdb/ub_src_common.cpp +0 -4
- package/src/duckdb/ub_src_common_serializer.cpp +2 -4
- package/src/duckdb/ub_src_planner.cpp +0 -2
- package/src/duckdb/ub_src_planner_expression.cpp +0 -2
- package/src/duckdb/ub_src_planner_operator.cpp +0 -8
- package/src/duckdb_node.cpp +6 -12
- package/src/duckdb_node.hpp +23 -13
- package/src/statement.cpp +15 -16
- package/test/database_fail.test.ts +20 -0
- package/test/worker.js +7 -0
- package/src/duckdb/src/common/field_writer.cpp +0 -97
- package/src/duckdb/src/common/serializer/buffered_deserializer.cpp +0 -27
- package/src/duckdb/src/common/serializer/buffered_serializer.cpp +0 -36
- package/src/duckdb/src/common/serializer.cpp +0 -24
- package/src/duckdb/src/include/duckdb/common/field_writer.hpp +0 -379
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_deserializer.hpp +0 -41
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_serializer.hpp +0 -50
- package/src/duckdb/src/include/duckdb/common/serializer.hpp +0 -151
- package/src/duckdb/src/include/duckdb/planner/plan_serialization.hpp +0 -44
- package/src/duckdb/src/include/duckdb/verification/deserialized_statement_verifier_v2.hpp +0 -32
- package/src/duckdb/src/planner/expression/bound_default_expression.cpp +0 -16
- package/src/duckdb/src/planner/operator/logical_execute.cpp +0 -12
- package/src/duckdb/src/planner/operator/logical_explain.cpp +0 -22
- package/src/duckdb/src/planner/operator/logical_export.cpp +0 -13
- package/src/duckdb/src/planner/operator/logical_show.cpp +0 -21
- package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +0 -22
- package/src/duckdb/src/planner/plan_serialization.cpp +0 -20
- package/src/duckdb/src/verification/deserialized_statement_verifier_v2.cpp +0 -34
- package/src/duckdb/ub_src_planner_parsed_data.cpp +0 -2
@@ -16,8 +16,6 @@
|
|
16
16
|
|
17
17
|
namespace duckdb {
|
18
18
|
class BaseStatistics;
|
19
|
-
class FieldWriter;
|
20
|
-
class FieldReader;
|
21
19
|
struct SelectionVector;
|
22
20
|
class Vector;
|
23
21
|
|
@@ -61,11 +59,8 @@ struct NumericStats {
|
|
61
59
|
|
62
60
|
DUCKDB_API static void Merge(BaseStatistics &stats, const BaseStatistics &other_p);
|
63
61
|
|
64
|
-
DUCKDB_API static void Serialize(const BaseStatistics &stats,
|
65
|
-
DUCKDB_API static
|
66
|
-
|
67
|
-
DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
|
68
|
-
DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
|
62
|
+
DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
|
63
|
+
DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &stats);
|
69
64
|
|
70
65
|
DUCKDB_API static string ToString(const BaseStatistics &stats);
|
71
66
|
|
@@ -17,8 +17,6 @@
|
|
17
17
|
|
18
18
|
namespace duckdb {
|
19
19
|
class BaseStatistics;
|
20
|
-
class FieldWriter;
|
21
|
-
class FieldReader;
|
22
20
|
struct SelectionVector;
|
23
21
|
class Vector;
|
24
22
|
|
@@ -58,11 +56,8 @@ struct StringStats {
|
|
58
56
|
//! FIXME: make this part of Set on statistics
|
59
57
|
DUCKDB_API static void SetContainsUnicode(BaseStatistics &stats);
|
60
58
|
|
61
|
-
DUCKDB_API static void Serialize(const BaseStatistics &stats,
|
62
|
-
DUCKDB_API static
|
63
|
-
|
64
|
-
DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
|
65
|
-
DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
|
59
|
+
DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
|
60
|
+
DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &base);
|
66
61
|
|
67
62
|
DUCKDB_API static string ToString(const BaseStatistics &stats);
|
68
63
|
|
@@ -13,8 +13,6 @@
|
|
13
13
|
|
14
14
|
namespace duckdb {
|
15
15
|
class BaseStatistics;
|
16
|
-
class FieldWriter;
|
17
|
-
class FieldReader;
|
18
16
|
struct SelectionVector;
|
19
17
|
class Vector;
|
20
18
|
|
@@ -29,11 +27,8 @@ struct StructStats {
|
|
29
27
|
DUCKDB_API static void SetChildStats(BaseStatistics &stats, idx_t i, const BaseStatistics &new_stats);
|
30
28
|
DUCKDB_API static void SetChildStats(BaseStatistics &stats, idx_t i, unique_ptr<BaseStatistics> new_stats);
|
31
29
|
|
32
|
-
DUCKDB_API static void Serialize(const BaseStatistics &stats,
|
33
|
-
DUCKDB_API static
|
34
|
-
|
35
|
-
DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
|
36
|
-
DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
|
30
|
+
DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
|
31
|
+
DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &base);
|
37
32
|
|
38
33
|
DUCKDB_API static string ToString(const BaseStatistics &stats);
|
39
34
|
|
@@ -12,8 +12,6 @@
|
|
12
12
|
#include "duckdb/common/vector_size.hpp"
|
13
13
|
|
14
14
|
namespace duckdb {
|
15
|
-
class Serializer;
|
16
|
-
class Deserializer;
|
17
15
|
struct FileHandle;
|
18
16
|
|
19
17
|
#define STANDARD_ROW_GROUPS_SIZE 122880
|
@@ -53,8 +51,8 @@ struct MainHeader {
|
|
53
51
|
|
54
52
|
static void CheckMagicBytes(FileHandle &handle);
|
55
53
|
|
56
|
-
void
|
57
|
-
static MainHeader
|
54
|
+
void Write(WriteStream &ser);
|
55
|
+
static MainHeader Read(ReadStream &source);
|
58
56
|
};
|
59
57
|
|
60
58
|
//! The DatabaseHeader contains information about the current state of the database. Every storage file has two
|
@@ -72,8 +70,8 @@ struct DatabaseHeader {
|
|
72
70
|
//! block_count any blocks appearing AFTER block_count are implicitly part of the free_list.
|
73
71
|
uint64_t block_count;
|
74
72
|
|
75
|
-
void
|
76
|
-
static DatabaseHeader
|
73
|
+
void Write(WriteStream &ser);
|
74
|
+
static DatabaseHeader Read(ReadStream &source);
|
77
75
|
};
|
78
76
|
|
79
77
|
} // namespace duckdb
|
@@ -18,8 +18,8 @@ struct SelectionVector;
|
|
18
18
|
class Transaction;
|
19
19
|
struct TransactionData;
|
20
20
|
|
21
|
-
class
|
22
|
-
class
|
21
|
+
class Serializer;
|
22
|
+
class Deserializer;
|
23
23
|
|
24
24
|
enum class ChunkInfoType : uint8_t { CONSTANT_INFO, VECTOR_INFO, EMPTY_INFO };
|
25
25
|
|
@@ -46,11 +46,8 @@ public:
|
|
46
46
|
virtual void CommitAppend(transaction_t commit_id, idx_t start, idx_t end) = 0;
|
47
47
|
virtual idx_t GetCommittedDeletedCount(idx_t max_count) = 0;
|
48
48
|
|
49
|
-
virtual void Serialize(Serializer &
|
50
|
-
static unique_ptr<ChunkInfo> Deserialize(Deserializer &
|
51
|
-
|
52
|
-
virtual void FormatSerialize(FormatSerializer &serializer) const = 0;
|
53
|
-
static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
|
49
|
+
virtual void Serialize(Serializer &serializer) const = 0;
|
50
|
+
static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
|
54
51
|
|
55
52
|
public:
|
56
53
|
template <class TARGET>
|
@@ -88,11 +85,8 @@ public:
|
|
88
85
|
void CommitAppend(transaction_t commit_id, idx_t start, idx_t end) override;
|
89
86
|
idx_t GetCommittedDeletedCount(idx_t max_count) override;
|
90
87
|
|
91
|
-
void Serialize(Serializer &
|
92
|
-
static unique_ptr<ChunkInfo> Deserialize(Deserializer &
|
93
|
-
|
94
|
-
void FormatSerialize(FormatSerializer &serializer) const override;
|
95
|
-
static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
|
88
|
+
void Serialize(Serializer &serializer) const override;
|
89
|
+
static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
|
96
90
|
|
97
91
|
private:
|
98
92
|
template <class OP>
|
@@ -136,11 +130,8 @@ public:
|
|
136
130
|
idx_t Delete(transaction_t transaction_id, row_t rows[], idx_t count);
|
137
131
|
void CommitDelete(transaction_t commit_id, row_t rows[], idx_t count);
|
138
132
|
|
139
|
-
void Serialize(Serializer &
|
140
|
-
static unique_ptr<ChunkInfo> Deserialize(Deserializer &
|
141
|
-
|
142
|
-
void FormatSerialize(FormatSerializer &serializer) const override;
|
143
|
-
static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
|
133
|
+
void Serialize(Serializer &serializer) const override;
|
134
|
+
static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
|
144
135
|
|
145
136
|
private:
|
146
137
|
template <class OP>
|
@@ -41,7 +41,7 @@ public:
|
|
41
41
|
virtual unique_ptr<BaseStatistics> GetStatistics();
|
42
42
|
|
43
43
|
virtual void FlushSegment(unique_ptr<ColumnSegment> segment, idx_t segment_size);
|
44
|
-
virtual void WriteDataPointers(RowGroupWriter &writer);
|
44
|
+
virtual void WriteDataPointers(RowGroupWriter &writer, Serializer &serializer);
|
45
45
|
|
46
46
|
public:
|
47
47
|
template <class TARGET>
|
@@ -68,37 +68,22 @@ struct PartialBlockForCheckpoint : public PartialBlock {
|
|
68
68
|
};
|
69
69
|
|
70
70
|
public:
|
71
|
-
PartialBlockForCheckpoint(ColumnData &data, ColumnSegment &segment,
|
72
|
-
|
71
|
+
PartialBlockForCheckpoint(ColumnData &data, ColumnSegment &segment, PartialBlockState state,
|
72
|
+
BlockManager &block_manager);
|
73
73
|
~PartialBlockForCheckpoint() override;
|
74
74
|
|
75
75
|
// We will copy all segment data into the memory of the shared block.
|
76
76
|
// Once the block is full (or checkpoint is complete) we'll invoke Flush().
|
77
77
|
// This will cause the block to get written to storage (via BlockManger::ConvertToPersistent),
|
78
78
|
// and all segments to have their references updated (via ColumnSegment::ConvertToPersistent)
|
79
|
-
BlockManager &block_manager;
|
80
|
-
shared_ptr<BlockHandle> block;
|
81
79
|
vector<PartialColumnSegment> segments;
|
82
80
|
|
83
|
-
private:
|
84
|
-
struct UninitializedRegion {
|
85
|
-
idx_t start;
|
86
|
-
idx_t end;
|
87
|
-
};
|
88
|
-
vector<UninitializedRegion> uninitialized_regions;
|
89
|
-
|
90
81
|
public:
|
91
82
|
bool IsFlushed();
|
92
|
-
|
93
|
-
void AddUninitializedRegion(idx_t start, idx_t end) override;
|
94
|
-
|
95
|
-
void Flush(idx_t free_space_left) override;
|
96
|
-
|
97
|
-
void Clear() override;
|
98
|
-
|
83
|
+
void Flush(const idx_t free_space_left) override;
|
99
84
|
void Merge(PartialBlock &other, idx_t offset, idx_t other_size) override;
|
100
|
-
|
101
85
|
void AddSegmentToTail(ColumnData &data, ColumnSegment &segment, uint32_t offset_in_block);
|
86
|
+
void Clear() override;
|
102
87
|
};
|
103
88
|
|
104
89
|
} // namespace duckdb
|
@@ -125,9 +125,9 @@ public:
|
|
125
125
|
virtual void CheckpointScan(ColumnSegment &segment, ColumnScanState &state, idx_t row_group_start, idx_t count,
|
126
126
|
Vector &scan_vector);
|
127
127
|
|
128
|
-
virtual void DeserializeColumn(Deserializer &
|
128
|
+
virtual void DeserializeColumn(Deserializer &deserializer);
|
129
129
|
static shared_ptr<ColumnData> Deserialize(BlockManager &block_manager, DataTableInfo &info, idx_t column_index,
|
130
|
-
idx_t start_row,
|
130
|
+
idx_t start_row, ReadStream &source, const LogicalType &type,
|
131
131
|
optional_ptr<ColumnData> parent);
|
132
132
|
|
133
133
|
virtual void GetColumnSegmentInfo(idx_t row_group_index, vector<idx_t> col_path, vector<ColumnSegmentInfo> &result);
|
@@ -56,7 +56,7 @@ public:
|
|
56
56
|
unique_ptr<ColumnCheckpointState> Checkpoint(RowGroup &row_group, PartialBlockManager &partial_block_manager,
|
57
57
|
ColumnCheckpointInfo &checkpoint_info) override;
|
58
58
|
|
59
|
-
void DeserializeColumn(Deserializer &
|
59
|
+
void DeserializeColumn(Deserializer &deserializer) override;
|
60
60
|
|
61
61
|
void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector<duckdb::idx_t> col_path,
|
62
62
|
vector<duckdb::ColumnSegmentInfo> &result) override;
|
@@ -124,8 +124,6 @@ public:
|
|
124
124
|
RowGroupWriteData WriteToDisk(PartialBlockManager &manager, const vector<CompressionType> &compression_types);
|
125
125
|
bool AllDeleted();
|
126
126
|
RowGroupPointer Checkpoint(RowGroupWriter &writer, TableStatistics &global_stats);
|
127
|
-
static void Serialize(RowGroupPointer &pointer, Serializer &serializer);
|
128
|
-
static RowGroupPointer Deserialize(Deserializer &source, const vector<LogicalType> &columns);
|
129
127
|
|
130
128
|
void InitializeAppend(RowGroupAppendState &append_state);
|
131
129
|
void Append(RowGroupAppendState &append_state, DataChunk &chunk, idx_t append_count);
|
@@ -148,8 +146,8 @@ public:
|
|
148
146
|
void NextVector(CollectionScanState &state);
|
149
147
|
|
150
148
|
// Serialization
|
151
|
-
static void
|
152
|
-
static RowGroupPointer
|
149
|
+
static void Serialize(RowGroupPointer &pointer, Serializer &serializer);
|
150
|
+
static RowGroupPointer Deserialize(Deserializer &deserializer);
|
153
151
|
|
154
152
|
private:
|
155
153
|
ChunkInfo *GetChunkInfo(idx_t vector_idx);
|
@@ -160,9 +158,6 @@ private:
|
|
160
158
|
template <TableScanType TYPE>
|
161
159
|
void TemplatedScan(TransactionData transaction, CollectionScanState &state, DataChunk &result);
|
162
160
|
|
163
|
-
static void CheckpointDeletes(VersionNode *versions, Serializer &serializer);
|
164
|
-
static shared_ptr<VersionNode> DeserializeDeletes(Deserializer &source);
|
165
|
-
|
166
161
|
private:
|
167
162
|
mutex row_group_lock;
|
168
163
|
mutex stats_lock;
|
@@ -54,11 +54,11 @@ public:
|
|
54
54
|
void CheckpointScan(ColumnSegment &segment, ColumnScanState &state, idx_t row_group_start, idx_t count,
|
55
55
|
Vector &scan_vector) override;
|
56
56
|
|
57
|
-
void DeserializeColumn(Deserializer &source) override;
|
58
|
-
|
59
57
|
void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector<duckdb::idx_t> col_path,
|
60
58
|
vector<duckdb::ColumnSegmentInfo> &result) override;
|
61
59
|
|
60
|
+
void DeserializeColumn(Deserializer &deserializer) override;
|
61
|
+
|
62
62
|
void Verify(RowGroup &parent) override;
|
63
63
|
};
|
64
64
|
|
@@ -16,8 +16,8 @@
|
|
16
16
|
namespace duckdb {
|
17
17
|
class ColumnList;
|
18
18
|
class PersistentTableData;
|
19
|
-
class
|
20
|
-
class
|
19
|
+
class Serializer;
|
20
|
+
class Deserializer;
|
21
21
|
|
22
22
|
class TableStatisticsLock {
|
23
23
|
public:
|
@@ -49,11 +49,8 @@ public:
|
|
49
49
|
|
50
50
|
unique_ptr<TableStatisticsLock> GetLock();
|
51
51
|
|
52
|
-
void Serialize(Serializer &serializer);
|
53
|
-
void Deserialize(Deserializer &
|
54
|
-
|
55
|
-
void FormatSerialize(FormatSerializer &serializer);
|
56
|
-
void FormatDeserialize(FormatDeserializer &deserializer, ColumnList &columns);
|
52
|
+
void Serialize(Serializer &serializer) const;
|
53
|
+
void Deserialize(Deserializer &deserializer, ColumnList &columns);
|
57
54
|
|
58
55
|
private:
|
59
56
|
//! The statistics lock
|
@@ -24,7 +24,6 @@ namespace duckdb {
|
|
24
24
|
struct AlterInfo;
|
25
25
|
|
26
26
|
class AttachedDatabase;
|
27
|
-
class BufferedSerializer;
|
28
27
|
class Catalog;
|
29
28
|
class DatabaseInstance;
|
30
29
|
class SchemaCatalogEntry;
|
@@ -38,53 +37,52 @@ class TransactionManager;
|
|
38
37
|
|
39
38
|
class ReplayState {
|
40
39
|
public:
|
41
|
-
ReplayState(AttachedDatabase &db, ClientContext &context
|
42
|
-
: db(db), context(context), catalog(db.GetCatalog()),
|
40
|
+
ReplayState(AttachedDatabase &db, ClientContext &context)
|
41
|
+
: db(db), context(context), catalog(db.GetCatalog()), deserialize_only(false) {
|
43
42
|
}
|
44
43
|
|
45
44
|
AttachedDatabase &db;
|
46
45
|
ClientContext &context;
|
47
46
|
Catalog &catalog;
|
48
|
-
Deserializer &source;
|
49
47
|
optional_ptr<TableCatalogEntry> current_table;
|
50
48
|
bool deserialize_only;
|
51
49
|
MetaBlockPointer checkpoint_id;
|
52
50
|
|
53
51
|
public:
|
54
|
-
void ReplayEntry(WALType entry_type);
|
52
|
+
void ReplayEntry(WALType entry_type, BinaryDeserializer &deserializer);
|
55
53
|
|
56
54
|
protected:
|
57
|
-
virtual void ReplayCreateTable();
|
58
|
-
void ReplayDropTable();
|
59
|
-
void ReplayAlter();
|
55
|
+
virtual void ReplayCreateTable(BinaryDeserializer &deserializer);
|
56
|
+
void ReplayDropTable(BinaryDeserializer &deserializer);
|
57
|
+
void ReplayAlter(BinaryDeserializer &deserializer);
|
60
58
|
|
61
|
-
void ReplayCreateView();
|
62
|
-
void ReplayDropView();
|
59
|
+
void ReplayCreateView(BinaryDeserializer &deserializer);
|
60
|
+
void ReplayDropView(BinaryDeserializer &deserializer);
|
63
61
|
|
64
|
-
void ReplayCreateSchema();
|
65
|
-
void ReplayDropSchema();
|
62
|
+
void ReplayCreateSchema(BinaryDeserializer &deserializer);
|
63
|
+
void ReplayDropSchema(BinaryDeserializer &deserializer);
|
66
64
|
|
67
|
-
void ReplayCreateType();
|
68
|
-
void ReplayDropType();
|
65
|
+
void ReplayCreateType(BinaryDeserializer &deserializer);
|
66
|
+
void ReplayDropType(BinaryDeserializer &deserializer);
|
69
67
|
|
70
|
-
void ReplayCreateSequence();
|
71
|
-
void ReplayDropSequence();
|
72
|
-
void ReplaySequenceValue();
|
68
|
+
void ReplayCreateSequence(BinaryDeserializer &deserializer);
|
69
|
+
void ReplayDropSequence(BinaryDeserializer &deserializer);
|
70
|
+
void ReplaySequenceValue(BinaryDeserializer &deserializer);
|
73
71
|
|
74
|
-
void ReplayCreateMacro();
|
75
|
-
void ReplayDropMacro();
|
72
|
+
void ReplayCreateMacro(BinaryDeserializer &deserializer);
|
73
|
+
void ReplayDropMacro(BinaryDeserializer &deserializer);
|
76
74
|
|
77
|
-
void ReplayCreateTableMacro();
|
78
|
-
void ReplayDropTableMacro();
|
75
|
+
void ReplayCreateTableMacro(BinaryDeserializer &deserializer);
|
76
|
+
void ReplayDropTableMacro(BinaryDeserializer &deserializer);
|
79
77
|
|
80
|
-
void ReplayCreateIndex();
|
81
|
-
void ReplayDropIndex();
|
78
|
+
void ReplayCreateIndex(BinaryDeserializer &deserializer);
|
79
|
+
void ReplayDropIndex(BinaryDeserializer &deserializer);
|
82
80
|
|
83
|
-
void ReplayUseTable();
|
84
|
-
void ReplayInsert();
|
85
|
-
void ReplayDelete();
|
86
|
-
void ReplayUpdate();
|
87
|
-
void ReplayCheckpoint();
|
81
|
+
void ReplayUseTable(BinaryDeserializer &deserializer);
|
82
|
+
void ReplayInsert(BinaryDeserializer &deserializer);
|
83
|
+
void ReplayDelete(BinaryDeserializer &deserializer);
|
84
|
+
void ReplayUpdate(BinaryDeserializer &deserializer);
|
85
|
+
void ReplayCheckpoint(BinaryDeserializer &deserializer);
|
88
86
|
};
|
89
87
|
|
90
88
|
//! The WriteAheadLog (WAL) is a log that is used to provide durability. Prior
|
@@ -136,7 +134,7 @@ public:
|
|
136
134
|
//! Sets the table used for subsequent insert/delete/update commands
|
137
135
|
void WriteSetTable(string &schema, string &table);
|
138
136
|
|
139
|
-
void WriteAlter(
|
137
|
+
void WriteAlter(const AlterInfo &info);
|
140
138
|
|
141
139
|
void WriteInsert(DataChunk &chunk);
|
142
140
|
void WriteDelete(DataChunk &chunk);
|
@@ -7,9 +7,7 @@
|
|
7
7
|
#include "duckdb/common/http_state.hpp"
|
8
8
|
#include "duckdb/common/preserved_error.hpp"
|
9
9
|
#include "duckdb/common/progress_bar/progress_bar.hpp"
|
10
|
-
#include "duckdb/common/serializer/buffered_deserializer.hpp"
|
11
10
|
#include "duckdb/common/serializer/buffered_file_writer.hpp"
|
12
|
-
#include "duckdb/common/serializer/buffered_serializer.hpp"
|
13
11
|
#include "duckdb/common/types/column/column_data_collection.hpp"
|
14
12
|
#include "duckdb/execution/column_binding_resolver.hpp"
|
15
13
|
#include "duckdb/execution/operator/helper/physical_result_collector.hpp"
|
@@ -27,11 +25,9 @@
|
|
27
25
|
#include "duckdb/main/relation.hpp"
|
28
26
|
#include "duckdb/main/stream_query_result.hpp"
|
29
27
|
#include "duckdb/optimizer/optimizer.hpp"
|
30
|
-
#include "duckdb/parallel/task_scheduler.hpp"
|
31
28
|
#include "duckdb/parser/expression/constant_expression.hpp"
|
32
29
|
#include "duckdb/parser/expression/parameter_expression.hpp"
|
33
30
|
#include "duckdb/parser/parsed_data/create_function_info.hpp"
|
34
|
-
#include "duckdb/parser/parsed_expression_iterator.hpp"
|
35
31
|
#include "duckdb/parser/parser.hpp"
|
36
32
|
#include "duckdb/parser/query_node/select_node.hpp"
|
37
33
|
#include "duckdb/parser/statement/drop_statement.hpp"
|
@@ -43,9 +39,7 @@
|
|
43
39
|
#include "duckdb/planner/operator/logical_execute.hpp"
|
44
40
|
#include "duckdb/planner/planner.hpp"
|
45
41
|
#include "duckdb/planner/pragma_handler.hpp"
|
46
|
-
#include "duckdb/storage/data_table.hpp"
|
47
42
|
#include "duckdb/transaction/meta_transaction.hpp"
|
48
|
-
#include "duckdb/transaction/transaction.hpp"
|
49
43
|
#include "duckdb/transaction/transaction_manager.hpp"
|
50
44
|
|
51
45
|
namespace duckdb {
|
@@ -40,8 +40,6 @@ PreservedError ClientContext::VerifyQuery(ClientContextLock &lock, const string
|
|
40
40
|
if (config.query_verification_enabled) {
|
41
41
|
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::COPIED, stmt));
|
42
42
|
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED, stmt));
|
43
|
-
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED_V2, stmt));
|
44
|
-
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED_V2_NO_DEFAULT, stmt));
|
45
43
|
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::UNOPTIMIZED, stmt));
|
46
44
|
prepared_statement_verifier = StatementVerifier::Create(VerificationType::PREPARED, stmt);
|
47
45
|
#ifdef DUCKDB_DEBUG_ASYNC_SINK_SOURCE
|
@@ -118,6 +118,7 @@ static DefaultExtension internal_extensions[] = {
|
|
118
118
|
{"spatial", "Geospatial extension that adds support for working with spatial data and functions", false},
|
119
119
|
{"substrait", "Adds support for the Substrait integration", false},
|
120
120
|
{"aws", "Provides features that depend on the AWS SDK", false},
|
121
|
+
{"arrow", "A zero-copy data integration between Apache Arrow and DuckDB", false},
|
121
122
|
{"azure", "Adds a filesystem abstraction for Azure blob storage to DuckDB", false},
|
122
123
|
{"iceberg", "Adds support for Apache Iceberg", false},
|
123
124
|
{"visualizer", "Creates an HTML-based visualization of the query plan", false},
|
@@ -47,6 +47,11 @@ shared_ptr<Relation> Relation::Project(const vector<string> &expressions) {
|
|
47
47
|
return Project(expressions, aliases);
|
48
48
|
}
|
49
49
|
|
50
|
+
shared_ptr<Relation> Relation::Project(vector<unique_ptr<ParsedExpression>> expressions,
|
51
|
+
const vector<string> &aliases) {
|
52
|
+
return make_shared<ProjectionRelation>(shared_from_this(), std::move(expressions), aliases);
|
53
|
+
}
|
54
|
+
|
50
55
|
static vector<unique_ptr<ParsedExpression>> StringListToExpressionList(ClientContext &context,
|
51
56
|
const vector<string> &expressions) {
|
52
57
|
if (expressions.empty()) {
|
@@ -73,7 +78,11 @@ shared_ptr<Relation> Relation::Filter(const string &expression) {
|
|
73
78
|
if (expression_list.size() != 1) {
|
74
79
|
throw ParserException("Expected a single expression as filter condition");
|
75
80
|
}
|
76
|
-
return
|
81
|
+
return Filter(std::move(expression_list[0]));
|
82
|
+
}
|
83
|
+
|
84
|
+
shared_ptr<Relation> Relation::Filter(unique_ptr<ParsedExpression> expression) {
|
85
|
+
return make_shared<FilterRelation>(shared_from_this(), std::move(expression));
|
77
86
|
}
|
78
87
|
|
79
88
|
shared_ptr<Relation> Relation::Filter(const vector<string> &expressions) {
|
@@ -95,6 +104,10 @@ shared_ptr<Relation> Relation::Limit(int64_t limit, int64_t offset) {
|
|
95
104
|
|
96
105
|
shared_ptr<Relation> Relation::Order(const string &expression) {
|
97
106
|
auto order_list = Parser::ParseOrderList(expression, context.GetContext()->GetParserOptions());
|
107
|
+
return Order(std::move(order_list));
|
108
|
+
}
|
109
|
+
|
110
|
+
shared_ptr<Relation> Relation::Order(vector<OrderByNode> order_list) {
|
98
111
|
return make_shared<OrderRelation>(shared_from_this(), std::move(order_list));
|
99
112
|
}
|
100
113
|
|
@@ -110,7 +123,7 @@ shared_ptr<Relation> Relation::Order(const vector<string> &expressions) {
|
|
110
123
|
}
|
111
124
|
order_list.push_back(std::move(inner_list[0]));
|
112
125
|
}
|
113
|
-
return
|
126
|
+
return Order(std::move(order_list));
|
114
127
|
}
|
115
128
|
|
116
129
|
shared_ptr<Relation> Relation::Join(const shared_ptr<Relation> &other, const string &condition, JoinType type,
|
@@ -1,5 +1,4 @@
|
|
1
1
|
#include "duckdb/parser/column_definition.hpp"
|
2
|
-
#include "duckdb/common/field_writer.hpp"
|
3
2
|
#include "duckdb/parser/parsed_expression_iterator.hpp"
|
4
3
|
#include "duckdb/parser/expression/columnref_expression.hpp"
|
5
4
|
#include "duckdb/parser/parsed_data/alter_table_info.hpp"
|
@@ -26,30 +25,6 @@ ColumnDefinition ColumnDefinition::Copy() const {
|
|
26
25
|
return copy;
|
27
26
|
}
|
28
27
|
|
29
|
-
void ColumnDefinition::Serialize(Serializer &serializer) const {
|
30
|
-
FieldWriter writer(serializer);
|
31
|
-
writer.WriteString(name);
|
32
|
-
writer.WriteSerializable(type);
|
33
|
-
writer.WriteOptional(expression);
|
34
|
-
writer.WriteField<TableColumnType>(category);
|
35
|
-
writer.WriteField<duckdb::CompressionType>(compression_type);
|
36
|
-
writer.Finalize();
|
37
|
-
}
|
38
|
-
|
39
|
-
ColumnDefinition ColumnDefinition::Deserialize(Deserializer &source) {
|
40
|
-
FieldReader reader(source);
|
41
|
-
auto column_name = reader.ReadRequired<string>();
|
42
|
-
auto column_type = reader.ReadRequiredSerializable<LogicalType, LogicalType>();
|
43
|
-
auto expression = reader.ReadOptional<ParsedExpression>(nullptr);
|
44
|
-
auto category = reader.ReadField<TableColumnType>(TableColumnType::STANDARD);
|
45
|
-
auto compression_type = reader.ReadField<duckdb::CompressionType>(duckdb::CompressionType::COMPRESSION_AUTO);
|
46
|
-
reader.Finalize();
|
47
|
-
|
48
|
-
ColumnDefinition result(column_name, column_type, std::move(expression), category);
|
49
|
-
result.compression_type = compression_type;
|
50
|
-
return result;
|
51
|
-
}
|
52
|
-
|
53
28
|
const unique_ptr<ParsedExpression> &ColumnDefinition::DefaultValue() const {
|
54
29
|
if (Generated()) {
|
55
30
|
throw InternalException("Calling DefaultValue() on a generated column");
|
@@ -158,19 +158,6 @@ ColumnList ColumnList::Copy() const {
|
|
158
158
|
return result;
|
159
159
|
}
|
160
160
|
|
161
|
-
void ColumnList::Serialize(FieldWriter &writer) const {
|
162
|
-
writer.WriteRegularSerializableList(columns);
|
163
|
-
}
|
164
|
-
|
165
|
-
ColumnList ColumnList::Deserialize(FieldReader &reader) {
|
166
|
-
ColumnList result;
|
167
|
-
auto columns = reader.ReadRequiredSerializableList<ColumnDefinition, ColumnDefinition>();
|
168
|
-
for (auto &col : columns) {
|
169
|
-
result.AddColumn(std::move(col));
|
170
|
-
}
|
171
|
-
return result;
|
172
|
-
}
|
173
|
-
|
174
161
|
ColumnList::ColumnListIterator ColumnList::Logical() const {
|
175
162
|
return ColumnListIterator(*this, false);
|
176
163
|
}
|
@@ -1,9 +1,7 @@
|
|
1
1
|
#include "duckdb/parser/constraint.hpp"
|
2
2
|
|
3
3
|
#include "duckdb/common/printer.hpp"
|
4
|
-
#include "duckdb/common/serializer.hpp"
|
5
4
|
#include "duckdb/parser/constraints/list.hpp"
|
6
|
-
#include "duckdb/common/field_writer.hpp"
|
7
5
|
|
8
6
|
namespace duckdb {
|
9
7
|
|
@@ -13,37 +11,6 @@ Constraint::Constraint(ConstraintType type) : type(type) {
|
|
13
11
|
Constraint::~Constraint() {
|
14
12
|
}
|
15
13
|
|
16
|
-
void Constraint::Serialize(Serializer &serializer) const {
|
17
|
-
FieldWriter writer(serializer);
|
18
|
-
writer.WriteField<ConstraintType>(type);
|
19
|
-
Serialize(writer);
|
20
|
-
writer.Finalize();
|
21
|
-
}
|
22
|
-
|
23
|
-
unique_ptr<Constraint> Constraint::Deserialize(Deserializer &source) {
|
24
|
-
FieldReader reader(source);
|
25
|
-
auto type = reader.ReadRequired<ConstraintType>();
|
26
|
-
unique_ptr<Constraint> result;
|
27
|
-
switch (type) {
|
28
|
-
case ConstraintType::NOT_NULL:
|
29
|
-
result = NotNullConstraint::Deserialize(reader);
|
30
|
-
break;
|
31
|
-
case ConstraintType::CHECK:
|
32
|
-
result = CheckConstraint::Deserialize(reader);
|
33
|
-
break;
|
34
|
-
case ConstraintType::UNIQUE:
|
35
|
-
result = UniqueConstraint::Deserialize(reader);
|
36
|
-
break;
|
37
|
-
case ConstraintType::FOREIGN_KEY:
|
38
|
-
result = ForeignKeyConstraint::Deserialize(reader);
|
39
|
-
break;
|
40
|
-
default:
|
41
|
-
throw InternalException("Unrecognized constraint type for serialization");
|
42
|
-
}
|
43
|
-
reader.Finalize();
|
44
|
-
return result;
|
45
|
-
}
|
46
|
-
|
47
14
|
void Constraint::Print() const {
|
48
15
|
Printer::Print(ToString());
|
49
16
|
}
|
@@ -1,7 +1,5 @@
|
|
1
1
|
#include "duckdb/parser/constraints/check_constraint.hpp"
|
2
2
|
|
3
|
-
#include "duckdb/common/field_writer.hpp"
|
4
|
-
|
5
3
|
namespace duckdb {
|
6
4
|
|
7
5
|
CheckConstraint::CheckConstraint(unique_ptr<ParsedExpression> expression)
|
@@ -16,13 +14,4 @@ unique_ptr<Constraint> CheckConstraint::Copy() const {
|
|
16
14
|
return make_uniq<CheckConstraint>(expression->Copy());
|
17
15
|
}
|
18
16
|
|
19
|
-
void CheckConstraint::Serialize(FieldWriter &writer) const {
|
20
|
-
writer.WriteSerializable(*expression);
|
21
|
-
}
|
22
|
-
|
23
|
-
unique_ptr<Constraint> CheckConstraint::Deserialize(FieldReader &source) {
|
24
|
-
auto expression = source.ReadRequiredSerializable<ParsedExpression>();
|
25
|
-
return make_uniq<CheckConstraint>(std::move(expression));
|
26
|
-
}
|
27
|
-
|
28
17
|
} // namespace duckdb
|