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
package/binding.gyp
CHANGED
@@ -133,7 +133,6 @@
|
|
133
133
|
"src/duckdb/ub_src_planner_expression_binder.cpp",
|
134
134
|
"src/duckdb/ub_src_planner_filter.cpp",
|
135
135
|
"src/duckdb/ub_src_planner_operator.cpp",
|
136
|
-
"src/duckdb/ub_src_planner_parsed_data.cpp",
|
137
136
|
"src/duckdb/ub_src_planner_subquery.cpp",
|
138
137
|
"src/duckdb/ub_src_storage.cpp",
|
139
138
|
"src/duckdb/ub_src_storage_buffer.cpp",
|
@@ -147,7 +146,6 @@
|
|
147
146
|
"src/duckdb/ub_src_transaction.cpp",
|
148
147
|
"src/duckdb/src/verification/copied_statement_verifier.cpp",
|
149
148
|
"src/duckdb/src/verification/deserialized_statement_verifier.cpp",
|
150
|
-
"src/duckdb/src/verification/deserialized_statement_verifier_v2.cpp",
|
151
149
|
"src/duckdb/src/verification/external_statement_verifier.cpp",
|
152
150
|
"src/duckdb/src/verification/no_operator_caching_verifier.cpp",
|
153
151
|
"src/duckdb/src/verification/parsed_statement_verifier.cpp",
|
package/lib/duckdb.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
/**
|
2
2
|
* @module duckdb
|
3
|
-
* @summary
|
3
|
+
* @summary DuckDB is an embeddable SQL OLAP Database Management System
|
4
4
|
*/
|
5
5
|
|
6
6
|
var duckdb = require('./duckdb-binding.js');
|
@@ -441,7 +441,7 @@ Database.prototype.close_internal;
|
|
441
441
|
Database.prototype.wait;
|
442
442
|
|
443
443
|
/**
|
444
|
-
*
|
444
|
+
* Currently a no-op. Provided for SQLite compatibility
|
445
445
|
* @method
|
446
446
|
* @param callback
|
447
447
|
* @return {void}
|
@@ -449,7 +449,7 @@ Database.prototype.wait;
|
|
449
449
|
Database.prototype.serialize;
|
450
450
|
|
451
451
|
/**
|
452
|
-
*
|
452
|
+
* Currently a no-op. Provided for SQLite compatibility
|
453
453
|
* @method
|
454
454
|
* @param callback
|
455
455
|
* @return {void}
|
package/package.json
CHANGED
package/src/connection.cpp
CHANGED
@@ -9,9 +9,7 @@
|
|
9
9
|
|
10
10
|
namespace node_duckdb {
|
11
11
|
|
12
|
-
Napi::FunctionReference Connection::
|
13
|
-
|
14
|
-
Napi::Object Connection::Init(Napi::Env env, Napi::Object exports) {
|
12
|
+
Napi::FunctionReference Connection::Init(Napi::Env env, Napi::Object exports) {
|
15
13
|
Napi::HandleScope scope(env);
|
16
14
|
|
17
15
|
Napi::Function t =
|
@@ -22,11 +20,9 @@ Napi::Object Connection::Init(Napi::Env env, Napi::Object exports) {
|
|
22
20
|
InstanceMethod("unregister_udf", &Connection::UnregisterUdf),
|
23
21
|
InstanceMethod("unregister_buffer", &Connection::UnRegisterBuffer)});
|
24
22
|
|
25
|
-
constructor = Napi::Persistent(t);
|
26
|
-
constructor.SuppressDestruct();
|
27
|
-
|
28
23
|
exports.Set("Connection", t);
|
29
|
-
|
24
|
+
|
25
|
+
return Napi::Persistent(t);
|
30
26
|
}
|
31
27
|
|
32
28
|
struct ConnectTask : public Task {
|
@@ -103,7 +99,8 @@ Napi::Value Connection::Prepare(const Napi::CallbackInfo &info) {
|
|
103
99
|
for (size_t i = 0; i < info.Length(); i++) {
|
104
100
|
args.push_back(info[i]);
|
105
101
|
}
|
106
|
-
auto
|
102
|
+
auto obj = Statement::NewInstance(info.Env(), args);
|
103
|
+
auto res = Statement::Unwrap(obj);
|
107
104
|
res->SetProcessFirstParam();
|
108
105
|
return res->Value();
|
109
106
|
}
|
@@ -515,4 +512,8 @@ Napi::Value Connection::UnRegisterBuffer(const Napi::CallbackInfo &info) {
|
|
515
512
|
return Value();
|
516
513
|
}
|
517
514
|
|
515
|
+
Napi::Object Connection::NewInstance(const Napi::Value &db) {
|
516
|
+
return NodeDuckDB::GetData(db.Env())->connection_constructor.New({db});
|
517
|
+
}
|
518
|
+
|
518
519
|
} // namespace node_duckdb
|
package/src/database.cpp
CHANGED
@@ -10,9 +10,7 @@
|
|
10
10
|
|
11
11
|
namespace node_duckdb {
|
12
12
|
|
13
|
-
Napi::FunctionReference Database::
|
14
|
-
|
15
|
-
Napi::Object Database::Init(Napi::Env env, Napi::Object exports) {
|
13
|
+
Napi::FunctionReference Database::Init(Napi::Env env, Napi::Object exports) {
|
16
14
|
Napi::HandleScope scope(env);
|
17
15
|
|
18
16
|
Napi::Function t = DefineClass(
|
@@ -22,11 +20,9 @@ Napi::Object Database::Init(Napi::Env env, Napi::Object exports) {
|
|
22
20
|
InstanceMethod("connect", &Database::Connect), InstanceMethod("interrupt", &Database::Interrupt),
|
23
21
|
InstanceMethod("registerReplacementScan", &Database::RegisterReplacementScan)});
|
24
22
|
|
25
|
-
constructor = Napi::Persistent(t);
|
26
|
-
constructor.SuppressDestruct();
|
27
|
-
|
28
23
|
exports.Set("Database", t);
|
29
|
-
|
24
|
+
|
25
|
+
return Napi::Persistent(t);
|
30
26
|
}
|
31
27
|
|
32
28
|
struct OpenTask : public Task {
|
@@ -266,7 +262,8 @@ Napi::Value Database::Interrupt(const Napi::CallbackInfo &info) {
|
|
266
262
|
}
|
267
263
|
|
268
264
|
Napi::Value Database::Connect(const Napi::CallbackInfo &info) {
|
269
|
-
|
265
|
+
Napi::HandleScope scope(env);
|
266
|
+
return Connection::NewInstance(Value());
|
270
267
|
}
|
271
268
|
|
272
269
|
struct JSRSArgs {
|
@@ -543,12 +543,12 @@ struct ICUDatePart : public ICUDateFunc {
|
|
543
543
|
return make_uniq<BindStructData>(context, part_codes, bigints, doubles);
|
544
544
|
}
|
545
545
|
|
546
|
-
static void SerializeFunction(
|
546
|
+
static void SerializeFunction(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
|
547
547
|
const ScalarFunction &function) {
|
548
548
|
throw NotImplementedException("FIXME: serialize icu-datepart");
|
549
549
|
}
|
550
550
|
|
551
|
-
static duckdb::unique_ptr<FunctionData> DeserializeFunction(
|
551
|
+
static duckdb::unique_ptr<FunctionData> DeserializeFunction(Deserializer &deserializer,
|
552
552
|
ScalarFunction &bound_function) {
|
553
553
|
throw NotImplementedException("FIXME: serialize icu-datepart");
|
554
554
|
}
|
@@ -48,15 +48,6 @@ struct ICUStrptime : public ICUDateFunc {
|
|
48
48
|
duckdb::unique_ptr<FunctionData> Copy() const override {
|
49
49
|
return make_uniq<ICUStrptimeBindData>(*this);
|
50
50
|
}
|
51
|
-
|
52
|
-
static void Serialize(FieldWriter &writer, const FunctionData *bind_data_p, const ScalarFunction &function) {
|
53
|
-
throw NotImplementedException("FIXME: serialize icu-strptime");
|
54
|
-
}
|
55
|
-
|
56
|
-
static duckdb::unique_ptr<FunctionData> Deserialize(PlanDeserializationState &state, FieldReader &reader,
|
57
|
-
ScalarFunction &bound_function) {
|
58
|
-
throw NotImplementedException("FIXME: serialize icu-strptime");
|
59
|
-
}
|
60
51
|
};
|
61
52
|
|
62
53
|
static void ParseFormatSpecifier(string_t &format_specifier, StrpTimeFormat &format) {
|
@@ -136,12 +136,12 @@ static duckdb::unique_ptr<FunctionData> ICUSortKeyBind(ClientContext &context, S
|
|
136
136
|
}
|
137
137
|
}
|
138
138
|
|
139
|
-
static void ICUCollateSerialize(
|
139
|
+
static void ICUCollateSerialize(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
|
140
|
+
const ScalarFunction &function) {
|
140
141
|
throw NotImplementedException("FIXME: serialize icu-collate");
|
141
142
|
}
|
142
143
|
|
143
|
-
static duckdb::unique_ptr<FunctionData> ICUCollateDeserialize(
|
144
|
-
ScalarFunction &bound_function) {
|
144
|
+
static duckdb::unique_ptr<FunctionData> ICUCollateDeserialize(Deserializer &deserializer, ScalarFunction &function) {
|
145
145
|
throw NotImplementedException("FIXME: serialize icu-collate");
|
146
146
|
}
|
147
147
|
|
@@ -141,7 +141,7 @@ U_NAMESPACE_BEGIN
|
|
141
141
|
* cout << "DST_OFFSET: " << (calendar->get( UCAL_DST_OFFSET, success )/(60*60*1000)) << endl; // in hours
|
142
142
|
*
|
143
143
|
* if (U_FAILURE(success)) {
|
144
|
-
* cout << "An error
|
144
|
+
* cout << "An error occurred. success=" << u_errorName(success) << endl;
|
145
145
|
* }
|
146
146
|
*
|
147
147
|
* delete ids;
|
@@ -1,28 +1,14 @@
|
|
1
1
|
#include "buffered_json_reader.hpp"
|
2
2
|
|
3
|
-
#include "duckdb/common/field_writer.hpp"
|
4
3
|
#include "duckdb/common/file_opener.hpp"
|
5
|
-
#include "duckdb/common/
|
6
|
-
#include "duckdb/common/serializer/
|
4
|
+
#include "duckdb/common/printer.hpp"
|
5
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
6
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
7
7
|
|
8
8
|
#include <utility>
|
9
9
|
|
10
10
|
namespace duckdb {
|
11
11
|
|
12
|
-
void BufferedJSONReaderOptions::Serialize(FieldWriter &writer) const {
|
13
|
-
writer.WriteField<JSONFormat>(format);
|
14
|
-
writer.WriteField<JSONRecordType>(record_type);
|
15
|
-
writer.WriteField<FileCompressionType>(compression);
|
16
|
-
writer.WriteSerializable(file_options);
|
17
|
-
}
|
18
|
-
|
19
|
-
void BufferedJSONReaderOptions::Deserialize(FieldReader &reader) {
|
20
|
-
format = reader.ReadRequired<JSONFormat>();
|
21
|
-
record_type = reader.ReadRequired<JSONRecordType>();
|
22
|
-
compression = reader.ReadRequired<FileCompressionType>();
|
23
|
-
file_options = reader.ReadRequiredSerializable<MultiFileReaderOptions, MultiFileReaderOptions>();
|
24
|
-
}
|
25
|
-
|
26
12
|
JSONBufferHandle::JSONBufferHandle(idx_t buffer_index_p, idx_t readers_p, AllocatedData &&buffer_p, idx_t buffer_size_p)
|
27
13
|
: buffer_index(buffer_index_p), readers(readers_p), buffer(std::move(buffer_p)), buffer_size(buffer_size_p) {
|
28
14
|
}
|
@@ -31,11 +31,8 @@ public:
|
|
31
31
|
MultiFileReaderOptions file_options;
|
32
32
|
|
33
33
|
public:
|
34
|
-
void Serialize(
|
35
|
-
|
36
|
-
|
37
|
-
void FormatSerialize(FormatSerializer &serializer) const;
|
38
|
-
static BufferedJSONReaderOptions FormatDeserialize(FormatDeserializer &deserializer);
|
34
|
+
void Serialize(Serializer &serializer) const;
|
35
|
+
static BufferedJSONReaderOptions Deserialize(Deserializer &deserializer);
|
39
36
|
};
|
40
37
|
|
41
38
|
struct JSONBufferHandle {
|
@@ -1,10 +1,10 @@
|
|
1
1
|
#pragma once
|
2
2
|
#include "json_common.hpp"
|
3
|
-
#include "duckdb/common/serializer/
|
3
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
4
4
|
|
5
5
|
namespace duckdb {
|
6
6
|
|
7
|
-
class JsonDeserializer : public
|
7
|
+
class JsonDeserializer : public Deserializer {
|
8
8
|
public:
|
9
9
|
JsonDeserializer(yyjson_val *val, yyjson_doc *doc) : doc(doc) {
|
10
10
|
deserialize_enum_from_string = true;
|
@@ -92,11 +92,8 @@ public:
|
|
92
92
|
void InitializeFormats(bool auto_detect);
|
93
93
|
void SetCompression(const string &compression);
|
94
94
|
|
95
|
-
void Serialize(
|
96
|
-
|
97
|
-
|
98
|
-
void FormatSerialize(FormatSerializer &serializer) const;
|
99
|
-
static unique_ptr<JSONScanData> FormatDeserialize(FormatDeserializer &deserializer);
|
95
|
+
void Serialize(Serializer &serializer) const;
|
96
|
+
static unique_ptr<JSONScanData> Deserialize(Deserializer &deserializer);
|
100
97
|
|
101
98
|
public:
|
102
99
|
//! Scan type
|
@@ -294,13 +291,9 @@ public:
|
|
294
291
|
static void ComplexFilterPushdown(ClientContext &context, LogicalGet &get, FunctionData *bind_data_p,
|
295
292
|
vector<unique_ptr<Expression>> &filters);
|
296
293
|
|
297
|
-
static void Serialize(
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
static void FormatSerialize(FormatSerializer &serializer, const optional_ptr<FunctionData> bind_data,
|
302
|
-
const TableFunction &function);
|
303
|
-
static unique_ptr<FunctionData> FormatDeserialize(FormatDeserializer &deserializer, TableFunction &function);
|
294
|
+
static void Serialize(Serializer &serializer, const optional_ptr<FunctionData> bind_data,
|
295
|
+
const TableFunction &function);
|
296
|
+
static unique_ptr<FunctionData> Deserialize(Deserializer &deserializer, TableFunction &function);
|
304
297
|
|
305
298
|
static void TableFunctionDefaults(TableFunction &table_function);
|
306
299
|
};
|
@@ -1,11 +1,11 @@
|
|
1
1
|
#pragma once
|
2
2
|
|
3
3
|
#include "json_common.hpp"
|
4
|
-
#include "duckdb/common/serializer/
|
4
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
5
5
|
|
6
6
|
namespace duckdb {
|
7
7
|
|
8
|
-
struct JsonSerializer :
|
8
|
+
struct JsonSerializer : Serializer {
|
9
9
|
private:
|
10
10
|
yyjson_mut_doc *doc;
|
11
11
|
yyjson_mut_val *current_tag;
|
@@ -34,7 +34,7 @@ public:
|
|
34
34
|
template <class T>
|
35
35
|
static yyjson_mut_val *Serialize(T &value, yyjson_mut_doc *doc, bool skip_if_null, bool skip_if_empty) {
|
36
36
|
JsonSerializer serializer(doc, skip_if_null, skip_if_empty);
|
37
|
-
value.
|
37
|
+
value.Serialize(serializer);
|
38
38
|
return serializer.GetRootObject();
|
39
39
|
}
|
40
40
|
|
@@ -42,11 +42,8 @@ public:
|
|
42
42
|
idx_t object_index = DConstants::INVALID_INDEX;
|
43
43
|
|
44
44
|
public:
|
45
|
-
void Serialize(
|
46
|
-
|
47
|
-
|
48
|
-
void FormatSerialize(FormatSerializer &serializer) const;
|
49
|
-
static JSONTransformOptions FormatDeserialize(FormatDeserializer &deserializer);
|
45
|
+
void Serialize(Serializer &serializer) const;
|
46
|
+
static JSONTransformOptions Deserialize(Deserializer &deserializer);
|
50
47
|
};
|
51
48
|
|
52
49
|
struct TryParseDate {
|
@@ -184,7 +184,7 @@ static unique_ptr<SelectStatement> DeserializeSelectStatement(string_t input, yy
|
|
184
184
|
}
|
185
185
|
auto stmt_json = yyjson_arr_get(statements, 0);
|
186
186
|
JsonDeserializer deserializer(stmt_json, doc);
|
187
|
-
return SelectStatement::
|
187
|
+
return SelectStatement::Deserialize(deserializer);
|
188
188
|
}
|
189
189
|
|
190
190
|
//----------------------------------------------------------------------
|
@@ -8,8 +8,8 @@
|
|
8
8
|
#include "duckdb/function/scalar/nested_functions.hpp"
|
9
9
|
#include "json_functions.hpp"
|
10
10
|
#include "json_scan.hpp"
|
11
|
-
#include "duckdb/common/serializer/
|
12
|
-
#include "duckdb/common/serializer/
|
11
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
12
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
13
13
|
|
14
14
|
namespace duckdb {
|
15
15
|
|
@@ -22,22 +22,6 @@ JSONTransformOptions::JSONTransformOptions(bool strict_cast_p, bool error_duplic
|
|
22
22
|
error_unknown_key(error_unkown_key_p) {
|
23
23
|
}
|
24
24
|
|
25
|
-
void JSONTransformOptions::Serialize(FieldWriter &writer) const {
|
26
|
-
writer.WriteField(strict_cast);
|
27
|
-
writer.WriteField(error_duplicate_key);
|
28
|
-
writer.WriteField(error_missing_key);
|
29
|
-
writer.WriteField(error_unknown_key);
|
30
|
-
writer.WriteField(delay_error);
|
31
|
-
}
|
32
|
-
|
33
|
-
void JSONTransformOptions::Deserialize(FieldReader &reader) {
|
34
|
-
strict_cast = reader.ReadRequired<bool>();
|
35
|
-
error_duplicate_key = reader.ReadRequired<bool>();
|
36
|
-
error_missing_key = reader.ReadRequired<bool>();
|
37
|
-
error_unknown_key = reader.ReadRequired<bool>();
|
38
|
-
delay_error = reader.ReadRequired<bool>();
|
39
|
-
}
|
40
|
-
|
41
25
|
//! Forward declaration for recursion
|
42
26
|
static LogicalType StructureStringToType(yyjson_val *val, ClientContext &context);
|
43
27
|
|
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
#include "duckdb/common/enum_util.hpp"
|
4
4
|
#include "duckdb/common/multi_file_reader.hpp"
|
5
|
-
#include "duckdb/common/serializer/format_deserializer.hpp"
|
6
|
-
#include "duckdb/common/serializer/format_serializer.hpp"
|
7
5
|
#include "duckdb/main/extension_helper.hpp"
|
8
6
|
#include "duckdb/parallel/task_scheduler.hpp"
|
9
7
|
#include "duckdb/storage/buffer_manager.hpp"
|
8
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
9
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
10
10
|
|
11
11
|
namespace duckdb {
|
12
12
|
|
@@ -116,64 +116,6 @@ void JSONScanData::SetCompression(const string &compression) {
|
|
116
116
|
options.compression = EnumUtil::FromString<FileCompressionType>(StringUtil::Upper(compression));
|
117
117
|
}
|
118
118
|
|
119
|
-
void JSONScanData::Serialize(FieldWriter &writer) const {
|
120
|
-
writer.WriteField<JSONScanType>(type);
|
121
|
-
|
122
|
-
options.Serialize(writer);
|
123
|
-
|
124
|
-
writer.WriteSerializable(reader_bind);
|
125
|
-
|
126
|
-
writer.WriteList<string>(files);
|
127
|
-
|
128
|
-
writer.WriteField<bool>(ignore_errors);
|
129
|
-
writer.WriteField<idx_t>(maximum_object_size);
|
130
|
-
writer.WriteField<bool>(auto_detect);
|
131
|
-
writer.WriteField<idx_t>(sample_size);
|
132
|
-
writer.WriteField<idx_t>(max_depth);
|
133
|
-
|
134
|
-
transform_options.Serialize(writer);
|
135
|
-
writer.WriteList<string>(names);
|
136
|
-
if (!date_format.empty()) {
|
137
|
-
writer.WriteString(date_format);
|
138
|
-
} else if (date_format_map.HasFormats(LogicalTypeId::DATE)) {
|
139
|
-
writer.WriteString(date_format_map.GetFormat(LogicalTypeId::DATE).format_specifier);
|
140
|
-
} else {
|
141
|
-
writer.WriteString("");
|
142
|
-
}
|
143
|
-
if (!timestamp_format.empty()) {
|
144
|
-
writer.WriteString(timestamp_format);
|
145
|
-
} else if (date_format_map.HasFormats(LogicalTypeId::TIMESTAMP)) {
|
146
|
-
writer.WriteString(date_format_map.GetFormat(LogicalTypeId::TIMESTAMP).format_specifier);
|
147
|
-
} else {
|
148
|
-
writer.WriteString("");
|
149
|
-
}
|
150
|
-
}
|
151
|
-
|
152
|
-
void JSONScanData::Deserialize(ClientContext &context, FieldReader &reader) {
|
153
|
-
type = reader.ReadRequired<JSONScanType>();
|
154
|
-
|
155
|
-
options.Deserialize(reader);
|
156
|
-
|
157
|
-
reader_bind = reader.ReadRequiredSerializable<MultiFileReaderBindData, MultiFileReaderBindData>();
|
158
|
-
|
159
|
-
files = reader.ReadRequiredList<string>();
|
160
|
-
InitializeReaders(context);
|
161
|
-
|
162
|
-
ignore_errors = reader.ReadRequired<bool>();
|
163
|
-
maximum_object_size = reader.ReadRequired<idx_t>();
|
164
|
-
auto_detect = reader.ReadRequired<bool>();
|
165
|
-
sample_size = reader.ReadRequired<idx_t>();
|
166
|
-
max_depth = reader.ReadRequired<idx_t>();
|
167
|
-
|
168
|
-
transform_options.Deserialize(reader);
|
169
|
-
names = reader.ReadRequiredList<string>();
|
170
|
-
date_format = reader.ReadRequired<string>();
|
171
|
-
timestamp_format = reader.ReadRequired<string>();
|
172
|
-
|
173
|
-
InitializeFormats();
|
174
|
-
transform_options.date_format_map = &date_format_map;
|
175
|
-
}
|
176
|
-
|
177
119
|
string JSONScanData::GetDateFormat() const {
|
178
120
|
if (!date_format.empty()) {
|
179
121
|
return date_format;
|
@@ -988,26 +930,17 @@ void JSONScan::ComplexFilterPushdown(ClientContext &context, LogicalGet &get, Fu
|
|
988
930
|
}
|
989
931
|
}
|
990
932
|
|
991
|
-
void JSONScan::Serialize(
|
992
|
-
auto &bind_data = bind_data_p->Cast<JSONScanData>();
|
993
|
-
bind_data.Serialize(writer);
|
994
|
-
}
|
995
|
-
|
996
|
-
unique_ptr<FunctionData> JSONScan::Deserialize(PlanDeserializationState &state, FieldReader &reader, TableFunction &) {
|
997
|
-
auto result = make_uniq<JSONScanData>();
|
998
|
-
result->Deserialize(state.context, reader);
|
999
|
-
return std::move(result);
|
1000
|
-
}
|
1001
|
-
|
1002
|
-
void JSONScan::FormatSerialize(FormatSerializer &serializer, const optional_ptr<FunctionData> bind_data_p,
|
1003
|
-
const TableFunction &) {
|
933
|
+
void JSONScan::Serialize(Serializer &serializer, const optional_ptr<FunctionData> bind_data_p, const TableFunction &) {
|
1004
934
|
auto &bind_data = bind_data_p->Cast<JSONScanData>();
|
1005
935
|
serializer.WriteProperty(100, "scan_data", &bind_data);
|
1006
936
|
}
|
1007
937
|
|
1008
|
-
unique_ptr<FunctionData> JSONScan::
|
938
|
+
unique_ptr<FunctionData> JSONScan::Deserialize(Deserializer &deserializer, TableFunction &) {
|
1009
939
|
unique_ptr<JSONScanData> result;
|
1010
940
|
deserializer.ReadProperty(100, "scan_data", result);
|
941
|
+
result->InitializeReaders(deserializer.Get<ClientContext &>());
|
942
|
+
result->InitializeFormats();
|
943
|
+
result->transform_options.date_format_map = &result->date_format_map;
|
1011
944
|
return std::move(result);
|
1012
945
|
}
|
1013
946
|
|
@@ -1025,8 +958,6 @@ void JSONScan::TableFunctionDefaults(TableFunction &table_function) {
|
|
1025
958
|
|
1026
959
|
table_function.serialize = Serialize;
|
1027
960
|
table_function.deserialize = Deserialize;
|
1028
|
-
table_function.format_serialize = FormatSerialize;
|
1029
|
-
table_function.format_deserialize = FormatDeserialize;
|
1030
961
|
|
1031
962
|
table_function.projection_pushdown = true;
|
1032
963
|
table_function.filter_pushdown = false;
|
@@ -3,22 +3,22 @@
|
|
3
3
|
// Do not edit this file manually, your changes will be overwritten
|
4
4
|
//===----------------------------------------------------------------------===//
|
5
5
|
|
6
|
-
#include "duckdb/common/serializer/
|
7
|
-
#include "duckdb/common/serializer/
|
6
|
+
#include "duckdb/common/serializer/serializer.hpp"
|
7
|
+
#include "duckdb/common/serializer/deserializer.hpp"
|
8
8
|
#include "buffered_json_reader.hpp"
|
9
9
|
#include "json_transform.hpp"
|
10
10
|
#include "json_scan.hpp"
|
11
11
|
|
12
12
|
namespace duckdb {
|
13
13
|
|
14
|
-
void BufferedJSONReaderOptions::
|
14
|
+
void BufferedJSONReaderOptions::Serialize(Serializer &serializer) const {
|
15
15
|
serializer.WriteProperty(100, "format", format);
|
16
16
|
serializer.WriteProperty(101, "record_type", record_type);
|
17
17
|
serializer.WriteProperty(102, "compression", compression);
|
18
18
|
serializer.WriteProperty(103, "file_options", file_options);
|
19
19
|
}
|
20
20
|
|
21
|
-
BufferedJSONReaderOptions BufferedJSONReaderOptions::
|
21
|
+
BufferedJSONReaderOptions BufferedJSONReaderOptions::Deserialize(Deserializer &deserializer) {
|
22
22
|
BufferedJSONReaderOptions result;
|
23
23
|
deserializer.ReadProperty(100, "format", result.format);
|
24
24
|
deserializer.ReadProperty(101, "record_type", result.record_type);
|
@@ -27,7 +27,7 @@ BufferedJSONReaderOptions BufferedJSONReaderOptions::FormatDeserialize(FormatDes
|
|
27
27
|
return result;
|
28
28
|
}
|
29
29
|
|
30
|
-
void JSONScanData::
|
30
|
+
void JSONScanData::Serialize(Serializer &serializer) const {
|
31
31
|
serializer.WriteProperty(100, "json_type", type);
|
32
32
|
serializer.WriteProperty(101, "options", options);
|
33
33
|
serializer.WriteProperty(102, "reader_bind", reader_bind);
|
@@ -43,7 +43,7 @@ void JSONScanData::FormatSerialize(FormatSerializer &serializer) const {
|
|
43
43
|
serializer.WriteProperty(112, "timestamp_format", GetTimestampFormat());
|
44
44
|
}
|
45
45
|
|
46
|
-
unique_ptr<JSONScanData> JSONScanData::
|
46
|
+
unique_ptr<JSONScanData> JSONScanData::Deserialize(Deserializer &deserializer) {
|
47
47
|
auto type = deserializer.ReadProperty<JSONScanType>(100, "json_type");
|
48
48
|
auto options = deserializer.ReadProperty<BufferedJSONReaderOptions>(101, "options");
|
49
49
|
auto reader_bind = deserializer.ReadProperty<MultiFileReaderBindData>(102, "reader_bind");
|
@@ -71,7 +71,7 @@ unique_ptr<JSONScanData> JSONScanData::FormatDeserialize(FormatDeserializer &des
|
|
71
71
|
return result;
|
72
72
|
}
|
73
73
|
|
74
|
-
void JSONTransformOptions::
|
74
|
+
void JSONTransformOptions::Serialize(Serializer &serializer) const {
|
75
75
|
serializer.WriteProperty(100, "strict_cast", strict_cast);
|
76
76
|
serializer.WriteProperty(101, "error_duplicate_key", error_duplicate_key);
|
77
77
|
serializer.WriteProperty(102, "error_missing_key", error_missing_key);
|
@@ -79,7 +79,7 @@ void JSONTransformOptions::FormatSerialize(FormatSerializer &serializer) const {
|
|
79
79
|
serializer.WriteProperty(104, "delay_error", delay_error);
|
80
80
|
}
|
81
81
|
|
82
|
-
JSONTransformOptions JSONTransformOptions::
|
82
|
+
JSONTransformOptions JSONTransformOptions::Deserialize(Deserializer &deserializer) {
|
83
83
|
JSONTransformOptions result;
|
84
84
|
deserializer.ReadProperty(100, "strict_cast", result.strict_cast);
|
85
85
|
deserializer.ReadProperty(101, "error_duplicate_key", result.error_duplicate_key);
|