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
@@ -12,7 +12,6 @@
|
|
12
12
|
#include "duckdb/common/map.hpp"
|
13
13
|
#include "duckdb/function/scalar/strftime_format.hpp"
|
14
14
|
#include "duckdb/common/types/value.hpp"
|
15
|
-
#include "duckdb/common/field_writer.hpp"
|
16
15
|
#include "duckdb/common/case_insensitive_map.hpp"
|
17
16
|
#include "duckdb/common/types.hpp"
|
18
17
|
#include "duckdb/common/multi_file_reader_options.hpp"
|
@@ -45,9 +44,6 @@ struct CSVStateMachineOptions {
|
|
45
44
|
bool operator==(const CSVStateMachineOptions &other) const {
|
46
45
|
return delimiter == other.delimiter && quote == other.quote && escape == other.escape;
|
47
46
|
}
|
48
|
-
|
49
|
-
void Serialize(FieldWriter &writer) const;
|
50
|
-
void Deserialize(FieldReader &reader);
|
51
47
|
};
|
52
48
|
|
53
49
|
struct DialectOptions {
|
@@ -66,9 +62,6 @@ struct DialectOptions {
|
|
66
62
|
idx_t skip_rows = 0;
|
67
63
|
//! True start of the first CSV Buffer (After skipping empty lines, headers, notes and so on)
|
68
64
|
idx_t true_start = 0;
|
69
|
-
|
70
|
-
void Serialize(FieldWriter &writer) const;
|
71
|
-
void Deserialize(FieldReader &reader);
|
72
65
|
};
|
73
66
|
|
74
67
|
struct CSVReaderOptions {
|
@@ -169,10 +162,8 @@ struct CSVReaderOptions {
|
|
169
162
|
//! The date format to use for writing (if any is specified)
|
170
163
|
map<LogicalTypeId, StrfTimeFormat> write_date_format = {{LogicalTypeId::DATE, {}}, {LogicalTypeId::TIMESTAMP, {}}};
|
171
164
|
|
172
|
-
void Serialize(
|
173
|
-
|
174
|
-
void FormatSerialize(FormatSerializer &serializer) const;
|
175
|
-
static CSVReaderOptions FormatDeserialize(FormatDeserializer &deserializer);
|
165
|
+
void Serialize(Serializer &serializer) const;
|
166
|
+
static CSVReaderOptions Deserialize(Deserializer &deserializer);
|
176
167
|
|
177
168
|
void SetCompression(const string &compression);
|
178
169
|
void SetHeader(bool has_header);
|
@@ -46,15 +46,9 @@ typedef void (*aggregate_window_t)(Vector inputs[], const ValidityMask &filter_m
|
|
46
46
|
const FrameBounds &frame, const FrameBounds &prev, Vector &result, idx_t rid,
|
47
47
|
idx_t bias);
|
48
48
|
|
49
|
-
typedef void (*aggregate_serialize_t)(
|
49
|
+
typedef void (*aggregate_serialize_t)(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
|
50
50
|
const AggregateFunction &function);
|
51
|
-
typedef unique_ptr<FunctionData> (*aggregate_deserialize_t)(
|
52
|
-
AggregateFunction &function);
|
53
|
-
|
54
|
-
typedef void (*aggregate_format_serialize_t)(FormatSerializer &serializer, const optional_ptr<FunctionData> bind_data,
|
55
|
-
const AggregateFunction &function);
|
56
|
-
typedef unique_ptr<FunctionData> (*aggregate_format_deserialize_t)(FormatDeserializer &deserializer,
|
57
|
-
AggregateFunction &function);
|
51
|
+
typedef unique_ptr<FunctionData> (*aggregate_deserialize_t)(Deserializer &deserializer, AggregateFunction &function);
|
58
52
|
|
59
53
|
class AggregateFunction : public BaseScalarFunction {
|
60
54
|
public:
|
@@ -70,8 +64,7 @@ public:
|
|
70
64
|
LogicalType(LogicalTypeId::INVALID), null_handling),
|
71
65
|
state_size(state_size), initialize(initialize), update(update), combine(combine), finalize(finalize),
|
72
66
|
simple_update(simple_update), window(window), bind(bind), destructor(destructor), statistics(statistics),
|
73
|
-
serialize(serialize), deserialize(deserialize),
|
74
|
-
order_dependent(AggregateOrderDependent::ORDER_DEPENDENT) {
|
67
|
+
serialize(serialize), deserialize(deserialize), order_dependent(AggregateOrderDependent::ORDER_DEPENDENT) {
|
75
68
|
}
|
76
69
|
|
77
70
|
AggregateFunction(const string &name, const vector<LogicalType> &arguments, const LogicalType &return_type,
|
@@ -85,8 +78,7 @@ public:
|
|
85
78
|
LogicalType(LogicalTypeId::INVALID)),
|
86
79
|
state_size(state_size), initialize(initialize), update(update), combine(combine), finalize(finalize),
|
87
80
|
simple_update(simple_update), window(window), bind(bind), destructor(destructor), statistics(statistics),
|
88
|
-
serialize(serialize), deserialize(deserialize),
|
89
|
-
order_dependent(AggregateOrderDependent::ORDER_DEPENDENT) {
|
81
|
+
serialize(serialize), deserialize(deserialize), order_dependent(AggregateOrderDependent::ORDER_DEPENDENT) {
|
90
82
|
}
|
91
83
|
|
92
84
|
AggregateFunction(const vector<LogicalType> &arguments, const LogicalType &return_type, aggregate_size_t state_size,
|
@@ -137,8 +129,6 @@ public:
|
|
137
129
|
|
138
130
|
aggregate_serialize_t serialize;
|
139
131
|
aggregate_deserialize_t deserialize;
|
140
|
-
aggregate_format_serialize_t format_serialize;
|
141
|
-
aggregate_format_deserialize_t format_deserialize;
|
142
132
|
//! Whether or not the aggregate is order dependent
|
143
133
|
AggregateOrderDependent order_dependent;
|
144
134
|
|
@@ -82,10 +82,10 @@ typedef void (*copy_to_combine_t)(ExecutionContext &context, FunctionData &bind_
|
|
82
82
|
LocalFunctionData &lstate);
|
83
83
|
typedef void (*copy_to_finalize_t)(ClientContext &context, FunctionData &bind_data, GlobalFunctionData &gstate);
|
84
84
|
|
85
|
-
typedef void (*copy_to_serialize_t)(
|
85
|
+
typedef void (*copy_to_serialize_t)(Serializer &serializer, const FunctionData &bind_data,
|
86
|
+
const CopyFunction &function);
|
86
87
|
|
87
|
-
typedef unique_ptr<FunctionData> (*copy_to_deserialize_t)(
|
88
|
-
CopyFunction &function);
|
88
|
+
typedef unique_ptr<FunctionData> (*copy_to_deserialize_t)(Deserializer &deserializer, CopyFunction &function);
|
89
89
|
|
90
90
|
typedef unique_ptr<FunctionData> (*copy_from_bind_t)(ClientContext &context, CopyInfo &info,
|
91
91
|
vector<string> &expected_names,
|
@@ -8,111 +8,27 @@
|
|
8
8
|
|
9
9
|
#pragma once
|
10
10
|
|
11
|
-
#include "duckdb/common/field_writer.hpp"
|
12
11
|
#include "duckdb/main/client_context.hpp"
|
13
12
|
#include "duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp"
|
14
|
-
#include "duckdb/common/serializer/
|
15
|
-
#include "duckdb/common/serializer/
|
13
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
14
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
16
15
|
|
17
16
|
namespace duckdb {
|
18
17
|
|
19
18
|
class FunctionSerializer {
|
20
19
|
public:
|
21
20
|
template <class FUNC>
|
22
|
-
static void
|
23
|
-
D_ASSERT(!function.name.empty());
|
24
|
-
writer.WriteString(function.name);
|
25
|
-
writer.WriteRegularSerializableList(function.arguments);
|
26
|
-
writer.WriteRegularSerializableList(function.original_arguments);
|
27
|
-
bool serialize = function.serialize;
|
28
|
-
writer.WriteField(serialize);
|
29
|
-
if (serialize) {
|
30
|
-
function.serialize(writer, bind_info, function);
|
31
|
-
// First check if serialize throws a NotImplementedException, in which case it doesn't require a deserialize
|
32
|
-
// function
|
33
|
-
D_ASSERT(function.deserialize);
|
34
|
-
}
|
35
|
-
}
|
36
|
-
|
37
|
-
template <class FUNC>
|
38
|
-
static void Serialize(FieldWriter &writer, const FUNC &function, const LogicalType &return_type,
|
39
|
-
const vector<unique_ptr<Expression>> &children, FunctionData *bind_info) {
|
40
|
-
SerializeBase(writer, function, bind_info);
|
41
|
-
writer.WriteSerializable(return_type);
|
42
|
-
writer.WriteSerializableList(children);
|
43
|
-
}
|
44
|
-
|
45
|
-
template <class FUNC, class CATALOG_ENTRY>
|
46
|
-
static FUNC DeserializeBaseInternal(FieldReader &reader, PlanDeserializationState &state, CatalogType type,
|
47
|
-
unique_ptr<FunctionData> &bind_info, bool &has_deserialize) {
|
48
|
-
auto &context = state.context;
|
49
|
-
auto name = reader.ReadRequired<string>();
|
50
|
-
auto arguments = reader.ReadRequiredSerializableList<LogicalType, LogicalType>();
|
51
|
-
// note: original_arguments are optional (can be list of size 0)
|
52
|
-
auto original_arguments = reader.ReadRequiredSerializableList<LogicalType, LogicalType>();
|
53
|
-
|
54
|
-
auto &func_catalog = Catalog::GetEntry(context, type, SYSTEM_CATALOG, DEFAULT_SCHEMA, name);
|
55
|
-
if (func_catalog.type != type) {
|
56
|
-
throw InternalException("Cant find catalog entry for function %s", name);
|
57
|
-
}
|
58
|
-
|
59
|
-
auto &functions = func_catalog.Cast<CATALOG_ENTRY>();
|
60
|
-
auto function = functions.functions.GetFunctionByArguments(
|
61
|
-
state.context, original_arguments.empty() ? arguments : original_arguments);
|
62
|
-
function.arguments = std::move(arguments);
|
63
|
-
function.original_arguments = std::move(original_arguments);
|
64
|
-
|
65
|
-
has_deserialize = reader.ReadRequired<bool>();
|
66
|
-
if (has_deserialize) {
|
67
|
-
if (!function.deserialize) {
|
68
|
-
throw SerializationException("Function requires deserialization but no deserialization function for %s",
|
69
|
-
function.name);
|
70
|
-
}
|
71
|
-
bind_info = function.deserialize(state, reader, function);
|
72
|
-
} else {
|
73
|
-
D_ASSERT(!function.serialize);
|
74
|
-
D_ASSERT(!function.deserialize);
|
75
|
-
}
|
76
|
-
return function;
|
77
|
-
}
|
78
|
-
template <class FUNC, class CATALOG_ENTRY>
|
79
|
-
static FUNC DeserializeBase(FieldReader &reader, PlanDeserializationState &state, CatalogType type,
|
80
|
-
unique_ptr<FunctionData> &bind_info) {
|
81
|
-
bool has_deserialize;
|
82
|
-
return DeserializeBaseInternal<FUNC, CATALOG_ENTRY>(reader, state, type, bind_info, has_deserialize);
|
83
|
-
}
|
84
|
-
|
85
|
-
template <class FUNC, class CATALOG_ENTRY>
|
86
|
-
static FUNC Deserialize(FieldReader &reader, ExpressionDeserializationState &state, CatalogType type,
|
87
|
-
vector<unique_ptr<Expression>> &children, unique_ptr<FunctionData> &bind_info) {
|
88
|
-
bool has_deserialize;
|
89
|
-
auto function =
|
90
|
-
DeserializeBaseInternal<FUNC, CATALOG_ENTRY>(reader, state.gstate, type, bind_info, has_deserialize);
|
91
|
-
auto return_type = reader.ReadRequiredSerializable<LogicalType, LogicalType>();
|
92
|
-
children = reader.ReadRequiredSerializableList<Expression>(state.gstate);
|
93
|
-
|
94
|
-
// we re-bind the function only if the function did not have an explicit deserialize method
|
95
|
-
auto &context = state.gstate.context;
|
96
|
-
if (!has_deserialize && function.bind) {
|
97
|
-
bind_info = function.bind(context, function, children);
|
98
|
-
}
|
99
|
-
function.return_type = return_type;
|
100
|
-
return function;
|
101
|
-
}
|
102
|
-
|
103
|
-
template <class FUNC>
|
104
|
-
static void FormatSerialize(FormatSerializer &serializer, const FUNC &function,
|
105
|
-
optional_ptr<FunctionData> bind_info) {
|
21
|
+
static void Serialize(Serializer &serializer, const FUNC &function, optional_ptr<FunctionData> bind_info) {
|
106
22
|
D_ASSERT(!function.name.empty());
|
107
23
|
serializer.WriteProperty(500, "name", function.name);
|
108
24
|
serializer.WriteProperty(501, "arguments", function.arguments);
|
109
25
|
serializer.WriteProperty(502, "original_arguments", function.original_arguments);
|
110
|
-
bool has_serialize = function.
|
26
|
+
bool has_serialize = function.serialize;
|
111
27
|
serializer.WriteProperty(503, "has_serialize", has_serialize);
|
112
28
|
if (has_serialize) {
|
113
29
|
serializer.WriteObject(504, "function_data",
|
114
|
-
[&](
|
115
|
-
D_ASSERT(function.
|
30
|
+
[&](Serializer &obj) { function.serialize(obj, bind_info, function); });
|
31
|
+
D_ASSERT(function.deserialize);
|
116
32
|
}
|
117
33
|
}
|
118
34
|
|
@@ -132,7 +48,7 @@ public:
|
|
132
48
|
}
|
133
49
|
|
134
50
|
template <class FUNC, class CATALOG_ENTRY>
|
135
|
-
static pair<FUNC, bool>
|
51
|
+
static pair<FUNC, bool> DeserializeBase(Deserializer &deserializer, CatalogType catalog_type) {
|
136
52
|
auto &context = deserializer.Get<ClientContext &>();
|
137
53
|
auto name = deserializer.ReadProperty<string>(500, "name");
|
138
54
|
auto arguments = deserializer.ReadProperty<vector<LogicalType>>(501, "arguments");
|
@@ -144,23 +60,23 @@ public:
|
|
144
60
|
}
|
145
61
|
|
146
62
|
template <class FUNC>
|
147
|
-
static unique_ptr<FunctionData> FunctionDeserialize(
|
148
|
-
if (!function.
|
63
|
+
static unique_ptr<FunctionData> FunctionDeserialize(Deserializer &deserializer, FUNC &function) {
|
64
|
+
if (!function.deserialize) {
|
149
65
|
throw SerializationException("Function requires deserialization but no deserialization function for %s",
|
150
66
|
function.name);
|
151
67
|
}
|
152
68
|
unique_ptr<FunctionData> result;
|
153
69
|
deserializer.ReadObject(504, "function_data",
|
154
|
-
[&](
|
70
|
+
[&](Deserializer &obj) { result = function.deserialize(obj, function); });
|
155
71
|
return result;
|
156
72
|
}
|
157
73
|
|
158
74
|
template <class FUNC, class CATALOG_ENTRY>
|
159
|
-
static pair<FUNC, unique_ptr<FunctionData>>
|
160
|
-
|
161
|
-
|
75
|
+
static pair<FUNC, unique_ptr<FunctionData>> Deserialize(Deserializer &deserializer, CatalogType catalog_type,
|
76
|
+
vector<unique_ptr<Expression>> &children,
|
77
|
+
LogicalType return_type) {
|
162
78
|
auto &context = deserializer.Get<ClientContext &>();
|
163
|
-
auto entry =
|
79
|
+
auto entry = DeserializeBase<FUNC, CATALOG_ENTRY>(deserializer, catalog_type);
|
164
80
|
auto &function = entry.first;
|
165
81
|
auto has_serialize = entry.second;
|
166
82
|
|
@@ -175,6 +91,7 @@ public:
|
|
175
91
|
throw SerializationException("Error during bind of function in deserialization: %s", ex.what());
|
176
92
|
}
|
177
93
|
}
|
94
|
+
function.return_type = std::move(return_type);
|
178
95
|
return make_pair(std::move(function), std::move(bind_data));
|
179
96
|
}
|
180
97
|
};
|
@@ -45,15 +45,9 @@ public:
|
|
45
45
|
|
46
46
|
virtual string ToSQL(const string &schema, const string &name) const;
|
47
47
|
|
48
|
-
void Serialize(Serializer &serializer) const;
|
48
|
+
virtual void Serialize(Serializer &serializer) const;
|
49
49
|
static unique_ptr<MacroFunction> Deserialize(Deserializer &deserializer);
|
50
50
|
|
51
|
-
virtual void FormatSerialize(FormatSerializer &serializer) const;
|
52
|
-
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
53
|
-
|
54
|
-
protected:
|
55
|
-
virtual void SerializeInternal(FieldWriter &writer) const = 0;
|
56
|
-
|
57
51
|
public:
|
58
52
|
template <class TARGET>
|
59
53
|
TARGET &Cast() {
|
@@ -12,9 +12,10 @@
|
|
12
12
|
#include "duckdb/function/scalar_function.hpp"
|
13
13
|
#include "duckdb/common/map.hpp"
|
14
14
|
#include "duckdb/common/unordered_map.hpp"
|
15
|
-
#include "duckdb/common/field_writer.hpp"
|
16
15
|
#include "duckdb/function/built_in_functions.hpp"
|
17
16
|
#include "duckdb/function/scalar/list/contains_or_position.hpp"
|
17
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
18
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
18
19
|
|
19
20
|
namespace duckdb {
|
20
21
|
|
@@ -58,19 +59,17 @@ struct VariableReturnBindData : public FunctionData {
|
|
58
59
|
return make_uniq<VariableReturnBindData>(stype);
|
59
60
|
}
|
60
61
|
bool Equals(const FunctionData &other_p) const override {
|
61
|
-
auto &other = (
|
62
|
+
auto &other = other_p.Cast<VariableReturnBindData>();
|
62
63
|
return stype == other.stype;
|
63
64
|
}
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
writer.WriteSerializable(info.stype);
|
65
|
+
static void Serialize(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
|
66
|
+
const ScalarFunction &function) {
|
67
|
+
auto &info = bind_data->Cast<VariableReturnBindData>();
|
68
|
+
serializer.WriteProperty(100, "variable_return_type", info.stype);
|
69
69
|
}
|
70
70
|
|
71
|
-
static unique_ptr<FunctionData> Deserialize(
|
72
|
-
|
73
|
-
auto stype = reader.ReadRequiredSerializable<LogicalType, LogicalType>();
|
71
|
+
static unique_ptr<FunctionData> Deserialize(Deserializer &deserializer, ScalarFunction &bound_function) {
|
72
|
+
auto stype = deserializer.ReadProperty<LogicalType>(100, "variable_return_type");
|
74
73
|
return make_uniq<VariableReturnBindData>(std::move(stype));
|
75
74
|
}
|
76
75
|
};
|
@@ -150,8 +150,8 @@ public:
|
|
150
150
|
date_t ParseDate(string_t str);
|
151
151
|
timestamp_t ParseTimestamp(string_t str);
|
152
152
|
|
153
|
-
void
|
154
|
-
static StrpTimeFormat
|
153
|
+
void Serialize(Serializer &serializer) const;
|
154
|
+
static StrpTimeFormat Deserialize(Deserializer &deserializer);
|
155
155
|
|
156
156
|
protected:
|
157
157
|
static string FormatStrpTimeError(const string &input, idx_t position);
|
@@ -14,7 +14,6 @@
|
|
14
14
|
#include "duckdb/common/vector_operations/vector_operations.hpp"
|
15
15
|
#include "duckdb/execution/expression_executor_state.hpp"
|
16
16
|
#include "duckdb/function/function.hpp"
|
17
|
-
#include "duckdb/planner/plan_serialization.hpp"
|
18
17
|
#include "duckdb/storage/statistics/base_statistics.hpp"
|
19
18
|
#include "duckdb/common/optional_ptr.hpp"
|
20
19
|
|
@@ -64,15 +63,9 @@ typedef unique_ptr<BaseStatistics> (*function_statistics_t)(ClientContext &conte
|
|
64
63
|
//! Adds the dependencies of this BoundFunctionExpression to the set of dependencies
|
65
64
|
typedef void (*dependency_function_t)(BoundFunctionExpression &expr, DependencyList &dependencies);
|
66
65
|
|
67
|
-
typedef void (*function_serialize_t)(
|
66
|
+
typedef void (*function_serialize_t)(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
|
68
67
|
const ScalarFunction &function);
|
69
|
-
typedef unique_ptr<FunctionData> (*function_deserialize_t)(
|
70
|
-
ScalarFunction &function);
|
71
|
-
|
72
|
-
typedef void (*function_format_serialize_t)(FormatSerializer &serializer, const optional_ptr<FunctionData> bind_data,
|
73
|
-
const ScalarFunction &function);
|
74
|
-
typedef unique_ptr<FunctionData> (*function_format_deserialize_t)(FormatDeserializer &deserializer,
|
75
|
-
ScalarFunction &function);
|
68
|
+
typedef unique_ptr<FunctionData> (*function_deserialize_t)(Deserializer &deserializer, ScalarFunction &function);
|
76
69
|
|
77
70
|
class ScalarFunction : public BaseScalarFunction {
|
78
71
|
public:
|
@@ -105,9 +98,6 @@ public:
|
|
105
98
|
function_serialize_t serialize;
|
106
99
|
function_deserialize_t deserialize;
|
107
100
|
|
108
|
-
function_format_serialize_t format_serialize;
|
109
|
-
function_format_deserialize_t format_deserialize;
|
110
|
-
|
111
101
|
DUCKDB_API bool operator==(const ScalarFunction &rhs) const;
|
112
102
|
DUCKDB_API bool operator!=(const ScalarFunction &rhs) const;
|
113
103
|
|
@@ -34,13 +34,8 @@ public:
|
|
34
34
|
|
35
35
|
string ToSQL(const string &schema, const string &name) const override;
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
-
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
41
|
-
|
42
|
-
protected:
|
43
|
-
void SerializeInternal(FieldWriter &writer) const override;
|
37
|
+
void Serialize(Serializer &serializer) const override;
|
38
|
+
static unique_ptr<MacroFunction> Deserialize(Deserializer &deserializer);
|
44
39
|
};
|
45
40
|
|
46
41
|
} // namespace duckdb
|
@@ -65,20 +65,8 @@ struct ColumnInfo {
|
|
65
65
|
names = std::move(names_p);
|
66
66
|
types = std::move(types_p);
|
67
67
|
}
|
68
|
-
void Serialize(
|
69
|
-
|
70
|
-
writer.WriteRegularSerializableList<LogicalType>(types);
|
71
|
-
}
|
72
|
-
|
73
|
-
static ColumnInfo Deserialize(FieldReader &reader) {
|
74
|
-
ColumnInfo info;
|
75
|
-
info.names = reader.ReadRequiredList<string>();
|
76
|
-
info.types = reader.ReadRequiredSerializableList<LogicalType, LogicalType>();
|
77
|
-
return info;
|
78
|
-
}
|
79
|
-
|
80
|
-
void FormatSerialize(FormatSerializer &serializer) const;
|
81
|
-
static ColumnInfo FormatDeserialize(FormatDeserializer &deserializer);
|
68
|
+
void Serialize(Serializer &serializer) const;
|
69
|
+
static ColumnInfo Deserialize(Deserializer &deserializer);
|
82
70
|
|
83
71
|
vector<std::string> names;
|
84
72
|
vector<LogicalType> types;
|
@@ -115,8 +103,8 @@ struct ReadCSVData : public BaseCSVData {
|
|
115
103
|
}
|
116
104
|
void FinalizeRead(ClientContext &context);
|
117
105
|
|
118
|
-
void
|
119
|
-
static unique_ptr<ReadCSVData>
|
106
|
+
void Serialize(Serializer &serializer) const;
|
107
|
+
static unique_ptr<ReadCSVData> Deserialize(Deserializer &deserializer);
|
120
108
|
};
|
121
109
|
|
122
110
|
struct CSVCopyFunction {
|
@@ -202,16 +202,9 @@ typedef void (*table_function_pushdown_complex_filter_t)(ClientContext &context,
|
|
202
202
|
vector<unique_ptr<Expression>> &filters);
|
203
203
|
typedef string (*table_function_to_string_t)(const FunctionData *bind_data);
|
204
204
|
|
205
|
-
typedef void (*table_function_serialize_t)(
|
205
|
+
typedef void (*table_function_serialize_t)(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
|
206
206
|
const TableFunction &function);
|
207
|
-
typedef unique_ptr<FunctionData> (*table_function_deserialize_t)(
|
208
|
-
TableFunction &function);
|
209
|
-
|
210
|
-
typedef void (*table_function_format_serialize_t)(FormatSerializer &serializer,
|
211
|
-
const optional_ptr<FunctionData> bind_data,
|
212
|
-
const TableFunction &function);
|
213
|
-
typedef unique_ptr<FunctionData> (*table_function_format_deserialize_t)(FormatDeserializer &deserializer,
|
214
|
-
TableFunction &function);
|
207
|
+
typedef unique_ptr<FunctionData> (*table_function_deserialize_t)(Deserializer &deserializer, TableFunction &function);
|
215
208
|
|
216
209
|
class TableFunction : public SimpleNamedParameterFunction {
|
217
210
|
public:
|
@@ -271,8 +264,6 @@ public:
|
|
271
264
|
|
272
265
|
table_function_serialize_t serialize;
|
273
266
|
table_function_deserialize_t deserialize;
|
274
|
-
table_function_format_serialize_t format_serialize;
|
275
|
-
table_function_format_deserialize_t format_deserialize;
|
276
267
|
bool verify_serialization = true;
|
277
268
|
|
278
269
|
//! Whether or not the table function supports projection pushdown. If not supported a projection will be added
|
@@ -34,13 +34,8 @@ public:
|
|
34
34
|
|
35
35
|
string ToSQL(const string &schema, const string &name) const override;
|
36
36
|
|
37
|
-
|
38
|
-
|
39
|
-
void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
-
static unique_ptr<MacroFunction> FormatDeserialize(FormatDeserializer &deserializer);
|
41
|
-
|
42
|
-
protected:
|
43
|
-
void SerializeInternal(FieldWriter &writer) const override;
|
37
|
+
void Serialize(Serializer &serializer) const override;
|
38
|
+
static unique_ptr<MacroFunction> Deserialize(Deserializer &deserializer);
|
44
39
|
};
|
45
40
|
|
46
41
|
} // namespace duckdb
|
@@ -19,8 +19,11 @@
|
|
19
19
|
#include "duckdb/main/client_context.hpp"
|
20
20
|
#include "duckdb/main/external_dependencies.hpp"
|
21
21
|
#include "duckdb/parser/statement/explain_statement.hpp"
|
22
|
-
|
23
|
-
#include
|
22
|
+
#include "duckdb/parser/parsed_expression.hpp"
|
23
|
+
#include "duckdb/parser/result_modifier.hpp"
|
24
|
+
#include "duckdb/common/unique_ptr.hpp"
|
25
|
+
#include "duckdb/common/vector.hpp"
|
26
|
+
#include "duckdb/common/helper.hpp"
|
24
27
|
|
25
28
|
namespace duckdb {
|
26
29
|
struct BoundStatement;
|
@@ -81,9 +84,12 @@ public:
|
|
81
84
|
DUCKDB_API shared_ptr<Relation> Project(const string &select_list, const vector<string> &aliases);
|
82
85
|
DUCKDB_API shared_ptr<Relation> Project(const vector<string> &expressions);
|
83
86
|
DUCKDB_API shared_ptr<Relation> Project(const vector<string> &expressions, const vector<string> &aliases);
|
87
|
+
DUCKDB_API shared_ptr<Relation> Project(vector<unique_ptr<ParsedExpression>> expressions,
|
88
|
+
const vector<string> &aliases);
|
84
89
|
|
85
90
|
// FILTER
|
86
91
|
DUCKDB_API shared_ptr<Relation> Filter(const string &expression);
|
92
|
+
DUCKDB_API shared_ptr<Relation> Filter(unique_ptr<ParsedExpression> expression);
|
87
93
|
DUCKDB_API shared_ptr<Relation> Filter(const vector<string> &expressions);
|
88
94
|
|
89
95
|
// LIMIT
|
@@ -92,6 +98,7 @@ public:
|
|
92
98
|
// ORDER
|
93
99
|
DUCKDB_API shared_ptr<Relation> Order(const string &expression);
|
94
100
|
DUCKDB_API shared_ptr<Relation> Order(const vector<string> &expressions);
|
101
|
+
DUCKDB_API shared_ptr<Relation> Order(vector<OrderByNode> expressions);
|
95
102
|
|
96
103
|
// JOIN operation
|
97
104
|
DUCKDB_API shared_ptr<Relation> Join(const shared_ptr<Relation> &other, const string &condition,
|
@@ -65,10 +65,7 @@ public:
|
|
65
65
|
DUCKDB_API ColumnDefinition Copy() const;
|
66
66
|
|
67
67
|
DUCKDB_API void Serialize(Serializer &serializer) const;
|
68
|
-
DUCKDB_API static ColumnDefinition Deserialize(Deserializer &
|
69
|
-
|
70
|
-
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const;
|
71
|
-
DUCKDB_API static ColumnDefinition FormatDeserialize(FormatDeserializer &deserializer);
|
68
|
+
DUCKDB_API static ColumnDefinition Deserialize(Deserializer &deserializer);
|
72
69
|
|
73
70
|
//===--------------------------------------------------------------------===//
|
74
71
|
// Generated Columns (VIRTUAL)
|
@@ -9,7 +9,6 @@
|
|
9
9
|
#pragma once
|
10
10
|
|
11
11
|
#include "duckdb/parser/column_definition.hpp"
|
12
|
-
#include "duckdb/common/field_writer.hpp"
|
13
12
|
|
14
13
|
namespace duckdb {
|
15
14
|
|
@@ -51,11 +50,8 @@ public:
|
|
51
50
|
}
|
52
51
|
|
53
52
|
ColumnList Copy() const;
|
54
|
-
void Serialize(
|
55
|
-
static ColumnList Deserialize(
|
56
|
-
|
57
|
-
void FormatSerialize(FormatSerializer &serializer) const;
|
58
|
-
static ColumnList FormatDeserialize(FormatDeserializer &deserializer);
|
53
|
+
void Serialize(Serializer &serializer) const;
|
54
|
+
static ColumnList Deserialize(Deserializer &deserializer);
|
59
55
|
|
60
56
|
DUCKDB_API ColumnListIterator Logical() const;
|
61
57
|
DUCKDB_API ColumnListIterator Physical() const;
|
@@ -20,8 +20,8 @@ struct CommonTableExpressionInfo {
|
|
20
20
|
unique_ptr<SelectStatement> query;
|
21
21
|
CTEMaterialize materialized = CTEMaterialize::CTE_MATERIALIZE_DEFAULT;
|
22
22
|
|
23
|
-
void
|
24
|
-
static unique_ptr<CommonTableExpressionInfo>
|
23
|
+
void Serialize(Serializer &serializer) const;
|
24
|
+
static unique_ptr<CommonTableExpressionInfo> Deserialize(Deserializer &deserializer);
|
25
25
|
unique_ptr<CommonTableExpressionInfo> Copy();
|
26
26
|
};
|
27
27
|
|
@@ -16,10 +16,6 @@ namespace duckdb {
|
|
16
16
|
|
17
17
|
class Serializer;
|
18
18
|
class Deserializer;
|
19
|
-
class FormatSerializer;
|
20
|
-
class FormatDeserializer;
|
21
|
-
class FieldWriter;
|
22
|
-
class FieldReader;
|
23
19
|
|
24
20
|
//===--------------------------------------------------------------------===//
|
25
21
|
// Constraint Types
|
@@ -63,15 +59,9 @@ public:
|
|
63
59
|
DUCKDB_API void Print() const;
|
64
60
|
|
65
61
|
DUCKDB_API virtual unique_ptr<Constraint> Copy() const = 0;
|
66
|
-
//! Serializes a Constraint to a stand-alone binary blob
|
67
|
-
DUCKDB_API void Serialize(Serializer &serializer) const;
|
68
|
-
//! Serializes a Constraint to a stand-alone binary blob
|
69
|
-
DUCKDB_API virtual void Serialize(FieldWriter &writer) const = 0;
|
70
|
-
//! Deserializes a blob back into a Constraint
|
71
|
-
DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &source);
|
72
62
|
|
73
|
-
DUCKDB_API virtual void
|
74
|
-
DUCKDB_API static unique_ptr<Constraint>
|
63
|
+
DUCKDB_API virtual void Serialize(Serializer &serializer) const;
|
64
|
+
DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &deserializer);
|
75
65
|
|
76
66
|
public:
|
77
67
|
template <class TARGET>
|
@@ -30,11 +30,8 @@ public:
|
|
30
30
|
|
31
31
|
DUCKDB_API unique_ptr<Constraint> Copy() const override;
|
32
32
|
|
33
|
-
DUCKDB_API void Serialize(
|
34
|
-
DUCKDB_API static unique_ptr<Constraint> Deserialize(
|
35
|
-
|
36
|
-
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
|
37
|
-
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
33
|
+
DUCKDB_API void Serialize(Serializer &serializer) const override;
|
34
|
+
DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &deserializer);
|
38
35
|
};
|
39
36
|
|
40
37
|
} // namespace duckdb
|
@@ -31,13 +31,8 @@ public:
|
|
31
31
|
|
32
32
|
DUCKDB_API unique_ptr<Constraint> Copy() const override;
|
33
33
|
|
34
|
-
|
35
|
-
DUCKDB_API
|
36
|
-
//! Deserializes a ParsedConstraint
|
37
|
-
DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
|
38
|
-
|
39
|
-
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
|
40
|
-
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
34
|
+
DUCKDB_API void Serialize(Serializer &serializer) const override;
|
35
|
+
DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &deserializer);
|
41
36
|
|
42
37
|
private:
|
43
38
|
ForeignKeyConstraint();
|
@@ -28,13 +28,8 @@ public:
|
|
28
28
|
|
29
29
|
DUCKDB_API unique_ptr<Constraint> Copy() const override;
|
30
30
|
|
31
|
-
|
32
|
-
DUCKDB_API
|
33
|
-
//! Deserializes a NotNullConstraint
|
34
|
-
DUCKDB_API static unique_ptr<Constraint> Deserialize(FieldReader &source);
|
35
|
-
|
36
|
-
DUCKDB_API void FormatSerialize(FormatSerializer &serializer) const override;
|
37
|
-
DUCKDB_API static unique_ptr<Constraint> FormatDeserialize(FormatDeserializer &deserializer);
|
31
|
+
DUCKDB_API void Serialize(Serializer &serializer) const override;
|
32
|
+
DUCKDB_API static unique_ptr<Constraint> Deserialize(Deserializer &deserializer);
|
38
33
|
};
|
39
34
|
|
40
35
|
} // namespace duckdb
|