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
@@ -1,379 +0,0 @@
|
|
1
|
-
//===----------------------------------------------------------------------===//
|
2
|
-
// DuckDB
|
3
|
-
//
|
4
|
-
// duckdb/common/field_writer.hpp
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//===----------------------------------------------------------------------===//
|
8
|
-
|
9
|
-
#pragma once
|
10
|
-
|
11
|
-
#include "duckdb/common/serializer.hpp"
|
12
|
-
#include "duckdb/common/set.hpp"
|
13
|
-
#include "duckdb/common/serializer/buffered_serializer.hpp"
|
14
|
-
#include <type_traits>
|
15
|
-
|
16
|
-
namespace duckdb {
|
17
|
-
class BufferedSerializer;
|
18
|
-
|
19
|
-
struct IndexWriteOperation {
|
20
|
-
template <class SRC, class DST>
|
21
|
-
static DST Operation(SRC input) {
|
22
|
-
return input.index;
|
23
|
-
}
|
24
|
-
};
|
25
|
-
|
26
|
-
class FieldWriter {
|
27
|
-
public:
|
28
|
-
DUCKDB_API explicit FieldWriter(Serializer &serializer);
|
29
|
-
DUCKDB_API ~FieldWriter();
|
30
|
-
|
31
|
-
public:
|
32
|
-
template <class T>
|
33
|
-
void WriteField(const T &element) {
|
34
|
-
static_assert(std::is_trivially_destructible<T>(), "WriteField object must be trivially destructible");
|
35
|
-
|
36
|
-
AddField();
|
37
|
-
WriteData(const_data_ptr_cast(&element), sizeof(T));
|
38
|
-
}
|
39
|
-
|
40
|
-
//! Write a string with a length prefix
|
41
|
-
void WriteString(const string &val) {
|
42
|
-
WriteStringLen(const_data_ptr_cast(val.c_str()), val.size());
|
43
|
-
}
|
44
|
-
void WriteStringLen(const_data_ptr_t val, idx_t len) {
|
45
|
-
AddField();
|
46
|
-
Write<uint32_t>((uint32_t)len);
|
47
|
-
if (len > 0) {
|
48
|
-
WriteData(val, len);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
void WriteBlob(const_data_ptr_t val, idx_t len) {
|
52
|
-
AddField();
|
53
|
-
if (len > 0) {
|
54
|
-
WriteData(val, len);
|
55
|
-
}
|
56
|
-
}
|
57
|
-
|
58
|
-
template <class T, class CONTAINER_TYPE = vector<T>>
|
59
|
-
void WriteList(const CONTAINER_TYPE &elements) {
|
60
|
-
AddField();
|
61
|
-
Write<uint32_t>(elements.size());
|
62
|
-
for (auto &element : elements) {
|
63
|
-
Write<T>(element);
|
64
|
-
}
|
65
|
-
}
|
66
|
-
|
67
|
-
template <class T, class SRC, class OP, class CONTAINER_TYPE = vector<SRC>>
|
68
|
-
void WriteGenericList(const CONTAINER_TYPE &elements) {
|
69
|
-
AddField();
|
70
|
-
Write<uint32_t>(elements.size());
|
71
|
-
for (auto &element : elements) {
|
72
|
-
Write<T>(OP::template Operation<SRC, T>(element));
|
73
|
-
}
|
74
|
-
}
|
75
|
-
|
76
|
-
template <class T>
|
77
|
-
void WriteIndexList(const vector<T> &elements) {
|
78
|
-
WriteGenericList<idx_t, T, IndexWriteOperation>(elements);
|
79
|
-
}
|
80
|
-
|
81
|
-
// vector<bool> yay
|
82
|
-
template <class T, class CONTAINER_TYPE = vector<T>>
|
83
|
-
void WriteListNoReference(const CONTAINER_TYPE &elements) {
|
84
|
-
AddField();
|
85
|
-
Write<uint32_t>(elements.size());
|
86
|
-
for (auto element : elements) {
|
87
|
-
Write<T>(element);
|
88
|
-
}
|
89
|
-
}
|
90
|
-
|
91
|
-
template <class T>
|
92
|
-
void WriteSerializable(const T &element) {
|
93
|
-
AddField();
|
94
|
-
element.Serialize(*buffer);
|
95
|
-
}
|
96
|
-
|
97
|
-
template <class T>
|
98
|
-
void WriteSerializableList(const vector<unique_ptr<T>> &elements) {
|
99
|
-
AddField();
|
100
|
-
Write<uint32_t>(elements.size());
|
101
|
-
for (idx_t i = 0; i < elements.size(); i++) {
|
102
|
-
elements[i]->Serialize(*buffer);
|
103
|
-
}
|
104
|
-
}
|
105
|
-
|
106
|
-
template <class T>
|
107
|
-
void WriteRegularSerializableList(const vector<T> &elements) {
|
108
|
-
AddField();
|
109
|
-
Write<uint32_t>(elements.size());
|
110
|
-
for (idx_t i = 0; i < elements.size(); i++) {
|
111
|
-
elements[i].Serialize(*buffer);
|
112
|
-
}
|
113
|
-
}
|
114
|
-
|
115
|
-
template <class T>
|
116
|
-
void WriteOptional(const unique_ptr<T> &element) {
|
117
|
-
AddField();
|
118
|
-
Write<bool>(element ? true : false);
|
119
|
-
if (element) {
|
120
|
-
element->Serialize(*buffer);
|
121
|
-
}
|
122
|
-
}
|
123
|
-
|
124
|
-
// Called after all fields have been written. Should always be called.
|
125
|
-
DUCKDB_API void Finalize();
|
126
|
-
|
127
|
-
Serializer &GetSerializer() {
|
128
|
-
return *buffer;
|
129
|
-
}
|
130
|
-
|
131
|
-
void AddField() {
|
132
|
-
field_count++;
|
133
|
-
}
|
134
|
-
|
135
|
-
private:
|
136
|
-
template <class T>
|
137
|
-
void Write(const T &element) {
|
138
|
-
WriteData(const_data_ptr_cast(&element), sizeof(T));
|
139
|
-
}
|
140
|
-
|
141
|
-
DUCKDB_API void WriteData(const_data_ptr_t buffer, idx_t write_size);
|
142
|
-
|
143
|
-
private:
|
144
|
-
Serializer &serializer;
|
145
|
-
unique_ptr<BufferedSerializer> buffer;
|
146
|
-
idx_t field_count;
|
147
|
-
bool finalized;
|
148
|
-
};
|
149
|
-
|
150
|
-
template <>
|
151
|
-
DUCKDB_API void FieldWriter::Write(const string &val);
|
152
|
-
|
153
|
-
class FieldDeserializer : public Deserializer {
|
154
|
-
public:
|
155
|
-
explicit FieldDeserializer(Deserializer &root);
|
156
|
-
|
157
|
-
public:
|
158
|
-
void ReadData(data_ptr_t buffer, idx_t read_size) override;
|
159
|
-
|
160
|
-
void SetRemainingData(idx_t remaining_data);
|
161
|
-
idx_t RemainingData();
|
162
|
-
Deserializer &GetRoot() {
|
163
|
-
return root;
|
164
|
-
}
|
165
|
-
|
166
|
-
ClientContext &GetContext() override {
|
167
|
-
return root.GetContext();
|
168
|
-
}
|
169
|
-
|
170
|
-
private:
|
171
|
-
Deserializer &root;
|
172
|
-
idx_t remaining_data;
|
173
|
-
};
|
174
|
-
|
175
|
-
struct IndexReadOperation {
|
176
|
-
template <class SRC, class DST>
|
177
|
-
static DST Operation(SRC input) {
|
178
|
-
return DST(input);
|
179
|
-
}
|
180
|
-
};
|
181
|
-
|
182
|
-
class FieldReader {
|
183
|
-
public:
|
184
|
-
DUCKDB_API explicit FieldReader(Deserializer &source);
|
185
|
-
DUCKDB_API ~FieldReader();
|
186
|
-
|
187
|
-
public:
|
188
|
-
template <class T>
|
189
|
-
T ReadRequired() {
|
190
|
-
if (field_count >= max_field_count) {
|
191
|
-
// field is not there, throw an exception
|
192
|
-
throw SerializationException("Attempting to read a required field, but field is missing");
|
193
|
-
}
|
194
|
-
// field is there, read the actual value
|
195
|
-
AddField();
|
196
|
-
return source.Read<T>();
|
197
|
-
}
|
198
|
-
|
199
|
-
template <class T>
|
200
|
-
T ReadField(T default_value) {
|
201
|
-
if (field_count >= max_field_count) {
|
202
|
-
// field is not there, read the default value
|
203
|
-
return default_value;
|
204
|
-
}
|
205
|
-
// field is there, read the actual value
|
206
|
-
AddField();
|
207
|
-
return source.Read<T>();
|
208
|
-
}
|
209
|
-
|
210
|
-
template <class T, class CONTAINER_TYPE = vector<T>>
|
211
|
-
bool ReadList(CONTAINER_TYPE &result) {
|
212
|
-
if (field_count >= max_field_count) {
|
213
|
-
// field is not there, return false and leave the result empty
|
214
|
-
return false;
|
215
|
-
}
|
216
|
-
AddField();
|
217
|
-
auto result_count = source.Read<uint32_t>();
|
218
|
-
result.reserve(result_count);
|
219
|
-
for (idx_t i = 0; i < result_count; i++) {
|
220
|
-
result.push_back(source.Read<T>());
|
221
|
-
}
|
222
|
-
return true;
|
223
|
-
}
|
224
|
-
|
225
|
-
template <class T, class CONTAINER_TYPE = vector<T>>
|
226
|
-
CONTAINER_TYPE ReadRequiredList() {
|
227
|
-
if (field_count >= max_field_count) {
|
228
|
-
// field is not there, throw an exception
|
229
|
-
throw SerializationException("Attempting to read a required field, but field is missing");
|
230
|
-
}
|
231
|
-
AddField();
|
232
|
-
auto result_count = source.Read<uint32_t>();
|
233
|
-
CONTAINER_TYPE result;
|
234
|
-
result.reserve(result_count);
|
235
|
-
for (idx_t i = 0; i < result_count; i++) {
|
236
|
-
result.push_back(source.Read<T>());
|
237
|
-
}
|
238
|
-
return result;
|
239
|
-
}
|
240
|
-
|
241
|
-
template <class T, class SRC, class OP>
|
242
|
-
vector<T> ReadRequiredGenericList() {
|
243
|
-
if (field_count >= max_field_count) {
|
244
|
-
// field is not there, throw an exception
|
245
|
-
throw SerializationException("Attempting to read a required field, but field is missing");
|
246
|
-
}
|
247
|
-
AddField();
|
248
|
-
auto result_count = source.Read<uint32_t>();
|
249
|
-
vector<T> result;
|
250
|
-
result.reserve(result_count);
|
251
|
-
for (idx_t i = 0; i < result_count; i++) {
|
252
|
-
result.push_back(OP::template Operation<SRC, T>(source.Read<SRC>()));
|
253
|
-
}
|
254
|
-
return result;
|
255
|
-
}
|
256
|
-
|
257
|
-
template <class T>
|
258
|
-
vector<T> ReadRequiredIndexList() {
|
259
|
-
return ReadRequiredGenericList<T, idx_t, IndexReadOperation>();
|
260
|
-
}
|
261
|
-
|
262
|
-
template <class T, class CONTAINER_TYPE = set<T>>
|
263
|
-
CONTAINER_TYPE ReadRequiredSet() {
|
264
|
-
if (field_count >= max_field_count) {
|
265
|
-
// field is not there, throw an exception
|
266
|
-
throw SerializationException("Attempting to read a required field, but field is missing");
|
267
|
-
}
|
268
|
-
AddField();
|
269
|
-
auto result_count = source.Read<uint32_t>();
|
270
|
-
CONTAINER_TYPE result;
|
271
|
-
for (idx_t i = 0; i < result_count; i++) {
|
272
|
-
result.insert(source.Read<T>());
|
273
|
-
}
|
274
|
-
return result;
|
275
|
-
}
|
276
|
-
|
277
|
-
template <class T, typename... ARGS>
|
278
|
-
unique_ptr<T> ReadOptional(unique_ptr<T> default_value, ARGS &&... args) {
|
279
|
-
if (field_count >= max_field_count) {
|
280
|
-
// field is not there, read the default value
|
281
|
-
return default_value;
|
282
|
-
}
|
283
|
-
// field is there, read the actual value
|
284
|
-
AddField();
|
285
|
-
return source.template ReadOptional<T>(std::forward<ARGS>(args)...);
|
286
|
-
}
|
287
|
-
|
288
|
-
template <class T, class RETURN_TYPE = unique_ptr<T>>
|
289
|
-
RETURN_TYPE ReadSerializable(RETURN_TYPE default_value) {
|
290
|
-
if (field_count >= max_field_count) {
|
291
|
-
// field is not there, read the default value
|
292
|
-
return default_value;
|
293
|
-
}
|
294
|
-
// field is there, read the actual value
|
295
|
-
AddField();
|
296
|
-
return T::Deserialize(source);
|
297
|
-
}
|
298
|
-
|
299
|
-
template <class T, class RETURN_TYPE = unique_ptr<T>, typename... ARGS>
|
300
|
-
RETURN_TYPE ReadSerializable(RETURN_TYPE default_value, ARGS &&... args) {
|
301
|
-
if (field_count >= max_field_count) {
|
302
|
-
// field is not there, read the default value
|
303
|
-
return default_value;
|
304
|
-
}
|
305
|
-
// field is there, read the actual value
|
306
|
-
AddField();
|
307
|
-
return T::Deserialize(source, std::forward<ARGS>(args)...);
|
308
|
-
}
|
309
|
-
|
310
|
-
template <class T, class RETURN_TYPE = unique_ptr<T>>
|
311
|
-
RETURN_TYPE ReadRequiredSerializable() {
|
312
|
-
if (field_count >= max_field_count) {
|
313
|
-
// field is not there, throw an exception
|
314
|
-
throw SerializationException("Attempting to read mandatory field, but field is missing");
|
315
|
-
}
|
316
|
-
// field is there, read the actual value
|
317
|
-
AddField();
|
318
|
-
return T::Deserialize(source);
|
319
|
-
}
|
320
|
-
|
321
|
-
template <class T, class RETURN_TYPE = unique_ptr<T>, typename... ARGS>
|
322
|
-
RETURN_TYPE ReadRequiredSerializable(ARGS &&... args) {
|
323
|
-
if (field_count >= max_field_count) {
|
324
|
-
// field is not there, throw an exception
|
325
|
-
throw SerializationException("Attempting to read mandatory field, but field is missing");
|
326
|
-
}
|
327
|
-
// field is there, read the actual value
|
328
|
-
AddField();
|
329
|
-
return T::Deserialize(source, std::forward<ARGS>(args)...);
|
330
|
-
}
|
331
|
-
|
332
|
-
template <class T, class RETURN_TYPE = unique_ptr<T>, typename... ARGS>
|
333
|
-
vector<RETURN_TYPE> ReadRequiredSerializableList(ARGS &&... args) {
|
334
|
-
if (field_count >= max_field_count) {
|
335
|
-
// field is not there, throw an exception
|
336
|
-
throw SerializationException("Attempting to read mandatory field, but field is missing");
|
337
|
-
}
|
338
|
-
// field is there, read the actual value
|
339
|
-
AddField();
|
340
|
-
auto result_count = source.Read<uint32_t>();
|
341
|
-
|
342
|
-
vector<RETURN_TYPE> result;
|
343
|
-
for (idx_t i = 0; i < result_count; i++) {
|
344
|
-
result.push_back(T::Deserialize(source, std::forward<ARGS>(args)...));
|
345
|
-
}
|
346
|
-
return result;
|
347
|
-
}
|
348
|
-
|
349
|
-
void ReadBlob(data_ptr_t result, idx_t read_size) {
|
350
|
-
if (field_count >= max_field_count) {
|
351
|
-
// field is not there, throw an exception
|
352
|
-
throw SerializationException("Attempting to read a required field, but field is missing");
|
353
|
-
}
|
354
|
-
// field is there, read the actual value
|
355
|
-
AddField();
|
356
|
-
source.ReadData(result, read_size);
|
357
|
-
}
|
358
|
-
|
359
|
-
//! Called after all fields have been read. Should always be called.
|
360
|
-
DUCKDB_API void Finalize();
|
361
|
-
|
362
|
-
Deserializer &GetSource() {
|
363
|
-
return source;
|
364
|
-
}
|
365
|
-
|
366
|
-
private:
|
367
|
-
void AddField() {
|
368
|
-
field_count++;
|
369
|
-
}
|
370
|
-
|
371
|
-
private:
|
372
|
-
FieldDeserializer source;
|
373
|
-
idx_t field_count;
|
374
|
-
idx_t max_field_count;
|
375
|
-
idx_t total_size;
|
376
|
-
bool finalized;
|
377
|
-
};
|
378
|
-
|
379
|
-
} // namespace duckdb
|
@@ -1,41 +0,0 @@
|
|
1
|
-
//===----------------------------------------------------------------------===//
|
2
|
-
// DuckDB
|
3
|
-
//
|
4
|
-
// duckdb/common/serializer/buffered_deserializer.hpp
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//===----------------------------------------------------------------------===//
|
8
|
-
|
9
|
-
#pragma once
|
10
|
-
|
11
|
-
#include "duckdb/common/serializer.hpp"
|
12
|
-
#include "duckdb/common/serializer/buffered_serializer.hpp"
|
13
|
-
|
14
|
-
namespace duckdb {
|
15
|
-
class ClientContext;
|
16
|
-
|
17
|
-
class BufferedDeserializer : public Deserializer {
|
18
|
-
public:
|
19
|
-
BufferedDeserializer(data_ptr_t ptr, idx_t data_size);
|
20
|
-
explicit BufferedDeserializer(BufferedSerializer &serializer);
|
21
|
-
|
22
|
-
data_ptr_t ptr;
|
23
|
-
data_ptr_t endptr;
|
24
|
-
|
25
|
-
public:
|
26
|
-
void ReadData(data_ptr_t buffer, uint64_t read_size) override;
|
27
|
-
};
|
28
|
-
|
29
|
-
class BufferedContextDeserializer : public BufferedDeserializer {
|
30
|
-
public:
|
31
|
-
BufferedContextDeserializer(ClientContext &context_p, data_ptr_t ptr, idx_t data_size)
|
32
|
-
: BufferedDeserializer(ptr, data_size), context(context_p) {
|
33
|
-
}
|
34
|
-
|
35
|
-
public:
|
36
|
-
ClientContext &context;
|
37
|
-
|
38
|
-
ClientContext &GetContext() override;
|
39
|
-
};
|
40
|
-
|
41
|
-
} // namespace duckdb
|
@@ -1,50 +0,0 @@
|
|
1
|
-
//===----------------------------------------------------------------------===//
|
2
|
-
// DuckDB
|
3
|
-
//
|
4
|
-
// duckdb/common/serializer/buffered_serializer.hpp
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//===----------------------------------------------------------------------===//
|
8
|
-
|
9
|
-
#pragma once
|
10
|
-
|
11
|
-
#include "duckdb/common/serializer.hpp"
|
12
|
-
#include "duckdb/common/unique_ptr.hpp"
|
13
|
-
|
14
|
-
namespace duckdb {
|
15
|
-
|
16
|
-
#define SERIALIZER_DEFAULT_SIZE 1024
|
17
|
-
|
18
|
-
struct BinaryData {
|
19
|
-
unsafe_unique_array<data_t> data;
|
20
|
-
idx_t size;
|
21
|
-
};
|
22
|
-
|
23
|
-
class BufferedSerializer : public Serializer {
|
24
|
-
public:
|
25
|
-
//! Serializes to a buffer allocated by the serializer, will expand when
|
26
|
-
//! writing past the initial threshold
|
27
|
-
DUCKDB_API explicit BufferedSerializer(idx_t maximum_size = SERIALIZER_DEFAULT_SIZE);
|
28
|
-
//! Serializes to a provided (owned) data pointer
|
29
|
-
BufferedSerializer(unsafe_unique_array<data_t> data, idx_t size);
|
30
|
-
BufferedSerializer(data_ptr_t data, idx_t size);
|
31
|
-
|
32
|
-
idx_t maximum_size;
|
33
|
-
data_ptr_t data;
|
34
|
-
|
35
|
-
BinaryData blob;
|
36
|
-
|
37
|
-
public:
|
38
|
-
void WriteData(const_data_ptr_t buffer, uint64_t write_size) override;
|
39
|
-
|
40
|
-
//! Retrieves the data after the writing has been completed
|
41
|
-
BinaryData GetData() {
|
42
|
-
return std::move(blob);
|
43
|
-
}
|
44
|
-
|
45
|
-
void Reset() {
|
46
|
-
blob.size = 0;
|
47
|
-
}
|
48
|
-
};
|
49
|
-
|
50
|
-
} // namespace duckdb
|
@@ -1,151 +0,0 @@
|
|
1
|
-
//===----------------------------------------------------------------------===//
|
2
|
-
// DuckDB
|
3
|
-
//
|
4
|
-
// duckdb/common/serializer.hpp
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//===----------------------------------------------------------------------===//
|
8
|
-
|
9
|
-
#pragma once
|
10
|
-
|
11
|
-
#include "duckdb/catalog/catalog.hpp"
|
12
|
-
#include "duckdb/common/common.hpp"
|
13
|
-
#include "duckdb/common/exception.hpp"
|
14
|
-
#include "duckdb/common/vector.hpp"
|
15
|
-
#include <type_traits>
|
16
|
-
|
17
|
-
namespace duckdb {
|
18
|
-
|
19
|
-
//! The Serialize class is a base class that can be used to serializing objects into a binary buffer
|
20
|
-
class Serializer {
|
21
|
-
private:
|
22
|
-
uint64_t version = 0L;
|
23
|
-
|
24
|
-
public:
|
25
|
-
virtual ~Serializer() {
|
26
|
-
}
|
27
|
-
|
28
|
-
//! Sets the version of the serialization that writers are expected to use
|
29
|
-
//! The version is mostly the most recent one, unless modifying old data or streaming to
|
30
|
-
//! an older version
|
31
|
-
void SetVersion(uint64_t v) {
|
32
|
-
D_ASSERT(this->version == 0); // version can only be set once
|
33
|
-
this->version = v;
|
34
|
-
}
|
35
|
-
|
36
|
-
//! Returns the version of serialization that writers are expected to use
|
37
|
-
uint64_t GetVersion() {
|
38
|
-
return version;
|
39
|
-
}
|
40
|
-
|
41
|
-
virtual void WriteData(const_data_ptr_t buffer, idx_t write_size) = 0;
|
42
|
-
|
43
|
-
template <class T>
|
44
|
-
void Write(T element) {
|
45
|
-
static_assert(std::is_trivially_destructible<T>(), "Write element must be trivially destructible");
|
46
|
-
|
47
|
-
WriteData(const_data_ptr_cast(&element), sizeof(T));
|
48
|
-
}
|
49
|
-
|
50
|
-
//! Write data from a string buffer directly (without length prefix)
|
51
|
-
void WriteBufferData(const string &str) {
|
52
|
-
WriteData(const_data_ptr_cast(str.c_str()), str.size());
|
53
|
-
}
|
54
|
-
//! Write a string with a length prefix
|
55
|
-
void WriteString(const string &val) {
|
56
|
-
WriteStringLen(const_data_ptr_cast(val.c_str()), val.size());
|
57
|
-
}
|
58
|
-
void WriteStringLen(const_data_ptr_t val, idx_t len) {
|
59
|
-
Write<uint32_t>((uint32_t)len);
|
60
|
-
if (len > 0) {
|
61
|
-
WriteData(val, len);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
|
65
|
-
template <class T>
|
66
|
-
void WriteList(const vector<unique_ptr<T>> &list) {
|
67
|
-
Write<uint32_t>((uint32_t)list.size());
|
68
|
-
for (auto &child : list) {
|
69
|
-
child->Serialize(*this);
|
70
|
-
}
|
71
|
-
}
|
72
|
-
|
73
|
-
void WriteStringVector(const vector<string> &list) {
|
74
|
-
Write<uint32_t>((uint32_t)list.size());
|
75
|
-
for (auto &child : list) {
|
76
|
-
WriteString(child);
|
77
|
-
}
|
78
|
-
}
|
79
|
-
|
80
|
-
template <class T>
|
81
|
-
void WriteOptional(const unique_ptr<T> &element) {
|
82
|
-
Write<bool>(element ? true : false);
|
83
|
-
if (element) {
|
84
|
-
element->Serialize(*this);
|
85
|
-
}
|
86
|
-
}
|
87
|
-
};
|
88
|
-
|
89
|
-
//! The Deserializer class assists in deserializing a binary blob back into an
|
90
|
-
//! object
|
91
|
-
class Deserializer {
|
92
|
-
private:
|
93
|
-
uint64_t version = 0L;
|
94
|
-
|
95
|
-
public:
|
96
|
-
virtual ~Deserializer() {
|
97
|
-
}
|
98
|
-
|
99
|
-
//! Sets the version of the serialization that readers are expected to use
|
100
|
-
//! The version is mostly the most recent one, unless reading old data or streaming from
|
101
|
-
//! an older version
|
102
|
-
void SetVersion(uint64_t v) {
|
103
|
-
D_ASSERT(this->version == 0); // version can only be set once
|
104
|
-
this->version = v;
|
105
|
-
}
|
106
|
-
|
107
|
-
//! Returns the version of serialization that readers are expected to use
|
108
|
-
uint64_t GetVersion() {
|
109
|
-
return version;
|
110
|
-
}
|
111
|
-
|
112
|
-
//! Reads [read_size] bytes into the buffer
|
113
|
-
virtual void ReadData(data_ptr_t buffer, idx_t read_size) = 0;
|
114
|
-
|
115
|
-
//! Gets the context for the deserializer
|
116
|
-
virtual ClientContext &GetContext() {
|
117
|
-
throw InternalException("This deserializer does not have a client-context");
|
118
|
-
};
|
119
|
-
|
120
|
-
template <class T>
|
121
|
-
T Read() {
|
122
|
-
T value;
|
123
|
-
ReadData(data_ptr_cast(&value), sizeof(T));
|
124
|
-
return value;
|
125
|
-
}
|
126
|
-
|
127
|
-
template <class T, typename... ARGS>
|
128
|
-
void ReadList(vector<unique_ptr<T>> &list, ARGS &&... args) {
|
129
|
-
auto select_count = Read<uint32_t>();
|
130
|
-
for (uint32_t i = 0; i < select_count; i++) {
|
131
|
-
auto child = T::Deserialize(*this, std::forward<ARGS>(args)...);
|
132
|
-
list.push_back(std::move(child));
|
133
|
-
}
|
134
|
-
}
|
135
|
-
|
136
|
-
template <class T, class RETURN_TYPE = T, typename... ARGS>
|
137
|
-
unique_ptr<RETURN_TYPE> ReadOptional(ARGS &&... args) {
|
138
|
-
auto has_entry = Read<bool>();
|
139
|
-
if (has_entry) {
|
140
|
-
return T::Deserialize(*this, std::forward<ARGS>(args)...);
|
141
|
-
}
|
142
|
-
return nullptr;
|
143
|
-
}
|
144
|
-
|
145
|
-
void ReadStringVector(vector<string> &list);
|
146
|
-
};
|
147
|
-
|
148
|
-
template <>
|
149
|
-
DUCKDB_API string Deserializer::Read();
|
150
|
-
|
151
|
-
} // namespace duckdb
|
@@ -1,44 +0,0 @@
|
|
1
|
-
//===----------------------------------------------------------------------===//
|
2
|
-
// DuckDB
|
3
|
-
//
|
4
|
-
// duckdb/planner/plan_serialization.hpp
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//===----------------------------------------------------------------------===//
|
8
|
-
|
9
|
-
#pragma once
|
10
|
-
|
11
|
-
#include "duckdb/common/enums/logical_operator_type.hpp"
|
12
|
-
#include "duckdb/common/enums/expression_type.hpp"
|
13
|
-
#include "duckdb/planner/bound_parameter_map.hpp"
|
14
|
-
|
15
|
-
namespace duckdb {
|
16
|
-
class ClientContext;
|
17
|
-
class LogicalOperator;
|
18
|
-
struct BoundParameterData;
|
19
|
-
|
20
|
-
struct PlanDeserializationState {
|
21
|
-
PlanDeserializationState(ClientContext &context);
|
22
|
-
~PlanDeserializationState();
|
23
|
-
|
24
|
-
ClientContext &context;
|
25
|
-
bound_parameter_map_t parameter_data;
|
26
|
-
};
|
27
|
-
|
28
|
-
struct LogicalDeserializationState {
|
29
|
-
LogicalDeserializationState(PlanDeserializationState &gstate, LogicalOperatorType type,
|
30
|
-
vector<unique_ptr<LogicalOperator>> &children);
|
31
|
-
|
32
|
-
PlanDeserializationState &gstate;
|
33
|
-
LogicalOperatorType type;
|
34
|
-
vector<unique_ptr<LogicalOperator>> &children;
|
35
|
-
};
|
36
|
-
|
37
|
-
struct ExpressionDeserializationState {
|
38
|
-
ExpressionDeserializationState(PlanDeserializationState &gstate, ExpressionType type);
|
39
|
-
|
40
|
-
PlanDeserializationState &gstate;
|
41
|
-
ExpressionType type;
|
42
|
-
};
|
43
|
-
|
44
|
-
} // namespace duckdb
|
@@ -1,32 +0,0 @@
|
|
1
|
-
//===----------------------------------------------------------------------===//
|
2
|
-
// DuckDB
|
3
|
-
//
|
4
|
-
// duckdb/verification/deserialized_statement_verifier_v2.hpp
|
5
|
-
//
|
6
|
-
//
|
7
|
-
//===----------------------------------------------------------------------===//
|
8
|
-
|
9
|
-
#pragma once
|
10
|
-
|
11
|
-
#include "duckdb/verification/statement_verifier.hpp"
|
12
|
-
|
13
|
-
namespace duckdb {
|
14
|
-
|
15
|
-
//------------------------------------------------------------------------------
|
16
|
-
// This is a temporary statement verifier that uses the new de/serialization
|
17
|
-
// infrastructure to verify the correctness of the de/serialization process.
|
18
|
-
// This verifier will be removed once the new de/serialization infrastructure
|
19
|
-
// (FormatDe/Serializer) replaces the old one.
|
20
|
-
class DeserializedStatementVerifierV2 : public StatementVerifier {
|
21
|
-
public:
|
22
|
-
explicit DeserializedStatementVerifierV2(unique_ptr<SQLStatement> statement_p);
|
23
|
-
static unique_ptr<StatementVerifier> Create(const SQLStatement &statement);
|
24
|
-
};
|
25
|
-
|
26
|
-
class DeserializedStatementVerifierNoDefaultV2 : public StatementVerifier {
|
27
|
-
public:
|
28
|
-
explicit DeserializedStatementVerifierNoDefaultV2(unique_ptr<SQLStatement> statement_p);
|
29
|
-
static unique_ptr<StatementVerifier> Create(const SQLStatement &statement);
|
30
|
-
};
|
31
|
-
|
32
|
-
} // namespace duckdb
|