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
@@ -3,20 +3,55 @@
|
|
3
3
|
// Do not edit this file manually, your changes will be overwritten
|
4
4
|
//===----------------------------------------------------------------------===//
|
5
5
|
|
6
|
-
#include "duckdb/common/serializer/
|
7
|
-
#include "duckdb/common/serializer/
|
6
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
7
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
8
8
|
#include "duckdb/storage/block.hpp"
|
9
|
+
#include "duckdb/storage/data_pointer.hpp"
|
9
10
|
#include "duckdb/storage/statistics/distinct_statistics.hpp"
|
10
11
|
|
11
12
|
namespace duckdb {
|
12
13
|
|
13
|
-
void
|
14
|
+
void BlockPointer::Serialize(Serializer &serializer) const {
|
15
|
+
serializer.WriteProperty(100, "block_id", block_id);
|
16
|
+
serializer.WriteProperty(101, "offset", offset);
|
17
|
+
}
|
18
|
+
|
19
|
+
BlockPointer BlockPointer::Deserialize(Deserializer &deserializer) {
|
20
|
+
auto block_id = deserializer.ReadProperty<block_id_t>(100, "block_id");
|
21
|
+
auto offset = deserializer.ReadProperty<uint32_t>(101, "offset");
|
22
|
+
BlockPointer result(block_id, offset);
|
23
|
+
return result;
|
24
|
+
}
|
25
|
+
|
26
|
+
void DataPointer::Serialize(Serializer &serializer) const {
|
27
|
+
serializer.WriteProperty(100, "row_start", row_start);
|
28
|
+
serializer.WriteProperty(101, "tuple_count", tuple_count);
|
29
|
+
serializer.WriteProperty(102, "block_pointer", block_pointer);
|
30
|
+
serializer.WriteProperty(103, "compression_type", compression_type);
|
31
|
+
serializer.WriteProperty(104, "statistics", statistics);
|
32
|
+
}
|
33
|
+
|
34
|
+
DataPointer DataPointer::Deserialize(Deserializer &deserializer) {
|
35
|
+
auto row_start = deserializer.ReadProperty<uint64_t>(100, "row_start");
|
36
|
+
auto tuple_count = deserializer.ReadProperty<uint64_t>(101, "tuple_count");
|
37
|
+
auto block_pointer = deserializer.ReadProperty<BlockPointer>(102, "block_pointer");
|
38
|
+
auto compression_type = deserializer.ReadProperty<CompressionType>(103, "compression_type");
|
39
|
+
auto statistics = deserializer.ReadProperty<BaseStatistics>(104, "statistics");
|
40
|
+
DataPointer result(std::move(statistics));
|
41
|
+
result.row_start = row_start;
|
42
|
+
result.tuple_count = tuple_count;
|
43
|
+
result.block_pointer = block_pointer;
|
44
|
+
result.compression_type = compression_type;
|
45
|
+
return result;
|
46
|
+
}
|
47
|
+
|
48
|
+
void DistinctStatistics::Serialize(Serializer &serializer) const {
|
14
49
|
serializer.WriteProperty(100, "sample_count", sample_count);
|
15
50
|
serializer.WriteProperty(101, "total_count", total_count);
|
16
51
|
serializer.WriteProperty(102, "log", log);
|
17
52
|
}
|
18
53
|
|
19
|
-
unique_ptr<DistinctStatistics> DistinctStatistics::
|
54
|
+
unique_ptr<DistinctStatistics> DistinctStatistics::Deserialize(Deserializer &deserializer) {
|
20
55
|
auto sample_count = deserializer.ReadProperty<idx_t>(100, "sample_count");
|
21
56
|
auto total_count = deserializer.ReadProperty<idx_t>(101, "total_count");
|
22
57
|
auto log = deserializer.ReadProperty<unique_ptr<HyperLogLog>>(102, "log");
|
@@ -24,12 +59,12 @@ unique_ptr<DistinctStatistics> DistinctStatistics::FormatDeserialize(FormatDeser
|
|
24
59
|
return result;
|
25
60
|
}
|
26
61
|
|
27
|
-
void MetaBlockPointer::
|
62
|
+
void MetaBlockPointer::Serialize(Serializer &serializer) const {
|
28
63
|
serializer.WriteProperty(100, "block_pointer", block_pointer);
|
29
64
|
serializer.WriteProperty(101, "offset", offset);
|
30
65
|
}
|
31
66
|
|
32
|
-
MetaBlockPointer MetaBlockPointer::
|
67
|
+
MetaBlockPointer MetaBlockPointer::Deserialize(Deserializer &deserializer) {
|
33
68
|
auto block_pointer = deserializer.ReadProperty<idx_t>(100, "block_pointer");
|
34
69
|
auto offset = deserializer.ReadProperty<uint32_t>(101, "offset");
|
35
70
|
MetaBlockPointer result(block_pointer, offset);
|
@@ -3,8 +3,8 @@
|
|
3
3
|
// Do not edit this file manually, your changes will be overwritten
|
4
4
|
//===----------------------------------------------------------------------===//
|
5
5
|
|
6
|
-
#include "duckdb/common/serializer/
|
7
|
-
#include "duckdb/common/serializer/
|
6
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
7
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
8
8
|
#include "duckdb/planner/table_filter.hpp"
|
9
9
|
#include "duckdb/planner/filter/null_filter.hpp"
|
10
10
|
#include "duckdb/planner/filter/constant_filter.hpp"
|
@@ -12,28 +12,28 @@
|
|
12
12
|
|
13
13
|
namespace duckdb {
|
14
14
|
|
15
|
-
void TableFilter::
|
15
|
+
void TableFilter::Serialize(Serializer &serializer) const {
|
16
16
|
serializer.WriteProperty(100, "filter_type", filter_type);
|
17
17
|
}
|
18
18
|
|
19
|
-
unique_ptr<TableFilter> TableFilter::
|
19
|
+
unique_ptr<TableFilter> TableFilter::Deserialize(Deserializer &deserializer) {
|
20
20
|
auto filter_type = deserializer.ReadProperty<TableFilterType>(100, "filter_type");
|
21
21
|
unique_ptr<TableFilter> result;
|
22
22
|
switch (filter_type) {
|
23
23
|
case TableFilterType::CONJUNCTION_AND:
|
24
|
-
result = ConjunctionAndFilter::
|
24
|
+
result = ConjunctionAndFilter::Deserialize(deserializer);
|
25
25
|
break;
|
26
26
|
case TableFilterType::CONJUNCTION_OR:
|
27
|
-
result = ConjunctionOrFilter::
|
27
|
+
result = ConjunctionOrFilter::Deserialize(deserializer);
|
28
28
|
break;
|
29
29
|
case TableFilterType::CONSTANT_COMPARISON:
|
30
|
-
result = ConstantFilter::
|
30
|
+
result = ConstantFilter::Deserialize(deserializer);
|
31
31
|
break;
|
32
32
|
case TableFilterType::IS_NOT_NULL:
|
33
|
-
result = IsNotNullFilter::
|
33
|
+
result = IsNotNullFilter::Deserialize(deserializer);
|
34
34
|
break;
|
35
35
|
case TableFilterType::IS_NULL:
|
36
|
-
result = IsNullFilter::
|
36
|
+
result = IsNullFilter::Deserialize(deserializer);
|
37
37
|
break;
|
38
38
|
default:
|
39
39
|
throw SerializationException("Unsupported type for deserialization of TableFilter!");
|
@@ -41,55 +41,55 @@ unique_ptr<TableFilter> TableFilter::FormatDeserialize(FormatDeserializer &deser
|
|
41
41
|
return result;
|
42
42
|
}
|
43
43
|
|
44
|
-
void ConjunctionAndFilter::
|
45
|
-
TableFilter::
|
44
|
+
void ConjunctionAndFilter::Serialize(Serializer &serializer) const {
|
45
|
+
TableFilter::Serialize(serializer);
|
46
46
|
serializer.WriteProperty(200, "child_filters", child_filters);
|
47
47
|
}
|
48
48
|
|
49
|
-
unique_ptr<TableFilter> ConjunctionAndFilter::
|
49
|
+
unique_ptr<TableFilter> ConjunctionAndFilter::Deserialize(Deserializer &deserializer) {
|
50
50
|
auto result = duckdb::unique_ptr<ConjunctionAndFilter>(new ConjunctionAndFilter());
|
51
51
|
deserializer.ReadProperty(200, "child_filters", result->child_filters);
|
52
52
|
return std::move(result);
|
53
53
|
}
|
54
54
|
|
55
|
-
void ConjunctionOrFilter::
|
56
|
-
TableFilter::
|
55
|
+
void ConjunctionOrFilter::Serialize(Serializer &serializer) const {
|
56
|
+
TableFilter::Serialize(serializer);
|
57
57
|
serializer.WriteProperty(200, "child_filters", child_filters);
|
58
58
|
}
|
59
59
|
|
60
|
-
unique_ptr<TableFilter> ConjunctionOrFilter::
|
60
|
+
unique_ptr<TableFilter> ConjunctionOrFilter::Deserialize(Deserializer &deserializer) {
|
61
61
|
auto result = duckdb::unique_ptr<ConjunctionOrFilter>(new ConjunctionOrFilter());
|
62
62
|
deserializer.ReadProperty(200, "child_filters", result->child_filters);
|
63
63
|
return std::move(result);
|
64
64
|
}
|
65
65
|
|
66
|
-
void ConstantFilter::
|
67
|
-
TableFilter::
|
66
|
+
void ConstantFilter::Serialize(Serializer &serializer) const {
|
67
|
+
TableFilter::Serialize(serializer);
|
68
68
|
serializer.WriteProperty(200, "comparison_type", comparison_type);
|
69
69
|
serializer.WriteProperty(201, "constant", constant);
|
70
70
|
}
|
71
71
|
|
72
|
-
unique_ptr<TableFilter> ConstantFilter::
|
72
|
+
unique_ptr<TableFilter> ConstantFilter::Deserialize(Deserializer &deserializer) {
|
73
73
|
auto comparison_type = deserializer.ReadProperty<ExpressionType>(200, "comparison_type");
|
74
74
|
auto constant = deserializer.ReadProperty<Value>(201, "constant");
|
75
75
|
auto result = duckdb::unique_ptr<ConstantFilter>(new ConstantFilter(comparison_type, constant));
|
76
76
|
return std::move(result);
|
77
77
|
}
|
78
78
|
|
79
|
-
void IsNotNullFilter::
|
80
|
-
TableFilter::
|
79
|
+
void IsNotNullFilter::Serialize(Serializer &serializer) const {
|
80
|
+
TableFilter::Serialize(serializer);
|
81
81
|
}
|
82
82
|
|
83
|
-
unique_ptr<TableFilter> IsNotNullFilter::
|
83
|
+
unique_ptr<TableFilter> IsNotNullFilter::Deserialize(Deserializer &deserializer) {
|
84
84
|
auto result = duckdb::unique_ptr<IsNotNullFilter>(new IsNotNullFilter());
|
85
85
|
return std::move(result);
|
86
86
|
}
|
87
87
|
|
88
|
-
void IsNullFilter::
|
89
|
-
TableFilter::
|
88
|
+
void IsNullFilter::Serialize(Serializer &serializer) const {
|
89
|
+
TableFilter::Serialize(serializer);
|
90
90
|
}
|
91
91
|
|
92
|
-
unique_ptr<TableFilter> IsNullFilter::
|
92
|
+
unique_ptr<TableFilter> IsNullFilter::Deserialize(Deserializer &deserializer) {
|
93
93
|
auto result = duckdb::unique_ptr<IsNullFilter>(new IsNullFilter());
|
94
94
|
return std::move(result);
|
95
95
|
}
|
@@ -3,44 +3,44 @@
|
|
3
3
|
// Do not edit this file manually, your changes will be overwritten
|
4
4
|
//===----------------------------------------------------------------------===//
|
5
5
|
|
6
|
-
#include "duckdb/common/serializer/
|
7
|
-
#include "duckdb/common/serializer/
|
6
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
7
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
8
8
|
#include "duckdb/parser/tableref/list.hpp"
|
9
9
|
|
10
10
|
namespace duckdb {
|
11
11
|
|
12
|
-
void TableRef::
|
12
|
+
void TableRef::Serialize(Serializer &serializer) const {
|
13
13
|
serializer.WriteProperty(100, "type", type);
|
14
14
|
serializer.WriteProperty(101, "alias", alias);
|
15
15
|
serializer.WritePropertyWithDefault(102, "sample", sample, unique_ptr<SampleOptions>());
|
16
16
|
}
|
17
17
|
|
18
|
-
unique_ptr<TableRef> TableRef::
|
18
|
+
unique_ptr<TableRef> TableRef::Deserialize(Deserializer &deserializer) {
|
19
19
|
auto type = deserializer.ReadProperty<TableReferenceType>(100, "type");
|
20
20
|
auto alias = deserializer.ReadProperty<string>(101, "alias");
|
21
21
|
auto sample = deserializer.ReadPropertyWithDefault<unique_ptr<SampleOptions>>(102, "sample", unique_ptr<SampleOptions>());
|
22
22
|
unique_ptr<TableRef> result;
|
23
23
|
switch (type) {
|
24
24
|
case TableReferenceType::BASE_TABLE:
|
25
|
-
result = BaseTableRef::
|
25
|
+
result = BaseTableRef::Deserialize(deserializer);
|
26
26
|
break;
|
27
27
|
case TableReferenceType::EMPTY:
|
28
|
-
result = EmptyTableRef::
|
28
|
+
result = EmptyTableRef::Deserialize(deserializer);
|
29
29
|
break;
|
30
30
|
case TableReferenceType::EXPRESSION_LIST:
|
31
|
-
result = ExpressionListRef::
|
31
|
+
result = ExpressionListRef::Deserialize(deserializer);
|
32
32
|
break;
|
33
33
|
case TableReferenceType::JOIN:
|
34
|
-
result = JoinRef::
|
34
|
+
result = JoinRef::Deserialize(deserializer);
|
35
35
|
break;
|
36
36
|
case TableReferenceType::PIVOT:
|
37
|
-
result = PivotRef::
|
37
|
+
result = PivotRef::Deserialize(deserializer);
|
38
38
|
break;
|
39
39
|
case TableReferenceType::SUBQUERY:
|
40
|
-
result = SubqueryRef::
|
40
|
+
result = SubqueryRef::Deserialize(deserializer);
|
41
41
|
break;
|
42
42
|
case TableReferenceType::TABLE_FUNCTION:
|
43
|
-
result = TableFunctionRef::
|
43
|
+
result = TableFunctionRef::Deserialize(deserializer);
|
44
44
|
break;
|
45
45
|
default:
|
46
46
|
throw SerializationException("Unsupported type for deserialization of TableRef!");
|
@@ -50,15 +50,15 @@ unique_ptr<TableRef> TableRef::FormatDeserialize(FormatDeserializer &deserialize
|
|
50
50
|
return result;
|
51
51
|
}
|
52
52
|
|
53
|
-
void BaseTableRef::
|
54
|
-
TableRef::
|
53
|
+
void BaseTableRef::Serialize(Serializer &serializer) const {
|
54
|
+
TableRef::Serialize(serializer);
|
55
55
|
serializer.WriteProperty(200, "schema_name", schema_name);
|
56
56
|
serializer.WriteProperty(201, "table_name", table_name);
|
57
57
|
serializer.WriteProperty(202, "column_name_alias", column_name_alias);
|
58
58
|
serializer.WriteProperty(203, "catalog_name", catalog_name);
|
59
59
|
}
|
60
60
|
|
61
|
-
unique_ptr<TableRef> BaseTableRef::
|
61
|
+
unique_ptr<TableRef> BaseTableRef::Deserialize(Deserializer &deserializer) {
|
62
62
|
auto result = duckdb::unique_ptr<BaseTableRef>(new BaseTableRef());
|
63
63
|
deserializer.ReadProperty(200, "schema_name", result->schema_name);
|
64
64
|
deserializer.ReadProperty(201, "table_name", result->table_name);
|
@@ -67,23 +67,23 @@ unique_ptr<TableRef> BaseTableRef::FormatDeserialize(FormatDeserializer &deseria
|
|
67
67
|
return std::move(result);
|
68
68
|
}
|
69
69
|
|
70
|
-
void EmptyTableRef::
|
71
|
-
TableRef::
|
70
|
+
void EmptyTableRef::Serialize(Serializer &serializer) const {
|
71
|
+
TableRef::Serialize(serializer);
|
72
72
|
}
|
73
73
|
|
74
|
-
unique_ptr<TableRef> EmptyTableRef::
|
74
|
+
unique_ptr<TableRef> EmptyTableRef::Deserialize(Deserializer &deserializer) {
|
75
75
|
auto result = duckdb::unique_ptr<EmptyTableRef>(new EmptyTableRef());
|
76
76
|
return std::move(result);
|
77
77
|
}
|
78
78
|
|
79
|
-
void ExpressionListRef::
|
80
|
-
TableRef::
|
79
|
+
void ExpressionListRef::Serialize(Serializer &serializer) const {
|
80
|
+
TableRef::Serialize(serializer);
|
81
81
|
serializer.WriteProperty(200, "expected_names", expected_names);
|
82
82
|
serializer.WriteProperty(201, "expected_types", expected_types);
|
83
83
|
serializer.WriteProperty(202, "values", values);
|
84
84
|
}
|
85
85
|
|
86
|
-
unique_ptr<TableRef> ExpressionListRef::
|
86
|
+
unique_ptr<TableRef> ExpressionListRef::Deserialize(Deserializer &deserializer) {
|
87
87
|
auto result = duckdb::unique_ptr<ExpressionListRef>(new ExpressionListRef());
|
88
88
|
deserializer.ReadProperty(200, "expected_names", result->expected_names);
|
89
89
|
deserializer.ReadProperty(201, "expected_types", result->expected_types);
|
@@ -91,8 +91,8 @@ unique_ptr<TableRef> ExpressionListRef::FormatDeserialize(FormatDeserializer &de
|
|
91
91
|
return std::move(result);
|
92
92
|
}
|
93
93
|
|
94
|
-
void JoinRef::
|
95
|
-
TableRef::
|
94
|
+
void JoinRef::Serialize(Serializer &serializer) const {
|
95
|
+
TableRef::Serialize(serializer);
|
96
96
|
serializer.WriteProperty(200, "left", left);
|
97
97
|
serializer.WriteProperty(201, "right", right);
|
98
98
|
serializer.WritePropertyWithDefault(202, "condition", condition, unique_ptr<ParsedExpression>());
|
@@ -101,7 +101,7 @@ void JoinRef::FormatSerialize(FormatSerializer &serializer) const {
|
|
101
101
|
serializer.WriteProperty(205, "using_columns", using_columns);
|
102
102
|
}
|
103
103
|
|
104
|
-
unique_ptr<TableRef> JoinRef::
|
104
|
+
unique_ptr<TableRef> JoinRef::Deserialize(Deserializer &deserializer) {
|
105
105
|
auto result = duckdb::unique_ptr<JoinRef>(new JoinRef());
|
106
106
|
deserializer.ReadProperty(200, "left", result->left);
|
107
107
|
deserializer.ReadProperty(201, "right", result->right);
|
@@ -112,8 +112,8 @@ unique_ptr<TableRef> JoinRef::FormatDeserialize(FormatDeserializer &deserializer
|
|
112
112
|
return std::move(result);
|
113
113
|
}
|
114
114
|
|
115
|
-
void PivotRef::
|
116
|
-
TableRef::
|
115
|
+
void PivotRef::Serialize(Serializer &serializer) const {
|
116
|
+
TableRef::Serialize(serializer);
|
117
117
|
serializer.WriteProperty(200, "source", source);
|
118
118
|
serializer.WriteProperty(201, "aggregates", aggregates);
|
119
119
|
serializer.WriteProperty(202, "unpivot_names", unpivot_names);
|
@@ -123,7 +123,7 @@ void PivotRef::FormatSerialize(FormatSerializer &serializer) const {
|
|
123
123
|
serializer.WriteProperty(206, "include_nulls", include_nulls);
|
124
124
|
}
|
125
125
|
|
126
|
-
unique_ptr<TableRef> PivotRef::
|
126
|
+
unique_ptr<TableRef> PivotRef::Deserialize(Deserializer &deserializer) {
|
127
127
|
auto result = duckdb::unique_ptr<PivotRef>(new PivotRef());
|
128
128
|
deserializer.ReadProperty(200, "source", result->source);
|
129
129
|
deserializer.ReadProperty(201, "aggregates", result->aggregates);
|
@@ -135,26 +135,26 @@ unique_ptr<TableRef> PivotRef::FormatDeserialize(FormatDeserializer &deserialize
|
|
135
135
|
return std::move(result);
|
136
136
|
}
|
137
137
|
|
138
|
-
void SubqueryRef::
|
139
|
-
TableRef::
|
138
|
+
void SubqueryRef::Serialize(Serializer &serializer) const {
|
139
|
+
TableRef::Serialize(serializer);
|
140
140
|
serializer.WriteProperty(200, "subquery", subquery);
|
141
141
|
serializer.WriteProperty(201, "column_name_alias", column_name_alias);
|
142
142
|
}
|
143
143
|
|
144
|
-
unique_ptr<TableRef> SubqueryRef::
|
144
|
+
unique_ptr<TableRef> SubqueryRef::Deserialize(Deserializer &deserializer) {
|
145
145
|
auto result = duckdb::unique_ptr<SubqueryRef>(new SubqueryRef());
|
146
146
|
deserializer.ReadProperty(200, "subquery", result->subquery);
|
147
147
|
deserializer.ReadProperty(201, "column_name_alias", result->column_name_alias);
|
148
148
|
return std::move(result);
|
149
149
|
}
|
150
150
|
|
151
|
-
void TableFunctionRef::
|
152
|
-
TableRef::
|
151
|
+
void TableFunctionRef::Serialize(Serializer &serializer) const {
|
152
|
+
TableRef::Serialize(serializer);
|
153
153
|
serializer.WriteProperty(200, "function", function);
|
154
154
|
serializer.WriteProperty(201, "column_name_alias", column_name_alias);
|
155
155
|
}
|
156
156
|
|
157
|
-
unique_ptr<TableRef> TableFunctionRef::
|
157
|
+
unique_ptr<TableRef> TableFunctionRef::Deserialize(Deserializer &deserializer) {
|
158
158
|
auto result = duckdb::unique_ptr<TableFunctionRef>(new TableFunctionRef());
|
159
159
|
deserializer.ReadProperty(200, "function", result->function);
|
160
160
|
deserializer.ReadProperty(201, "column_name_alias", result->column_name_alias);
|
@@ -3,30 +3,30 @@
|
|
3
3
|
// Do not edit this file manually, your changes will be overwritten
|
4
4
|
//===----------------------------------------------------------------------===//
|
5
5
|
|
6
|
-
#include "duckdb/common/serializer/
|
7
|
-
#include "duckdb/common/serializer/
|
6
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
7
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
8
8
|
#include "duckdb/common/extra_type_info.hpp"
|
9
9
|
|
10
10
|
namespace duckdb {
|
11
11
|
|
12
|
-
void ExtraTypeInfo::
|
12
|
+
void ExtraTypeInfo::Serialize(Serializer &serializer) const {
|
13
13
|
serializer.WriteProperty(100, "type", type);
|
14
14
|
serializer.WriteProperty(101, "alias", alias);
|
15
15
|
}
|
16
16
|
|
17
|
-
shared_ptr<ExtraTypeInfo> ExtraTypeInfo::
|
17
|
+
shared_ptr<ExtraTypeInfo> ExtraTypeInfo::Deserialize(Deserializer &deserializer) {
|
18
18
|
auto type = deserializer.ReadProperty<ExtraTypeInfoType>(100, "type");
|
19
19
|
auto alias = deserializer.ReadProperty<string>(101, "alias");
|
20
20
|
shared_ptr<ExtraTypeInfo> result;
|
21
21
|
switch (type) {
|
22
22
|
case ExtraTypeInfoType::AGGREGATE_STATE_TYPE_INFO:
|
23
|
-
result = AggregateStateTypeInfo::
|
23
|
+
result = AggregateStateTypeInfo::Deserialize(deserializer);
|
24
24
|
break;
|
25
25
|
case ExtraTypeInfoType::DECIMAL_TYPE_INFO:
|
26
|
-
result = DecimalTypeInfo::
|
26
|
+
result = DecimalTypeInfo::Deserialize(deserializer);
|
27
27
|
break;
|
28
28
|
case ExtraTypeInfoType::ENUM_TYPE_INFO:
|
29
|
-
result = EnumTypeInfo::
|
29
|
+
result = EnumTypeInfo::Deserialize(deserializer);
|
30
30
|
break;
|
31
31
|
case ExtraTypeInfoType::GENERIC_TYPE_INFO:
|
32
32
|
result = make_shared<ExtraTypeInfo>(type);
|
@@ -34,16 +34,16 @@ shared_ptr<ExtraTypeInfo> ExtraTypeInfo::FormatDeserialize(FormatDeserializer &d
|
|
34
34
|
case ExtraTypeInfoType::INVALID_TYPE_INFO:
|
35
35
|
return nullptr;
|
36
36
|
case ExtraTypeInfoType::LIST_TYPE_INFO:
|
37
|
-
result = ListTypeInfo::
|
37
|
+
result = ListTypeInfo::Deserialize(deserializer);
|
38
38
|
break;
|
39
39
|
case ExtraTypeInfoType::STRING_TYPE_INFO:
|
40
|
-
result = StringTypeInfo::
|
40
|
+
result = StringTypeInfo::Deserialize(deserializer);
|
41
41
|
break;
|
42
42
|
case ExtraTypeInfoType::STRUCT_TYPE_INFO:
|
43
|
-
result = StructTypeInfo::
|
43
|
+
result = StructTypeInfo::Deserialize(deserializer);
|
44
44
|
break;
|
45
45
|
case ExtraTypeInfoType::USER_TYPE_INFO:
|
46
|
-
result = UserTypeInfo::
|
46
|
+
result = UserTypeInfo::Deserialize(deserializer);
|
47
47
|
break;
|
48
48
|
default:
|
49
49
|
throw SerializationException("Unsupported type for deserialization of ExtraTypeInfo!");
|
@@ -52,14 +52,14 @@ shared_ptr<ExtraTypeInfo> ExtraTypeInfo::FormatDeserialize(FormatDeserializer &d
|
|
52
52
|
return result;
|
53
53
|
}
|
54
54
|
|
55
|
-
void AggregateStateTypeInfo::
|
56
|
-
ExtraTypeInfo::
|
55
|
+
void AggregateStateTypeInfo::Serialize(Serializer &serializer) const {
|
56
|
+
ExtraTypeInfo::Serialize(serializer);
|
57
57
|
serializer.WriteProperty(200, "function_name", state_type.function_name);
|
58
58
|
serializer.WriteProperty(201, "return_type", state_type.return_type);
|
59
59
|
serializer.WriteProperty(202, "bound_argument_types", state_type.bound_argument_types);
|
60
60
|
}
|
61
61
|
|
62
|
-
shared_ptr<ExtraTypeInfo> AggregateStateTypeInfo::
|
62
|
+
shared_ptr<ExtraTypeInfo> AggregateStateTypeInfo::Deserialize(Deserializer &deserializer) {
|
63
63
|
auto result = duckdb::shared_ptr<AggregateStateTypeInfo>(new AggregateStateTypeInfo());
|
64
64
|
deserializer.ReadProperty(200, "function_name", result->state_type.function_name);
|
65
65
|
deserializer.ReadProperty(201, "return_type", result->state_type.return_type);
|
@@ -67,58 +67,58 @@ shared_ptr<ExtraTypeInfo> AggregateStateTypeInfo::FormatDeserialize(FormatDeseri
|
|
67
67
|
return std::move(result);
|
68
68
|
}
|
69
69
|
|
70
|
-
void DecimalTypeInfo::
|
71
|
-
ExtraTypeInfo::
|
70
|
+
void DecimalTypeInfo::Serialize(Serializer &serializer) const {
|
71
|
+
ExtraTypeInfo::Serialize(serializer);
|
72
72
|
serializer.WriteProperty(200, "width", width);
|
73
73
|
serializer.WriteProperty(201, "scale", scale);
|
74
74
|
}
|
75
75
|
|
76
|
-
shared_ptr<ExtraTypeInfo> DecimalTypeInfo::
|
76
|
+
shared_ptr<ExtraTypeInfo> DecimalTypeInfo::Deserialize(Deserializer &deserializer) {
|
77
77
|
auto result = duckdb::shared_ptr<DecimalTypeInfo>(new DecimalTypeInfo());
|
78
78
|
deserializer.ReadProperty(200, "width", result->width);
|
79
79
|
deserializer.ReadProperty(201, "scale", result->scale);
|
80
80
|
return std::move(result);
|
81
81
|
}
|
82
82
|
|
83
|
-
void ListTypeInfo::
|
84
|
-
ExtraTypeInfo::
|
83
|
+
void ListTypeInfo::Serialize(Serializer &serializer) const {
|
84
|
+
ExtraTypeInfo::Serialize(serializer);
|
85
85
|
serializer.WriteProperty(200, "child_type", child_type);
|
86
86
|
}
|
87
87
|
|
88
|
-
shared_ptr<ExtraTypeInfo> ListTypeInfo::
|
88
|
+
shared_ptr<ExtraTypeInfo> ListTypeInfo::Deserialize(Deserializer &deserializer) {
|
89
89
|
auto result = duckdb::shared_ptr<ListTypeInfo>(new ListTypeInfo());
|
90
90
|
deserializer.ReadProperty(200, "child_type", result->child_type);
|
91
91
|
return std::move(result);
|
92
92
|
}
|
93
93
|
|
94
|
-
void StringTypeInfo::
|
95
|
-
ExtraTypeInfo::
|
94
|
+
void StringTypeInfo::Serialize(Serializer &serializer) const {
|
95
|
+
ExtraTypeInfo::Serialize(serializer);
|
96
96
|
serializer.WriteProperty(200, "collation", collation);
|
97
97
|
}
|
98
98
|
|
99
|
-
shared_ptr<ExtraTypeInfo> StringTypeInfo::
|
99
|
+
shared_ptr<ExtraTypeInfo> StringTypeInfo::Deserialize(Deserializer &deserializer) {
|
100
100
|
auto result = duckdb::shared_ptr<StringTypeInfo>(new StringTypeInfo());
|
101
101
|
deserializer.ReadProperty(200, "collation", result->collation);
|
102
102
|
return std::move(result);
|
103
103
|
}
|
104
104
|
|
105
|
-
void StructTypeInfo::
|
106
|
-
ExtraTypeInfo::
|
105
|
+
void StructTypeInfo::Serialize(Serializer &serializer) const {
|
106
|
+
ExtraTypeInfo::Serialize(serializer);
|
107
107
|
serializer.WriteProperty(200, "child_types", child_types);
|
108
108
|
}
|
109
109
|
|
110
|
-
shared_ptr<ExtraTypeInfo> StructTypeInfo::
|
110
|
+
shared_ptr<ExtraTypeInfo> StructTypeInfo::Deserialize(Deserializer &deserializer) {
|
111
111
|
auto result = duckdb::shared_ptr<StructTypeInfo>(new StructTypeInfo());
|
112
112
|
deserializer.ReadProperty(200, "child_types", result->child_types);
|
113
113
|
return std::move(result);
|
114
114
|
}
|
115
115
|
|
116
|
-
void UserTypeInfo::
|
117
|
-
ExtraTypeInfo::
|
116
|
+
void UserTypeInfo::Serialize(Serializer &serializer) const {
|
117
|
+
ExtraTypeInfo::Serialize(serializer);
|
118
118
|
serializer.WriteProperty(200, "user_type_name", user_type_name);
|
119
119
|
}
|
120
120
|
|
121
|
-
shared_ptr<ExtraTypeInfo> UserTypeInfo::
|
121
|
+
shared_ptr<ExtraTypeInfo> UserTypeInfo::Deserialize(Deserializer &deserializer) {
|
122
122
|
auto result = duckdb::shared_ptr<UserTypeInfo>(new UserTypeInfo());
|
123
123
|
deserializer.ReadProperty(200, "user_type_name", result->user_type_name);
|
124
124
|
return std::move(result);
|
@@ -3,9 +3,7 @@
|
|
3
3
|
#include "duckdb/common/allocator.hpp"
|
4
4
|
#include "duckdb/common/checksum.hpp"
|
5
5
|
#include "duckdb/common/exception.hpp"
|
6
|
-
#include "duckdb/common/serializer/
|
7
|
-
#include "duckdb/common/serializer/buffered_serializer.hpp"
|
8
|
-
#include "duckdb/common/field_writer.hpp"
|
6
|
+
#include "duckdb/common/serializer/memory_stream.hpp"
|
9
7
|
#include "duckdb/storage/metadata/metadata_reader.hpp"
|
10
8
|
#include "duckdb/storage/metadata/metadata_writer.hpp"
|
11
9
|
#include "duckdb/storage/buffer_manager.hpp"
|
@@ -18,14 +16,12 @@ namespace duckdb {
|
|
18
16
|
|
19
17
|
const char MainHeader::MAGIC_BYTES[] = "DUCK";
|
20
18
|
|
21
|
-
void MainHeader::
|
19
|
+
void MainHeader::Write(WriteStream &ser) {
|
22
20
|
ser.WriteData(const_data_ptr_cast(MAGIC_BYTES), MAGIC_BYTE_SIZE);
|
23
21
|
ser.Write<uint64_t>(version_number);
|
24
|
-
FieldWriter writer(ser);
|
25
22
|
for (idx_t i = 0; i < FLAG_COUNT; i++) {
|
26
|
-
|
23
|
+
ser.Write<uint64_t>(flags[i]);
|
27
24
|
}
|
28
|
-
writer.Finalize();
|
29
25
|
}
|
30
26
|
|
31
27
|
void MainHeader::CheckMagicBytes(FileHandle &handle) {
|
@@ -39,7 +35,7 @@ void MainHeader::CheckMagicBytes(FileHandle &handle) {
|
|
39
35
|
}
|
40
36
|
}
|
41
37
|
|
42
|
-
MainHeader MainHeader::
|
38
|
+
MainHeader MainHeader::Read(ReadStream &source) {
|
43
39
|
data_t magic_bytes[MAGIC_BYTE_SIZE];
|
44
40
|
MainHeader header;
|
45
41
|
source.ReadData(magic_bytes, MainHeader::MAGIC_BYTE_SIZE);
|
@@ -71,22 +67,20 @@ MainHeader MainHeader::Deserialize(Deserializer &source) {
|
|
71
67
|
header.version_number, VERSION_NUMBER, version_text);
|
72
68
|
}
|
73
69
|
// read the flags
|
74
|
-
FieldReader reader(source);
|
75
70
|
for (idx_t i = 0; i < FLAG_COUNT; i++) {
|
76
|
-
header.flags[i] =
|
71
|
+
header.flags[i] = source.Read<uint64_t>();
|
77
72
|
}
|
78
|
-
reader.Finalize();
|
79
73
|
return header;
|
80
74
|
}
|
81
75
|
|
82
|
-
void DatabaseHeader::
|
76
|
+
void DatabaseHeader::Write(WriteStream &ser) {
|
83
77
|
ser.Write<uint64_t>(iteration);
|
84
78
|
ser.Write<idx_t>(meta_block);
|
85
79
|
ser.Write<idx_t>(free_list);
|
86
80
|
ser.Write<uint64_t>(block_count);
|
87
81
|
}
|
88
82
|
|
89
|
-
DatabaseHeader DatabaseHeader::
|
83
|
+
DatabaseHeader DatabaseHeader::Read(ReadStream &source) {
|
90
84
|
DatabaseHeader header;
|
91
85
|
header.iteration = source.Read<uint64_t>();
|
92
86
|
header.meta_block = source.Read<idx_t>();
|
@@ -97,14 +91,14 @@ DatabaseHeader DatabaseHeader::Deserialize(Deserializer &source) {
|
|
97
91
|
|
98
92
|
template <class T>
|
99
93
|
void SerializeHeaderStructure(T header, data_ptr_t ptr) {
|
100
|
-
|
101
|
-
header.
|
94
|
+
MemoryStream ser(ptr, Storage::FILE_HEADER_SIZE);
|
95
|
+
header.Write(ser);
|
102
96
|
}
|
103
97
|
|
104
98
|
template <class T>
|
105
99
|
T DeserializeHeaderStructure(data_ptr_t ptr) {
|
106
|
-
|
107
|
-
return T::
|
100
|
+
MemoryStream source(ptr, Storage::FILE_HEADER_SIZE);
|
101
|
+
return T::Read(source);
|
108
102
|
}
|
109
103
|
|
110
104
|
SingleFileBlockManager::SingleFileBlockManager(AttachedDatabase &db, string path_p, StorageManagerOptions options)
|
@@ -246,6 +240,7 @@ void SingleFileBlockManager::LoadFreeList() {
|
|
246
240
|
// no free list
|
247
241
|
return;
|
248
242
|
}
|
243
|
+
|
249
244
|
MetadataReader reader(GetMetadataManager(), free_pointer, BlockReaderType::REGISTER_BLOCKS);
|
250
245
|
auto free_list_count = reader.Read<uint64_t>();
|
251
246
|
free_list.clear();
|
@@ -259,7 +254,7 @@ void SingleFileBlockManager::LoadFreeList() {
|
|
259
254
|
auto usage_count = reader.Read<uint32_t>();
|
260
255
|
multi_use_blocks[block_id] = usage_count;
|
261
256
|
}
|
262
|
-
GetMetadataManager().
|
257
|
+
GetMetadataManager().Read(reader);
|
263
258
|
GetMetadataManager().MarkBlocksAsModified();
|
264
259
|
}
|
265
260
|
|
@@ -466,7 +461,7 @@ void SingleFileBlockManager::WriteHeader(DatabaseHeader header) {
|
|
466
461
|
writer.Write<block_id_t>(entry.first);
|
467
462
|
writer.Write<uint32_t>(entry.second);
|
468
463
|
}
|
469
|
-
GetMetadataManager().
|
464
|
+
GetMetadataManager().Write(writer);
|
470
465
|
writer.Flush();
|
471
466
|
} else {
|
472
467
|
// no blocks in the free list
|
@@ -487,9 +482,9 @@ void SingleFileBlockManager::WriteHeader(DatabaseHeader header) {
|
|
487
482
|
}
|
488
483
|
// set the header inside the buffer
|
489
484
|
header_buffer.Clear();
|
490
|
-
|
491
|
-
header.
|
492
|
-
memcpy(header_buffer.buffer, serializer.
|
485
|
+
MemoryStream serializer;
|
486
|
+
header.Write(serializer);
|
487
|
+
memcpy(header_buffer.buffer, serializer.GetData(), serializer.GetPosition());
|
493
488
|
// now write the header to the file, active_header determines whether we write to h1 or h2
|
494
489
|
// note that if active_header is h1 we write to h2, and vice versa
|
495
490
|
ChecksumAndWrite(header_buffer, active_header == 1 ? Storage::FILE_HEADER_SIZE : Storage::FILE_HEADER_SIZE * 2);
|