duckdb 0.8.2-dev4126.0 → 0.8.2-dev4203.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.cpp +20 -0
- 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 +3 -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/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/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.hpp +1 -0
- 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/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/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/extension_entries.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +1 -0
- 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/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 +1 -1
- 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 +18 -0
- package/src/duckdb/src/main/extension/extension_install.cpp +5 -3
- package/src/duckdb/src/main/extension/extension_load.cpp +3 -3
- 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/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 +2 -2
- 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
@@ -9,12 +9,13 @@
|
|
9
9
|
#pragma once
|
10
10
|
|
11
11
|
#include "duckdb/storage/metadata/metadata_manager.hpp"
|
12
|
+
#include "duckdb/common/serializer/read_stream.hpp"
|
12
13
|
|
13
14
|
namespace duckdb {
|
14
15
|
|
15
16
|
enum class BlockReaderType { EXISTING_BLOCKS, REGISTER_BLOCKS };
|
16
17
|
|
17
|
-
class MetadataReader : public
|
18
|
+
class MetadataReader : public ReadStream {
|
18
19
|
public:
|
19
20
|
MetadataReader(MetadataManager &manager, MetaBlockPointer pointer,
|
20
21
|
BlockReaderType type = BlockReaderType::EXISTING_BLOCKS);
|
@@ -9,10 +9,11 @@
|
|
9
9
|
#pragma once
|
10
10
|
|
11
11
|
#include "duckdb/storage/metadata/metadata_manager.hpp"
|
12
|
+
#include "duckdb/common/serializer/write_stream.hpp"
|
12
13
|
|
13
14
|
namespace duckdb {
|
14
15
|
|
15
|
-
class MetadataWriter : public
|
16
|
+
class MetadataWriter : public WriteStream {
|
16
17
|
public:
|
17
18
|
MetadataWriter(const MetadataWriter &) = delete;
|
18
19
|
MetadataWriter &operator=(const MetadataWriter &) = delete;
|
@@ -22,7 +23,6 @@ public:
|
|
22
23
|
|
23
24
|
public:
|
24
25
|
void WriteData(const_data_ptr_t buffer, idx_t write_size) override;
|
25
|
-
|
26
26
|
void Flush();
|
27
27
|
|
28
28
|
BlockPointer GetBlockPointer();
|
@@ -19,13 +19,9 @@
|
|
19
19
|
namespace duckdb {
|
20
20
|
struct SelectionVector;
|
21
21
|
|
22
|
-
class FormatSerializer;
|
23
|
-
class FormatDeserializer;
|
24
|
-
|
25
22
|
class Serializer;
|
26
23
|
class Deserializer;
|
27
|
-
|
28
|
-
class FieldReader;
|
24
|
+
|
29
25
|
class Vector;
|
30
26
|
struct UnifiedVectorFormat;
|
31
27
|
|
@@ -96,11 +92,7 @@ public:
|
|
96
92
|
void CopyBase(const BaseStatistics &orig);
|
97
93
|
|
98
94
|
void Serialize(Serializer &serializer) const;
|
99
|
-
|
100
|
-
static BaseStatistics Deserialize(Deserializer &source, LogicalType type);
|
101
|
-
|
102
|
-
void FormatSerialize(FormatSerializer &serializer) const;
|
103
|
-
static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer);
|
95
|
+
static BaseStatistics Deserialize(Deserializer &deserializer);
|
104
96
|
|
105
97
|
//! Verify that a vector does not violate the statistics
|
106
98
|
void Verify(Vector &vector, const SelectionVector &sel, idx_t count) const;
|
@@ -122,7 +114,6 @@ private:
|
|
122
114
|
|
123
115
|
static BaseStatistics CreateUnknownType(LogicalType type);
|
124
116
|
static BaseStatistics CreateEmptyType(LogicalType type);
|
125
|
-
static BaseStatistics DeserializeType(FieldReader &reader, LogicalType type);
|
126
117
|
static BaseStatistics FromConstantType(const Value &input);
|
127
118
|
|
128
119
|
private:
|
@@ -12,7 +12,7 @@
|
|
12
12
|
#include "duckdb/storage/statistics/distinct_statistics.hpp"
|
13
13
|
|
14
14
|
namespace duckdb {
|
15
|
-
class
|
15
|
+
class Serializer;
|
16
16
|
|
17
17
|
class ColumnStatistics {
|
18
18
|
public:
|
@@ -33,11 +33,9 @@ public:
|
|
33
33
|
void SetDistinct(unique_ptr<DistinctStatistics> distinct_stats);
|
34
34
|
|
35
35
|
shared_ptr<ColumnStatistics> Copy() const;
|
36
|
-
void Serialize(Serializer &serializer) const;
|
37
|
-
static shared_ptr<ColumnStatistics> Deserialize(Deserializer &source, const LogicalType &type);
|
38
36
|
|
39
|
-
void
|
40
|
-
static shared_ptr<ColumnStatistics>
|
37
|
+
void Serialize(Serializer &serializer) const;
|
38
|
+
static shared_ptr<ColumnStatistics> Deserialize(Deserializer &source);
|
41
39
|
|
42
40
|
private:
|
43
41
|
BaseStatistics stats;
|
@@ -13,11 +13,9 @@
|
|
13
13
|
#include "duckdb/storage/statistics/base_statistics.hpp"
|
14
14
|
|
15
15
|
namespace duckdb {
|
16
|
+
class Vector;
|
16
17
|
class Serializer;
|
17
18
|
class Deserializer;
|
18
|
-
class Vector;
|
19
|
-
class FormatSerializer;
|
20
|
-
class FormatDeserializer;
|
21
19
|
|
22
20
|
class DistinctStatistics {
|
23
21
|
public:
|
@@ -36,12 +34,6 @@ public:
|
|
36
34
|
|
37
35
|
unique_ptr<DistinctStatistics> Copy() const;
|
38
36
|
|
39
|
-
void Serialize(Serializer &serializer) const;
|
40
|
-
void Serialize(FieldWriter &writer) const;
|
41
|
-
|
42
|
-
static unique_ptr<DistinctStatistics> Deserialize(Deserializer &source);
|
43
|
-
static unique_ptr<DistinctStatistics> Deserialize(FieldReader &reader);
|
44
|
-
|
45
37
|
void Update(Vector &update, idx_t count, bool sample = true);
|
46
38
|
void Update(UnifiedVectorFormat &update_data, const LogicalType &ptype, idx_t count, bool sample = true);
|
47
39
|
|
@@ -50,8 +42,8 @@ public:
|
|
50
42
|
|
51
43
|
static bool TypeIsSupported(const LogicalType &type);
|
52
44
|
|
53
|
-
void
|
54
|
-
static unique_ptr<DistinctStatistics>
|
45
|
+
void Serialize(Serializer &serializer) const;
|
46
|
+
static unique_ptr<DistinctStatistics> Deserialize(Deserializer &deserializer);
|
55
47
|
|
56
48
|
private:
|
57
49
|
//! For distinct statistics we sample the input to speed up insertions
|
@@ -14,8 +14,6 @@
|
|
14
14
|
|
15
15
|
namespace duckdb {
|
16
16
|
class BaseStatistics;
|
17
|
-
class FieldWriter;
|
18
|
-
class FieldReader;
|
19
17
|
struct SelectionVector;
|
20
18
|
class Vector;
|
21
19
|
|
@@ -28,11 +26,8 @@ struct ListStats {
|
|
28
26
|
DUCKDB_API static BaseStatistics &GetChildStats(BaseStatistics &stats);
|
29
27
|
DUCKDB_API static void SetChildStats(BaseStatistics &stats, unique_ptr<BaseStatistics> new_stats);
|
30
28
|
|
31
|
-
DUCKDB_API static void Serialize(const BaseStatistics &stats,
|
32
|
-
DUCKDB_API static
|
33
|
-
|
34
|
-
DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
|
35
|
-
DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
|
29
|
+
DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
|
30
|
+
DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &base);
|
36
31
|
|
37
32
|
DUCKDB_API static string ToString(const BaseStatistics &stats);
|
38
33
|
|
@@ -9,7 +9,6 @@
|
|
9
9
|
#pragma once
|
10
10
|
|
11
11
|
#include "duckdb/common/common.hpp"
|
12
|
-
#include "duckdb/common/serializer.hpp"
|
13
12
|
|
14
13
|
namespace duckdb {
|
15
14
|
|
@@ -24,31 +23,6 @@ public:
|
|
24
23
|
: has_estimated_cardinality(true), estimated_cardinality(estimated_cardinality), has_max_cardinality(true),
|
25
24
|
max_cardinality(max_cardinality) {
|
26
25
|
}
|
27
|
-
void Serialize(Serializer &serializer) const {
|
28
|
-
serializer.Write(has_estimated_cardinality);
|
29
|
-
if (has_estimated_cardinality) {
|
30
|
-
serializer.Write(estimated_cardinality);
|
31
|
-
serializer.Write(has_max_cardinality);
|
32
|
-
if (has_max_cardinality) {
|
33
|
-
serializer.Write(max_cardinality);
|
34
|
-
}
|
35
|
-
} else {
|
36
|
-
D_ASSERT(!has_max_cardinality);
|
37
|
-
}
|
38
|
-
}
|
39
|
-
static unique_ptr<NodeStatistics> Deserialize(Deserializer &source) {
|
40
|
-
bool has_estimated_cardinality = source.Read<bool>();
|
41
|
-
if (!has_estimated_cardinality) {
|
42
|
-
return make_uniq<NodeStatistics>();
|
43
|
-
}
|
44
|
-
idx_t estimated_cardinality = source.Read<idx_t>();
|
45
|
-
bool has_max_cardinality = source.Read<bool>();
|
46
|
-
if (!has_max_cardinality) {
|
47
|
-
return make_uniq<NodeStatistics>(estimated_cardinality);
|
48
|
-
}
|
49
|
-
idx_t max_cardinality = source.Read<idx_t>();
|
50
|
-
return make_uniq<NodeStatistics>(estimated_cardinality, max_cardinality);
|
51
|
-
}
|
52
26
|
|
53
27
|
//! Whether or not the node has an estimated cardinality specified
|
54
28
|
bool has_estimated_cardinality;
|
@@ -16,8 +16,6 @@
|
|
16
16
|
|
17
17
|
namespace duckdb {
|
18
18
|
class BaseStatistics;
|
19
|
-
class FieldWriter;
|
20
|
-
class FieldReader;
|
21
19
|
struct SelectionVector;
|
22
20
|
class Vector;
|
23
21
|
|
@@ -61,11 +59,8 @@ struct NumericStats {
|
|
61
59
|
|
62
60
|
DUCKDB_API static void Merge(BaseStatistics &stats, const BaseStatistics &other_p);
|
63
61
|
|
64
|
-
DUCKDB_API static void Serialize(const BaseStatistics &stats,
|
65
|
-
DUCKDB_API static
|
66
|
-
|
67
|
-
DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
|
68
|
-
DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
|
62
|
+
DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
|
63
|
+
DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &stats);
|
69
64
|
|
70
65
|
DUCKDB_API static string ToString(const BaseStatistics &stats);
|
71
66
|
|
@@ -17,8 +17,6 @@
|
|
17
17
|
|
18
18
|
namespace duckdb {
|
19
19
|
class BaseStatistics;
|
20
|
-
class FieldWriter;
|
21
|
-
class FieldReader;
|
22
20
|
struct SelectionVector;
|
23
21
|
class Vector;
|
24
22
|
|
@@ -58,11 +56,8 @@ struct StringStats {
|
|
58
56
|
//! FIXME: make this part of Set on statistics
|
59
57
|
DUCKDB_API static void SetContainsUnicode(BaseStatistics &stats);
|
60
58
|
|
61
|
-
DUCKDB_API static void Serialize(const BaseStatistics &stats,
|
62
|
-
DUCKDB_API static
|
63
|
-
|
64
|
-
DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
|
65
|
-
DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
|
59
|
+
DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
|
60
|
+
DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &base);
|
66
61
|
|
67
62
|
DUCKDB_API static string ToString(const BaseStatistics &stats);
|
68
63
|
|
@@ -13,8 +13,6 @@
|
|
13
13
|
|
14
14
|
namespace duckdb {
|
15
15
|
class BaseStatistics;
|
16
|
-
class FieldWriter;
|
17
|
-
class FieldReader;
|
18
16
|
struct SelectionVector;
|
19
17
|
class Vector;
|
20
18
|
|
@@ -29,11 +27,8 @@ struct StructStats {
|
|
29
27
|
DUCKDB_API static void SetChildStats(BaseStatistics &stats, idx_t i, const BaseStatistics &new_stats);
|
30
28
|
DUCKDB_API static void SetChildStats(BaseStatistics &stats, idx_t i, unique_ptr<BaseStatistics> new_stats);
|
31
29
|
|
32
|
-
DUCKDB_API static void Serialize(const BaseStatistics &stats,
|
33
|
-
DUCKDB_API static
|
34
|
-
|
35
|
-
DUCKDB_API static void FormatSerialize(const BaseStatistics &stats, FormatSerializer &serializer);
|
36
|
-
DUCKDB_API static BaseStatistics FormatDeserialize(FormatDeserializer &deserializer, LogicalType type);
|
30
|
+
DUCKDB_API static void Serialize(const BaseStatistics &stats, Serializer &serializer);
|
31
|
+
DUCKDB_API static void Deserialize(Deserializer &deserializer, BaseStatistics &base);
|
37
32
|
|
38
33
|
DUCKDB_API static string ToString(const BaseStatistics &stats);
|
39
34
|
|
@@ -12,8 +12,6 @@
|
|
12
12
|
#include "duckdb/common/vector_size.hpp"
|
13
13
|
|
14
14
|
namespace duckdb {
|
15
|
-
class Serializer;
|
16
|
-
class Deserializer;
|
17
15
|
struct FileHandle;
|
18
16
|
|
19
17
|
#define STANDARD_ROW_GROUPS_SIZE 122880
|
@@ -53,8 +51,8 @@ struct MainHeader {
|
|
53
51
|
|
54
52
|
static void CheckMagicBytes(FileHandle &handle);
|
55
53
|
|
56
|
-
void
|
57
|
-
static MainHeader
|
54
|
+
void Write(WriteStream &ser);
|
55
|
+
static MainHeader Read(ReadStream &source);
|
58
56
|
};
|
59
57
|
|
60
58
|
//! The DatabaseHeader contains information about the current state of the database. Every storage file has two
|
@@ -72,8 +70,8 @@ struct DatabaseHeader {
|
|
72
70
|
//! block_count any blocks appearing AFTER block_count are implicitly part of the free_list.
|
73
71
|
uint64_t block_count;
|
74
72
|
|
75
|
-
void
|
76
|
-
static DatabaseHeader
|
73
|
+
void Write(WriteStream &ser);
|
74
|
+
static DatabaseHeader Read(ReadStream &source);
|
77
75
|
};
|
78
76
|
|
79
77
|
} // namespace duckdb
|
@@ -18,8 +18,8 @@ struct SelectionVector;
|
|
18
18
|
class Transaction;
|
19
19
|
struct TransactionData;
|
20
20
|
|
21
|
-
class
|
22
|
-
class
|
21
|
+
class Serializer;
|
22
|
+
class Deserializer;
|
23
23
|
|
24
24
|
enum class ChunkInfoType : uint8_t { CONSTANT_INFO, VECTOR_INFO, EMPTY_INFO };
|
25
25
|
|
@@ -46,11 +46,8 @@ public:
|
|
46
46
|
virtual void CommitAppend(transaction_t commit_id, idx_t start, idx_t end) = 0;
|
47
47
|
virtual idx_t GetCommittedDeletedCount(idx_t max_count) = 0;
|
48
48
|
|
49
|
-
virtual void Serialize(Serializer &
|
50
|
-
static unique_ptr<ChunkInfo> Deserialize(Deserializer &
|
51
|
-
|
52
|
-
virtual void FormatSerialize(FormatSerializer &serializer) const = 0;
|
53
|
-
static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
|
49
|
+
virtual void Serialize(Serializer &serializer) const = 0;
|
50
|
+
static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
|
54
51
|
|
55
52
|
public:
|
56
53
|
template <class TARGET>
|
@@ -88,11 +85,8 @@ public:
|
|
88
85
|
void CommitAppend(transaction_t commit_id, idx_t start, idx_t end) override;
|
89
86
|
idx_t GetCommittedDeletedCount(idx_t max_count) override;
|
90
87
|
|
91
|
-
void Serialize(Serializer &
|
92
|
-
static unique_ptr<ChunkInfo> Deserialize(Deserializer &
|
93
|
-
|
94
|
-
void FormatSerialize(FormatSerializer &serializer) const override;
|
95
|
-
static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
|
88
|
+
void Serialize(Serializer &serializer) const override;
|
89
|
+
static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
|
96
90
|
|
97
91
|
private:
|
98
92
|
template <class OP>
|
@@ -136,11 +130,8 @@ public:
|
|
136
130
|
idx_t Delete(transaction_t transaction_id, row_t rows[], idx_t count);
|
137
131
|
void CommitDelete(transaction_t commit_id, row_t rows[], idx_t count);
|
138
132
|
|
139
|
-
void Serialize(Serializer &
|
140
|
-
static unique_ptr<ChunkInfo> Deserialize(Deserializer &
|
141
|
-
|
142
|
-
void FormatSerialize(FormatSerializer &serializer) const override;
|
143
|
-
static unique_ptr<ChunkInfo> FormatDeserialize(FormatDeserializer &deserializer);
|
133
|
+
void Serialize(Serializer &serializer) const override;
|
134
|
+
static unique_ptr<ChunkInfo> Deserialize(Deserializer &deserializer);
|
144
135
|
|
145
136
|
private:
|
146
137
|
template <class OP>
|
@@ -41,7 +41,7 @@ public:
|
|
41
41
|
virtual unique_ptr<BaseStatistics> GetStatistics();
|
42
42
|
|
43
43
|
virtual void FlushSegment(unique_ptr<ColumnSegment> segment, idx_t segment_size);
|
44
|
-
virtual void WriteDataPointers(RowGroupWriter &writer);
|
44
|
+
virtual void WriteDataPointers(RowGroupWriter &writer, Serializer &serializer);
|
45
45
|
|
46
46
|
public:
|
47
47
|
template <class TARGET>
|
@@ -125,9 +125,9 @@ public:
|
|
125
125
|
virtual void CheckpointScan(ColumnSegment &segment, ColumnScanState &state, idx_t row_group_start, idx_t count,
|
126
126
|
Vector &scan_vector);
|
127
127
|
|
128
|
-
virtual void DeserializeColumn(Deserializer &
|
128
|
+
virtual void DeserializeColumn(Deserializer &deserializer);
|
129
129
|
static shared_ptr<ColumnData> Deserialize(BlockManager &block_manager, DataTableInfo &info, idx_t column_index,
|
130
|
-
idx_t start_row,
|
130
|
+
idx_t start_row, ReadStream &source, const LogicalType &type,
|
131
131
|
optional_ptr<ColumnData> parent);
|
132
132
|
|
133
133
|
virtual void GetColumnSegmentInfo(idx_t row_group_index, vector<idx_t> col_path, vector<ColumnSegmentInfo> &result);
|
@@ -56,7 +56,7 @@ public:
|
|
56
56
|
unique_ptr<ColumnCheckpointState> Checkpoint(RowGroup &row_group, PartialBlockManager &partial_block_manager,
|
57
57
|
ColumnCheckpointInfo &checkpoint_info) override;
|
58
58
|
|
59
|
-
void DeserializeColumn(Deserializer &
|
59
|
+
void DeserializeColumn(Deserializer &deserializer) override;
|
60
60
|
|
61
61
|
void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector<duckdb::idx_t> col_path,
|
62
62
|
vector<duckdb::ColumnSegmentInfo> &result) override;
|
@@ -124,8 +124,6 @@ public:
|
|
124
124
|
RowGroupWriteData WriteToDisk(PartialBlockManager &manager, const vector<CompressionType> &compression_types);
|
125
125
|
bool AllDeleted();
|
126
126
|
RowGroupPointer Checkpoint(RowGroupWriter &writer, TableStatistics &global_stats);
|
127
|
-
static void Serialize(RowGroupPointer &pointer, Serializer &serializer);
|
128
|
-
static RowGroupPointer Deserialize(Deserializer &source, const vector<LogicalType> &columns);
|
129
127
|
|
130
128
|
void InitializeAppend(RowGroupAppendState &append_state);
|
131
129
|
void Append(RowGroupAppendState &append_state, DataChunk &chunk, idx_t append_count);
|
@@ -148,8 +146,8 @@ public:
|
|
148
146
|
void NextVector(CollectionScanState &state);
|
149
147
|
|
150
148
|
// Serialization
|
151
|
-
static void
|
152
|
-
static RowGroupPointer
|
149
|
+
static void Serialize(RowGroupPointer &pointer, Serializer &serializer);
|
150
|
+
static RowGroupPointer Deserialize(Deserializer &deserializer);
|
153
151
|
|
154
152
|
private:
|
155
153
|
ChunkInfo *GetChunkInfo(idx_t vector_idx);
|
@@ -160,9 +158,6 @@ private:
|
|
160
158
|
template <TableScanType TYPE>
|
161
159
|
void TemplatedScan(TransactionData transaction, CollectionScanState &state, DataChunk &result);
|
162
160
|
|
163
|
-
static void CheckpointDeletes(VersionNode *versions, Serializer &serializer);
|
164
|
-
static shared_ptr<VersionNode> DeserializeDeletes(Deserializer &source);
|
165
|
-
|
166
161
|
private:
|
167
162
|
mutex row_group_lock;
|
168
163
|
mutex stats_lock;
|
@@ -54,11 +54,11 @@ public:
|
|
54
54
|
void CheckpointScan(ColumnSegment &segment, ColumnScanState &state, idx_t row_group_start, idx_t count,
|
55
55
|
Vector &scan_vector) override;
|
56
56
|
|
57
|
-
void DeserializeColumn(Deserializer &source) override;
|
58
|
-
|
59
57
|
void GetColumnSegmentInfo(duckdb::idx_t row_group_index, vector<duckdb::idx_t> col_path,
|
60
58
|
vector<duckdb::ColumnSegmentInfo> &result) override;
|
61
59
|
|
60
|
+
void DeserializeColumn(Deserializer &deserializer) override;
|
61
|
+
|
62
62
|
void Verify(RowGroup &parent) override;
|
63
63
|
};
|
64
64
|
|
@@ -16,8 +16,8 @@
|
|
16
16
|
namespace duckdb {
|
17
17
|
class ColumnList;
|
18
18
|
class PersistentTableData;
|
19
|
-
class
|
20
|
-
class
|
19
|
+
class Serializer;
|
20
|
+
class Deserializer;
|
21
21
|
|
22
22
|
class TableStatisticsLock {
|
23
23
|
public:
|
@@ -49,11 +49,8 @@ public:
|
|
49
49
|
|
50
50
|
unique_ptr<TableStatisticsLock> GetLock();
|
51
51
|
|
52
|
-
void Serialize(Serializer &serializer);
|
53
|
-
void Deserialize(Deserializer &
|
54
|
-
|
55
|
-
void FormatSerialize(FormatSerializer &serializer);
|
56
|
-
void FormatDeserialize(FormatDeserializer &deserializer, ColumnList &columns);
|
52
|
+
void Serialize(Serializer &serializer) const;
|
53
|
+
void Deserialize(Deserializer &deserializer, ColumnList &columns);
|
57
54
|
|
58
55
|
private:
|
59
56
|
//! The statistics lock
|
@@ -24,7 +24,6 @@ namespace duckdb {
|
|
24
24
|
struct AlterInfo;
|
25
25
|
|
26
26
|
class AttachedDatabase;
|
27
|
-
class BufferedSerializer;
|
28
27
|
class Catalog;
|
29
28
|
class DatabaseInstance;
|
30
29
|
class SchemaCatalogEntry;
|
@@ -38,53 +37,52 @@ class TransactionManager;
|
|
38
37
|
|
39
38
|
class ReplayState {
|
40
39
|
public:
|
41
|
-
ReplayState(AttachedDatabase &db, ClientContext &context
|
42
|
-
: db(db), context(context), catalog(db.GetCatalog()),
|
40
|
+
ReplayState(AttachedDatabase &db, ClientContext &context)
|
41
|
+
: db(db), context(context), catalog(db.GetCatalog()), deserialize_only(false) {
|
43
42
|
}
|
44
43
|
|
45
44
|
AttachedDatabase &db;
|
46
45
|
ClientContext &context;
|
47
46
|
Catalog &catalog;
|
48
|
-
Deserializer &source;
|
49
47
|
optional_ptr<TableCatalogEntry> current_table;
|
50
48
|
bool deserialize_only;
|
51
49
|
MetaBlockPointer checkpoint_id;
|
52
50
|
|
53
51
|
public:
|
54
|
-
void ReplayEntry(WALType entry_type);
|
52
|
+
void ReplayEntry(WALType entry_type, BinaryDeserializer &deserializer);
|
55
53
|
|
56
54
|
protected:
|
57
|
-
virtual void ReplayCreateTable();
|
58
|
-
void ReplayDropTable();
|
59
|
-
void ReplayAlter();
|
55
|
+
virtual void ReplayCreateTable(BinaryDeserializer &deserializer);
|
56
|
+
void ReplayDropTable(BinaryDeserializer &deserializer);
|
57
|
+
void ReplayAlter(BinaryDeserializer &deserializer);
|
60
58
|
|
61
|
-
void ReplayCreateView();
|
62
|
-
void ReplayDropView();
|
59
|
+
void ReplayCreateView(BinaryDeserializer &deserializer);
|
60
|
+
void ReplayDropView(BinaryDeserializer &deserializer);
|
63
61
|
|
64
|
-
void ReplayCreateSchema();
|
65
|
-
void ReplayDropSchema();
|
62
|
+
void ReplayCreateSchema(BinaryDeserializer &deserializer);
|
63
|
+
void ReplayDropSchema(BinaryDeserializer &deserializer);
|
66
64
|
|
67
|
-
void ReplayCreateType();
|
68
|
-
void ReplayDropType();
|
65
|
+
void ReplayCreateType(BinaryDeserializer &deserializer);
|
66
|
+
void ReplayDropType(BinaryDeserializer &deserializer);
|
69
67
|
|
70
|
-
void ReplayCreateSequence();
|
71
|
-
void ReplayDropSequence();
|
72
|
-
void ReplaySequenceValue();
|
68
|
+
void ReplayCreateSequence(BinaryDeserializer &deserializer);
|
69
|
+
void ReplayDropSequence(BinaryDeserializer &deserializer);
|
70
|
+
void ReplaySequenceValue(BinaryDeserializer &deserializer);
|
73
71
|
|
74
|
-
void ReplayCreateMacro();
|
75
|
-
void ReplayDropMacro();
|
72
|
+
void ReplayCreateMacro(BinaryDeserializer &deserializer);
|
73
|
+
void ReplayDropMacro(BinaryDeserializer &deserializer);
|
76
74
|
|
77
|
-
void ReplayCreateTableMacro();
|
78
|
-
void ReplayDropTableMacro();
|
75
|
+
void ReplayCreateTableMacro(BinaryDeserializer &deserializer);
|
76
|
+
void ReplayDropTableMacro(BinaryDeserializer &deserializer);
|
79
77
|
|
80
|
-
void ReplayCreateIndex();
|
81
|
-
void ReplayDropIndex();
|
78
|
+
void ReplayCreateIndex(BinaryDeserializer &deserializer);
|
79
|
+
void ReplayDropIndex(BinaryDeserializer &deserializer);
|
82
80
|
|
83
|
-
void ReplayUseTable();
|
84
|
-
void ReplayInsert();
|
85
|
-
void ReplayDelete();
|
86
|
-
void ReplayUpdate();
|
87
|
-
void ReplayCheckpoint();
|
81
|
+
void ReplayUseTable(BinaryDeserializer &deserializer);
|
82
|
+
void ReplayInsert(BinaryDeserializer &deserializer);
|
83
|
+
void ReplayDelete(BinaryDeserializer &deserializer);
|
84
|
+
void ReplayUpdate(BinaryDeserializer &deserializer);
|
85
|
+
void ReplayCheckpoint(BinaryDeserializer &deserializer);
|
88
86
|
};
|
89
87
|
|
90
88
|
//! The WriteAheadLog (WAL) is a log that is used to provide durability. Prior
|
@@ -136,7 +134,7 @@ public:
|
|
136
134
|
//! Sets the table used for subsequent insert/delete/update commands
|
137
135
|
void WriteSetTable(string &schema, string &table);
|
138
136
|
|
139
|
-
void WriteAlter(
|
137
|
+
void WriteAlter(const AlterInfo &info);
|
140
138
|
|
141
139
|
void WriteInsert(DataChunk &chunk);
|
142
140
|
void WriteDelete(DataChunk &chunk);
|
@@ -7,9 +7,7 @@
|
|
7
7
|
#include "duckdb/common/http_state.hpp"
|
8
8
|
#include "duckdb/common/preserved_error.hpp"
|
9
9
|
#include "duckdb/common/progress_bar/progress_bar.hpp"
|
10
|
-
#include "duckdb/common/serializer/buffered_deserializer.hpp"
|
11
10
|
#include "duckdb/common/serializer/buffered_file_writer.hpp"
|
12
|
-
#include "duckdb/common/serializer/buffered_serializer.hpp"
|
13
11
|
#include "duckdb/common/types/column/column_data_collection.hpp"
|
14
12
|
#include "duckdb/execution/column_binding_resolver.hpp"
|
15
13
|
#include "duckdb/execution/operator/helper/physical_result_collector.hpp"
|
@@ -27,11 +25,9 @@
|
|
27
25
|
#include "duckdb/main/relation.hpp"
|
28
26
|
#include "duckdb/main/stream_query_result.hpp"
|
29
27
|
#include "duckdb/optimizer/optimizer.hpp"
|
30
|
-
#include "duckdb/parallel/task_scheduler.hpp"
|
31
28
|
#include "duckdb/parser/expression/constant_expression.hpp"
|
32
29
|
#include "duckdb/parser/expression/parameter_expression.hpp"
|
33
30
|
#include "duckdb/parser/parsed_data/create_function_info.hpp"
|
34
|
-
#include "duckdb/parser/parsed_expression_iterator.hpp"
|
35
31
|
#include "duckdb/parser/parser.hpp"
|
36
32
|
#include "duckdb/parser/query_node/select_node.hpp"
|
37
33
|
#include "duckdb/parser/statement/drop_statement.hpp"
|
@@ -43,9 +39,7 @@
|
|
43
39
|
#include "duckdb/planner/operator/logical_execute.hpp"
|
44
40
|
#include "duckdb/planner/planner.hpp"
|
45
41
|
#include "duckdb/planner/pragma_handler.hpp"
|
46
|
-
#include "duckdb/storage/data_table.hpp"
|
47
42
|
#include "duckdb/transaction/meta_transaction.hpp"
|
48
|
-
#include "duckdb/transaction/transaction.hpp"
|
49
43
|
#include "duckdb/transaction/transaction_manager.hpp"
|
50
44
|
|
51
45
|
namespace duckdb {
|
@@ -40,8 +40,6 @@ PreservedError ClientContext::VerifyQuery(ClientContextLock &lock, const string
|
|
40
40
|
if (config.query_verification_enabled) {
|
41
41
|
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::COPIED, stmt));
|
42
42
|
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED, stmt));
|
43
|
-
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED_V2, stmt));
|
44
|
-
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::DESERIALIZED_V2_NO_DEFAULT, stmt));
|
45
43
|
statement_verifiers.emplace_back(StatementVerifier::Create(VerificationType::UNOPTIMIZED, stmt));
|
46
44
|
prepared_statement_verifier = StatementVerifier::Create(VerificationType::PREPARED, stmt);
|
47
45
|
#ifdef DUCKDB_DEBUG_ASYNC_SINK_SOURCE
|
@@ -118,6 +118,7 @@ static DefaultExtension internal_extensions[] = {
|
|
118
118
|
{"spatial", "Geospatial extension that adds support for working with spatial data and functions", false},
|
119
119
|
{"substrait", "Adds support for the Substrait integration", false},
|
120
120
|
{"aws", "Provides features that depend on the AWS SDK", false},
|
121
|
+
{"arrow", "A zero-copy data integration between Apache Arrow and DuckDB", false},
|
121
122
|
{"azure", "Adds a filesystem abstraction for Azure blob storage to DuckDB", false},
|
122
123
|
{"iceberg", "Adds support for Apache Iceberg", false},
|
123
124
|
{"visualizer", "Creates an HTML-based visualization of the query plan", false},
|
@@ -194,13 +195,30 @@ string ExtensionHelper::AddExtensionInstallHintToErrorMsg(ClientContext &context
|
|
194
195
|
return base_error;
|
195
196
|
}
|
196
197
|
|
198
|
+
bool ExtensionHelper::TryAutoLoadExtension(ClientContext &context, const string &extension_name) noexcept {
|
199
|
+
auto &dbconfig = DBConfig::GetConfig(context);
|
200
|
+
try {
|
201
|
+
if (dbconfig.options.autoinstall_known_extensions) {
|
202
|
+
ExtensionHelper::InstallExtension(context, extension_name, false,
|
203
|
+
context.config.autoinstall_extension_repo);
|
204
|
+
}
|
205
|
+
ExtensionHelper::LoadExternalExtension(context, extension_name);
|
206
|
+
return true;
|
207
|
+
} catch (...) {
|
208
|
+
return false;
|
209
|
+
}
|
210
|
+
return false;
|
211
|
+
}
|
212
|
+
|
197
213
|
void ExtensionHelper::AutoLoadExtension(ClientContext &context, const string &extension_name) {
|
198
214
|
auto &dbconfig = DBConfig::GetConfig(context);
|
199
215
|
try {
|
216
|
+
#ifndef DUCKDB_WASM
|
200
217
|
if (dbconfig.options.autoinstall_known_extensions) {
|
201
218
|
ExtensionHelper::InstallExtension(context, extension_name, false,
|
202
219
|
context.config.autoinstall_extension_repo);
|
203
220
|
}
|
221
|
+
#endif
|
204
222
|
ExtensionHelper::LoadExternalExtension(context, extension_name);
|
205
223
|
} catch (Exception &e) {
|
206
224
|
throw AutoloadException(extension_name, e);
|