duckdb 0.8.1-dev51.0 → 0.8.1-dev96.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/package.json +1 -1
- package/src/duckdb/extension/icu/icu-datepart.cpp +1 -1
- package/src/duckdb/extension/json/include/json_common.hpp +1 -1
- package/src/duckdb/extension/json/include/json_executors.hpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_create.cpp +6 -6
- package/src/duckdb/extension/json/json_functions/json_merge_patch.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_transform.cpp +1 -1
- package/src/duckdb/extension/parquet/column_reader.cpp +52 -51
- package/src/duckdb/extension/parquet/column_writer.cpp +57 -45
- package/src/duckdb/extension/parquet/include/cast_column_reader.hpp +1 -1
- package/src/duckdb/extension/parquet/include/column_reader.hpp +5 -4
- package/src/duckdb/extension/parquet/include/column_writer.hpp +24 -0
- package/src/duckdb/extension/parquet/include/list_column_reader.hpp +1 -1
- package/src/duckdb/extension/parquet/include/parquet_dbp_decoder.hpp +4 -4
- package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +4 -5
- package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +4 -4
- package/src/duckdb/extension/parquet/include/row_number_column_reader.hpp +1 -1
- package/src/duckdb/extension/parquet/include/struct_column_reader.hpp +1 -1
- package/src/duckdb/extension/parquet/parquet-extension.cpp +1 -1
- package/src/duckdb/extension/parquet/parquet_metadata.cpp +1 -1
- package/src/duckdb/extension/parquet/parquet_reader.cpp +18 -18
- package/src/duckdb/extension/parquet/parquet_statistics.cpp +23 -26
- package/src/duckdb/extension/parquet/parquet_timestamp.cpp +2 -2
- package/src/duckdb/extension/parquet/parquet_writer.cpp +3 -3
- package/src/duckdb/extension/parquet/zstd_file_system.cpp +3 -3
- package/src/duckdb/src/catalog/catalog_set.cpp +1 -1
- package/src/duckdb/src/catalog/dependency_manager.cpp +2 -2
- package/src/duckdb/src/common/arrow/arrow_appender.cpp +12 -12
- package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +7 -7
- package/src/duckdb/src/common/checksum.cpp +1 -1
- package/src/duckdb/src/common/compressed_file_system.cpp +6 -6
- package/src/duckdb/src/common/crypto/md5.cpp +9 -9
- package/src/duckdb/src/common/field_writer.cpp +1 -1
- package/src/duckdb/src/common/file_system.cpp +15 -2
- package/src/duckdb/src/common/fsst.cpp +11 -6
- package/src/duckdb/src/common/gzip_file_system.cpp +8 -8
- package/src/duckdb/src/common/hive_partitioning.cpp +1 -1
- package/src/duckdb/src/common/local_file_system.cpp +11 -11
- package/src/duckdb/src/common/operator/cast_operators.cpp +1 -1
- package/src/duckdb/src/common/pipe_file_system.cpp +2 -2
- package/src/duckdb/src/common/radix_partitioning.cpp +2 -2
- package/src/duckdb/src/common/row_operations/row_heap_gather.cpp +1 -1
- package/src/duckdb/src/common/row_operations/row_heap_scatter.cpp +5 -5
- package/src/duckdb/src/common/row_operations/row_match.cpp +1 -1
- package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +2 -2
- package/src/duckdb/src/common/row_operations/row_scatter.cpp +4 -4
- package/src/duckdb/src/common/serializer/binary_deserializer.cpp +1 -1
- package/src/duckdb/src/common/serializer/binary_serializer.cpp +3 -3
- package/src/duckdb/src/common/serializer.cpp +1 -1
- package/src/duckdb/src/common/sort/comparators.cpp +1 -1
- package/src/duckdb/src/common/sort/merge_sorter.cpp +7 -2
- package/src/duckdb/src/common/sort/partition_state.cpp +2 -2
- package/src/duckdb/src/common/types/bit.cpp +5 -5
- package/src/duckdb/src/common/types/blob.cpp +8 -8
- package/src/duckdb/src/common/types/column/column_data_allocator.cpp +4 -4
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +3 -3
- package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +1 -1
- package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +2 -2
- package/src/duckdb/src/common/types/hash.cpp +2 -2
- package/src/duckdb/src/common/types/hyperloglog.cpp +22 -21
- package/src/duckdb/src/common/types/list_segment.cpp +77 -49
- package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +1 -1
- package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +5 -3
- package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +17 -17
- package/src/duckdb/src/common/types/string_heap.cpp +1 -1
- package/src/duckdb/src/common/types/value.cpp +2 -2
- package/src/duckdb/src/common/types/vector.cpp +98 -101
- package/src/duckdb/src/common/types/vector_cache.cpp +6 -6
- package/src/duckdb/src/common/types/vector_constants.cpp +2 -1
- package/src/duckdb/src/common/types.cpp +44 -33
- package/src/duckdb/src/common/vector_operations/boolean_operators.cpp +2 -2
- package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +12 -12
- package/src/duckdb/src/common/vector_operations/vector_hash.cpp +13 -11
- package/src/duckdb/src/common/vector_operations/vector_storage.cpp +1 -1
- package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +4 -4
- package/src/duckdb/src/core_functions/aggregate/distributive/bitstring_agg.cpp +12 -11
- package/src/duckdb/src/core_functions/aggregate/distributive/bool.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/kurtosis.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +7 -7
- package/src/duckdb/src/core_functions/aggregate/distributive/product.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/skew.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/string_agg.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +14 -14
- package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +21 -21
- package/src/duckdb/src/core_functions/aggregate/holistic/reservoir_quantile.cpp +18 -19
- package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +3 -4
- package/src/duckdb/src/core_functions/aggregate/nested/list.cpp +4 -4
- package/src/duckdb/src/core_functions/aggregate/regression/regr_avg.cpp +4 -4
- package/src/duckdb/src/core_functions/aggregate/regression/regr_intercept.cpp +1 -1
- package/src/duckdb/src/core_functions/aggregate/regression/regr_r2.cpp +1 -1
- package/src/duckdb/src/core_functions/aggregate/regression/regr_sxx_syy.cpp +2 -2
- package/src/duckdb/src/core_functions/aggregate/regression/regr_sxy.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/blob/base64.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +45 -45
- package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/generic/current_setting.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/least.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/generic/stats.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +3 -3
- package/src/duckdb/src/core_functions/scalar/list/flatten.cpp +2 -4
- package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +3 -3
- package/src/duckdb/src/core_functions/scalar/list/list_lambdas.cpp +6 -7
- package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/map/cardinality.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/map/map.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/map/map_concat.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/map/map_extract.cpp +5 -9
- package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +3 -3
- package/src/duckdb/src/core_functions/scalar/string/starts_with.cpp +3 -2
- package/src/duckdb/src/core_functions/scalar/string/string_split.cpp +4 -4
- package/src/duckdb/src/core_functions/scalar/string/trim.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/union/union_extract.cpp +1 -1
- package/src/duckdb/src/execution/adaptive_filter.cpp +1 -1
- package/src/duckdb/src/execution/expression_executor/execute_case.cpp +10 -10
- package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +7 -7
- package/src/duckdb/src/execution/expression_executor.cpp +28 -28
- package/src/duckdb/src/execution/index/art/art.cpp +30 -32
- package/src/duckdb/src/execution/index/art/fixed_size_allocator.cpp +3 -4
- package/src/duckdb/src/execution/join_hashtable.cpp +4 -4
- package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_inner.cpp +4 -4
- package/src/duckdb/src/execution/nested_loop_join/nested_loop_join_mark.cpp +2 -2
- package/src/duckdb/src/execution/operator/aggregate/distinct_aggregate_data.cpp +1 -1
- package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +1 -1
- package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +2 -2
- package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +4 -4
- package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/outer_join_marker.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +1 -1
- package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +2 -2
- package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +4 -4
- package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +2 -2
- package/src/duckdb/src/execution/operator/persistent/csv_file_handle.cpp +2 -2
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +2 -3
- package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +1 -1
- package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -2
- package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +1 -1
- package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +3 -3
- package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +2 -1
- package/src/duckdb/src/execution/operator/scan/physical_expression_scan.cpp +1 -1
- package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +2 -2
- package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +1 -1
- package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan_generator.cpp +2 -2
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +1 -1
- package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
- package/src/duckdb/src/execution/window_segment_tree.cpp +8 -6
- package/src/duckdb/src/function/aggregate/distributive/count.cpp +2 -2
- package/src/duckdb/src/function/aggregate/distributive/first.cpp +5 -5
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +8 -8
- package/src/duckdb/src/function/cast/cast_function_set.cpp +1 -1
- package/src/duckdb/src/function/cast/decimal_cast.cpp +1 -1
- package/src/duckdb/src/function/cast/enum_casts.cpp +2 -2
- package/src/duckdb/src/function/cast/string_cast.cpp +11 -11
- package/src/duckdb/src/function/cast/union_casts.cpp +2 -2
- package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +3 -2
- package/src/duckdb/src/function/scalar/generic/constant_or_null.cpp +1 -1
- package/src/duckdb/src/function/scalar/list/list_concat.cpp +2 -2
- package/src/duckdb/src/function/scalar/list/list_extract.cpp +3 -3
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +2 -3
- package/src/duckdb/src/function/scalar/string/concat.cpp +8 -7
- package/src/duckdb/src/function/scalar/string/contains.cpp +4 -4
- package/src/duckdb/src/function/scalar/string/like.cpp +5 -5
- package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +4 -4
- package/src/duckdb/src/function/scalar/string/regexp.cpp +3 -3
- package/src/duckdb/src/function/scalar/string/strip_accents.cpp +1 -1
- package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +1 -1
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +25 -23
- package/src/duckdb/src/function/scalar_function.cpp +3 -3
- package/src/duckdb/src/function/table/arrow.cpp +4 -4
- package/src/duckdb/src/function/table/arrow_conversion.cpp +67 -61
- package/src/duckdb/src/function/table/checkpoint.cpp +1 -1
- package/src/duckdb/src/function/table/copy_csv.cpp +11 -7
- package/src/duckdb/src/function/table/glob.cpp +1 -1
- package/src/duckdb/src/function/table/pragma_last_profiling_output.cpp +1 -1
- package/src/duckdb/src/function/table/range.cpp +4 -4
- package/src/duckdb/src/function/table/read_csv.cpp +4 -4
- package/src/duckdb/src/function/table/repeat.cpp +2 -2
- package/src/duckdb/src/function/table/repeat_row.cpp +2 -2
- package/src/duckdb/src/function/table/system/duckdb_functions.cpp +1 -1
- package/src/duckdb/src/function/table/system/test_vector_types.cpp +1 -1
- package/src/duckdb/src/function/table/table_scan.cpp +2 -2
- package/src/duckdb/src/function/table/unnest.cpp +1 -1
- package/src/duckdb/src/function/table/version/pragma_version.cpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/allocator.hpp +15 -4
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_buffer.hpp +7 -2
- package/src/duckdb/src/include/duckdb/common/crypto/md5.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/exception.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/field_writer.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/file_system.hpp +11 -0
- package/src/duckdb/src/include/duckdb/common/fsst.hpp +2 -3
- package/src/duckdb/src/include/duckdb/common/radix.hpp +3 -3
- package/src/duckdb/src/include/duckdb/common/serializer/binary_deserializer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +4 -1
- package/src/duckdb/src/include/duckdb/common/serializer.hpp +4 -4
- package/src/duckdb/src/include/duckdb/common/typedefs.hpp +30 -0
- package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +6 -2
- package/src/duckdb/src/include/duckdb/common/types/null_value.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +10 -10
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +9 -0
- package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +18 -6
- package/src/duckdb/src/include/duckdb/common/vector_operations/aggregate_executor.hpp +20 -19
- package/src/duckdb/src/include/duckdb/common/vector_operations/binary_executor.hpp +16 -15
- package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +11 -11
- package/src/duckdb/src/include/duckdb/common/vector_operations/ternary_executor.hpp +23 -19
- package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +3 -3
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/corr.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_count.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/sum_helpers.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +14 -2
- package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +3 -3
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_buffer.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +5 -2
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +12 -12
- package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +13 -2
- package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/compression_function.hpp +44 -0
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +6 -6
- package/src/duckdb/src/include/duckdb/function/function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/macro_function.hpp +2 -2
- package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -2
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +6 -6
- package/src/duckdb/src/include/duckdb/main/capi/cast/utils.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/materialized_query_result.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/query_result.hpp +17 -0
- package/src/duckdb/src/include/duckdb/main/relation.hpp +12 -0
- package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +3 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/base_expression.hpp +6 -12
- package/src/duckdb/src/include/duckdb/parser/constraint.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/expression_map.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/parse_info.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +5 -1
- package/src/duckdb/src/include/duckdb/parser/query_node.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +36 -5
- package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +7 -4
- package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref.hpp +4 -3
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +107 -91
- package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/bound_query_node.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +34 -1
- package/src/duckdb/src/include/duckdb/planner/bound_tableref.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression.hpp +5 -7
- package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +2 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/table_binding.hpp +26 -0
- package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +17 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_analyze.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_compress.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/index.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +12 -0
- package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +25 -2
- package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +12 -0
- package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +22 -0
- package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +2 -2
- package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +2 -2
- package/src/duckdb/src/main/capi/appender-c.cpp +5 -5
- package/src/duckdb/src/main/capi/arrow-c.cpp +10 -10
- package/src/duckdb/src/main/capi/cast/from_decimal-c.cpp +1 -1
- package/src/duckdb/src/main/capi/cast/utils-c.cpp +1 -1
- package/src/duckdb/src/main/capi/config-c.cpp +1 -1
- package/src/duckdb/src/main/capi/data_chunk-c.cpp +17 -17
- package/src/duckdb/src/main/capi/duckdb-c.cpp +4 -4
- package/src/duckdb/src/main/capi/duckdb_value-c.cpp +4 -4
- package/src/duckdb/src/main/capi/logical_types-c.cpp +22 -21
- package/src/duckdb/src/main/capi/pending-c.cpp +6 -6
- package/src/duckdb/src/main/capi/prepared-c.cpp +10 -10
- package/src/duckdb/src/main/capi/replacement_scan-c.cpp +6 -6
- package/src/duckdb/src/main/capi/result-c.cpp +23 -23
- package/src/duckdb/src/main/capi/table_function-c.cpp +1 -1
- package/src/duckdb/src/main/client_context.cpp +3 -3
- package/src/duckdb/src/main/database_manager.cpp +1 -1
- package/src/duckdb/src/main/error_manager.cpp +1 -1
- package/src/duckdb/src/main/extension/extension_load.cpp +1 -1
- package/src/duckdb/src/main/relation/create_table_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/create_view_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/delete_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/explain_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/insert_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/update_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/write_csv_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/write_parquet_relation.cpp +1 -1
- package/src/duckdb/src/main/relation.cpp +1 -1
- package/src/duckdb/src/optimizer/deliminator.cpp +12 -12
- package/src/duckdb/src/optimizer/filter_combiner.cpp +3 -3
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +10 -10
- package/src/duckdb/src/optimizer/matcher/expression_matcher.cpp +1 -1
- package/src/duckdb/src/optimizer/pullup/pullup_projection.cpp +2 -2
- package/src/duckdb/src/optimizer/regex_range_filter.cpp +2 -4
- package/src/duckdb/src/optimizer/rule/distributivity.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +6 -6
- package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +2 -2
- package/src/duckdb/src/parallel/executor.cpp +1 -1
- package/src/duckdb/src/parser/base_expression.cpp +2 -5
- package/src/duckdb/src/parser/expression/between_expression.cpp +4 -4
- package/src/duckdb/src/parser/expression/case_expression.cpp +6 -6
- package/src/duckdb/src/parser/expression/cast_expression.cpp +4 -4
- package/src/duckdb/src/parser/expression/collate_expression.cpp +3 -3
- package/src/duckdb/src/parser/expression/columnref_expression.cpp +4 -4
- package/src/duckdb/src/parser/expression/comparison_expression.cpp +3 -3
- package/src/duckdb/src/parser/expression/conjunction_expression.cpp +2 -2
- package/src/duckdb/src/parser/expression/constant_expression.cpp +2 -2
- package/src/duckdb/src/parser/expression/function_expression.cpp +10 -14
- package/src/duckdb/src/parser/expression/lambda_expression.cpp +2 -2
- package/src/duckdb/src/parser/expression/operator_expression.cpp +4 -4
- package/src/duckdb/src/parser/expression/parameter_expression.cpp +2 -2
- package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +3 -3
- package/src/duckdb/src/parser/expression/star_expression.cpp +9 -9
- package/src/duckdb/src/parser/expression/subquery_expression.cpp +5 -5
- package/src/duckdb/src/parser/expression/window_expression.cpp +13 -24
- package/src/duckdb/src/parser/parsed_expression.cpp +34 -18
- package/src/duckdb/src/parser/parsed_expression_iterator.cpp +4 -4
- package/src/duckdb/src/parser/parser.cpp +3 -3
- package/src/duckdb/src/parser/query_node/select_node.cpp +6 -13
- package/src/duckdb/src/parser/query_node.cpp +7 -6
- package/src/duckdb/src/parser/result_modifier.cpp +25 -18
- package/src/duckdb/src/parser/statement/select_statement.cpp +3 -3
- package/src/duckdb/src/parser/tableref/basetableref.cpp +4 -4
- package/src/duckdb/src/parser/tableref/emptytableref.cpp +1 -1
- package/src/duckdb/src/parser/tableref/expressionlistref.cpp +5 -5
- package/src/duckdb/src/parser/tableref/joinref.cpp +6 -6
- package/src/duckdb/src/parser/tableref/pivotref.cpp +10 -15
- package/src/duckdb/src/parser/tableref/subqueryref.cpp +3 -3
- package/src/duckdb/src/parser/tableref/table_function.cpp +3 -3
- package/src/duckdb/src/parser/tableref.cpp +12 -3
- package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +7 -7
- package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +4 -4
- package/src/duckdb/src/parser/transform/expression/transform_boolean_test.cpp +4 -4
- package/src/duckdb/src/parser/transform/expression/transform_case.cpp +8 -10
- package/src/duckdb/src/parser/transform/expression/transform_cast.cpp +7 -9
- package/src/duckdb/src/parser/transform/expression/transform_coalesce.cpp +3 -5
- package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +22 -22
- package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +2 -2
- package/src/duckdb/src/parser/transform/expression/transform_expression.cpp +42 -44
- package/src/duckdb/src/parser/transform/expression/transform_function.cpp +69 -75
- package/src/duckdb/src/parser/transform/expression/transform_grouping_function.cpp +4 -4
- package/src/duckdb/src/parser/transform/expression/transform_interval.cpp +7 -7
- package/src/duckdb/src/parser/transform/expression/transform_is_null.cpp +4 -5
- package/src/duckdb/src/parser/transform/expression/transform_lambda.cpp +5 -6
- package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +28 -29
- package/src/duckdb/src/parser/transform/expression/transform_param_ref.cpp +13 -14
- package/src/duckdb/src/parser/transform/expression/transform_positional_reference.cpp +4 -4
- package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +9 -10
- package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +28 -32
- package/src/duckdb/src/parser/transform/helpers/transform_groupby.cpp +18 -18
- package/src/duckdb/src/parser/transform/helpers/transform_sample.cpp +3 -3
- package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +27 -26
- package/src/duckdb/src/parser/transform/statement/transform_alter_sequence.cpp +11 -14
- package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +14 -16
- package/src/duckdb/src/parser/transform/statement/transform_attach.cpp +8 -9
- package/src/duckdb/src/parser/transform/statement/transform_call.cpp +2 -5
- package/src/duckdb/src/parser/transform/statement/transform_checkpoint.cpp +4 -6
- package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +22 -23
- package/src/duckdb/src/parser/transform/statement/transform_create_database.cpp +3 -4
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +14 -18
- package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +13 -15
- package/src/duckdb/src/parser/transform/statement/transform_create_schema.cpp +8 -10
- package/src/duckdb/src/parser/transform/statement/transform_create_sequence.cpp +8 -10
- package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +26 -28
- package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +8 -10
- package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +12 -15
- package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +13 -18
- package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +11 -13
- package/src/duckdb/src/parser/transform/statement/transform_detach.cpp +3 -4
- package/src/duckdb/src/parser/transform/statement/transform_drop.cpp +20 -22
- package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +5 -7
- package/src/duckdb/src/parser/transform/statement/transform_export.cpp +5 -6
- package/src/duckdb/src/parser/transform/statement/transform_import.cpp +2 -3
- package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +21 -24
- package/src/duckdb/src/parser/transform/statement/transform_load.cpp +4 -5
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +7 -7
- package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +7 -9
- package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +11 -19
- package/src/duckdb/src/parser/transform/statement/transform_rename.cpp +12 -14
- package/src/duckdb/src/parser/transform/statement/transform_select.cpp +12 -9
- package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +34 -34
- package/src/duckdb/src/parser/transform/statement/transform_set.cpp +18 -19
- package/src/duckdb/src/parser/transform/statement/transform_show.cpp +5 -7
- package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +4 -5
- package/src/duckdb/src/parser/transform/statement/transform_transaction.cpp +3 -5
- package/src/duckdb/src/parser/transform/statement/transform_update.cpp +10 -13
- package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +4 -4
- package/src/duckdb/src/parser/transform/statement/transform_use.cpp +2 -3
- package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +6 -10
- package/src/duckdb/src/parser/transform/tableref/transform_base_tableref.cpp +18 -18
- package/src/duckdb/src/parser/transform/tableref/transform_from.cpp +5 -5
- package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +11 -11
- package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +27 -27
- package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +5 -5
- package/src/duckdb/src/parser/transform/tableref/transform_table_function.cpp +13 -12
- package/src/duckdb/src/parser/transform/tableref/transform_tableref.cpp +8 -8
- package/src/duckdb/src/parser/transformer.cpp +46 -46
- package/src/duckdb/src/planner/bind_context.cpp +6 -6
- package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +1 -1
- package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +6 -3
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +8 -8
- package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +4 -4
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_update.cpp +1 -1
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +1 -1
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +2 -2
- package/src/duckdb/src/planner/binder.cpp +1 -1
- package/src/duckdb/src/planner/bound_result_modifier.cpp +16 -11
- package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +5 -5
- package/src/duckdb/src/planner/expression/bound_between_expression.cpp +5 -5
- package/src/duckdb/src/planner/expression/bound_case_expression.cpp +5 -5
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +3 -3
- package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +4 -4
- package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_function_expression.cpp +3 -4
- package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +4 -5
- package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +3 -4
- package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +3 -3
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +8 -21
- package/src/duckdb/src/planner/expression.cpp +15 -0
- package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_iterator.cpp +2 -2
- package/src/duckdb/src/planner/filter/conjunction_filter.cpp +2 -2
- package/src/duckdb/src/planner/filter/constant_filter.cpp +1 -1
- package/src/duckdb/src/planner/logical_operator.cpp +3 -4
- package/src/duckdb/src/planner/logical_operator_visitor.cpp +1 -1
- package/src/duckdb/src/planner/table_filter.cpp +1 -1
- package/src/duckdb/src/storage/arena_allocator.cpp +2 -2
- package/src/duckdb/src/storage/buffer/block_handle.cpp +1 -1
- package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +2 -2
- package/src/duckdb/src/storage/checkpoint_manager.cpp +3 -3
- package/src/duckdb/src/storage/compression/bitpacking.cpp +8 -8
- package/src/duckdb/src/storage/compression/dictionary_compression.cpp +36 -36
- package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +11 -11
- package/src/duckdb/src/storage/compression/fsst.cpp +34 -34
- package/src/duckdb/src/storage/compression/rle.cpp +8 -8
- package/src/duckdb/src/storage/compression/string_uncompressed.cpp +13 -13
- package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +11 -11
- package/src/duckdb/src/storage/data_table.cpp +2 -2
- package/src/duckdb/src/storage/local_storage.cpp +2 -1
- package/src/duckdb/src/storage/magic_bytes.cpp +1 -1
- package/src/duckdb/src/storage/single_file_block_manager.cpp +3 -3
- package/src/duckdb/src/storage/standard_buffer_manager.cpp +3 -3
- package/src/duckdb/src/storage/statistics/list_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/numeric_stats.cpp +1 -1
- package/src/duckdb/src/storage/statistics/string_stats.cpp +15 -14
- package/src/duckdb/src/storage/table/chunk_info.cpp +2 -2
- package/src/duckdb/src/storage/table/column_segment.cpp +3 -3
- package/src/duckdb/src/storage/table/list_column_data.cpp +3 -3
- package/src/duckdb/src/storage/table/row_group.cpp +4 -4
- package/src/duckdb/src/storage/table/standard_column_data.cpp +1 -1
- package/src/duckdb/src/storage/table/update_segment.cpp +12 -12
- package/src/duckdb/src/storage/wal_replay.cpp +1 -1
- package/src/duckdb/src/transaction/cleanup_state.cpp +3 -3
- package/src/duckdb/src/transaction/commit_state.cpp +8 -8
- package/src/duckdb/src/transaction/duck_transaction.cpp +9 -7
- package/src/duckdb/src/transaction/duck_transaction_manager.cpp +16 -16
- package/src/duckdb/src/transaction/rollback_state.cpp +3 -3
- package/src/duckdb/src/verification/prepared_statement_verifier.cpp +1 -1
- package/src/duckdb/src/verification/statement_verifier.cpp +3 -4
- package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +2 -2
- package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
@@ -27,12 +27,12 @@ struct LocalFunctionData {
|
|
27
27
|
template <class TARGET>
|
28
28
|
TARGET &Cast() {
|
29
29
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
30
|
-
return
|
30
|
+
return reinterpret_cast<TARGET &>(*this);
|
31
31
|
}
|
32
32
|
template <class TARGET>
|
33
33
|
const TARGET &Cast() const {
|
34
34
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
35
|
-
return
|
35
|
+
return reinterpret_cast<const TARGET &>(*this);
|
36
36
|
}
|
37
37
|
};
|
38
38
|
|
@@ -43,12 +43,12 @@ struct GlobalFunctionData {
|
|
43
43
|
template <class TARGET>
|
44
44
|
TARGET &Cast() {
|
45
45
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
46
|
-
return
|
46
|
+
return reinterpret_cast<TARGET &>(*this);
|
47
47
|
}
|
48
48
|
template <class TARGET>
|
49
49
|
const TARGET &Cast() const {
|
50
50
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
51
|
-
return
|
51
|
+
return reinterpret_cast<const TARGET &>(*this);
|
52
52
|
}
|
53
53
|
};
|
54
54
|
|
@@ -59,12 +59,12 @@ struct PreparedBatchData {
|
|
59
59
|
template <class TARGET>
|
60
60
|
TARGET &Cast() {
|
61
61
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
62
|
-
return
|
62
|
+
return reinterpret_cast<TARGET &>(*this);
|
63
63
|
}
|
64
64
|
template <class TARGET>
|
65
65
|
const TARGET &Cast() const {
|
66
66
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
67
|
-
return
|
67
|
+
return reinterpret_cast<const TARGET &>(*this);
|
68
68
|
}
|
69
69
|
};
|
70
70
|
|
@@ -49,17 +49,17 @@ struct FunctionData {
|
|
49
49
|
template <class TARGET>
|
50
50
|
TARGET &Cast() {
|
51
51
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
52
|
-
return
|
52
|
+
return reinterpret_cast<TARGET &>(*this);
|
53
53
|
}
|
54
54
|
template <class TARGET>
|
55
55
|
const TARGET &Cast() const {
|
56
56
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
57
|
-
return
|
57
|
+
return reinterpret_cast<const TARGET &>(*this);
|
58
58
|
}
|
59
59
|
// FIXME: this function should be removed in the future
|
60
60
|
template <class TARGET>
|
61
61
|
TARGET &CastNoConst() const {
|
62
|
-
return (TARGET
|
62
|
+
return const_cast<TARGET &>(reinterpret_cast<const TARGET &>(*this));
|
63
63
|
}
|
64
64
|
};
|
65
65
|
|
@@ -57,7 +57,7 @@ public:
|
|
57
57
|
if (type != TARGET::TYPE) {
|
58
58
|
throw InternalException("Failed to cast macro to type - macro type mismatch");
|
59
59
|
}
|
60
|
-
return
|
60
|
+
return reinterpret_cast<TARGET &>(*this);
|
61
61
|
}
|
62
62
|
|
63
63
|
template <class TARGET>
|
@@ -65,7 +65,7 @@ public:
|
|
65
65
|
if (type != TARGET::TYPE) {
|
66
66
|
throw InternalException("Failed to cast macro to type - macro type mismatch");
|
67
67
|
}
|
68
|
-
return
|
68
|
+
return reinterpret_cast<const TARGET &>(*this);
|
69
69
|
}
|
70
70
|
};
|
71
71
|
|
@@ -27,14 +27,14 @@ static void TemplatedContainsOrPosition(DataChunk &args, Vector &result, bool is
|
|
27
27
|
|
28
28
|
UnifiedVectorFormat list_data;
|
29
29
|
list.ToUnifiedFormat(count, list_data);
|
30
|
-
auto list_entries = (
|
30
|
+
auto list_entries = UnifiedVectorFormat::GetData<list_entry_t>(list_data);
|
31
31
|
|
32
32
|
UnifiedVectorFormat value_data;
|
33
33
|
value_vector.ToUnifiedFormat(count, value_data);
|
34
34
|
|
35
35
|
// not required for a comparison of nested types
|
36
|
-
auto child_value = (
|
37
|
-
auto values = (
|
36
|
+
auto child_value = UnifiedVectorFormat::GetData<CHILD_TYPE>(child_data);
|
37
|
+
auto values = UnifiedVectorFormat::GetData<CHILD_TYPE>(value_data);
|
38
38
|
|
39
39
|
for (idx_t i = 0; i < count; i++) {
|
40
40
|
auto list_index = list_data.sel->get_index(i);
|
@@ -25,12 +25,12 @@ struct FunctionLocalState {
|
|
25
25
|
template <class TARGET>
|
26
26
|
TARGET &Cast() {
|
27
27
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
28
|
-
return
|
28
|
+
return reinterpret_cast<TARGET &>(*this);
|
29
29
|
}
|
30
30
|
template <class TARGET>
|
31
31
|
const TARGET &Cast() const {
|
32
32
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
33
|
-
return
|
33
|
+
return reinterpret_cast<const TARGET &>(*this);
|
34
34
|
}
|
35
35
|
};
|
36
36
|
|
@@ -31,12 +31,12 @@ struct TableFunctionInfo {
|
|
31
31
|
template <class TARGET>
|
32
32
|
TARGET &Cast() {
|
33
33
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
34
|
-
return
|
34
|
+
return reinterpret_cast<TARGET &>(*this);
|
35
35
|
}
|
36
36
|
template <class TARGET>
|
37
37
|
const TARGET &Cast() const {
|
38
38
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
39
|
-
return
|
39
|
+
return reinterpret_cast<const TARGET &>(*this);
|
40
40
|
}
|
41
41
|
};
|
42
42
|
|
@@ -55,12 +55,12 @@ public:
|
|
55
55
|
template <class TARGET>
|
56
56
|
TARGET &Cast() {
|
57
57
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
58
|
-
return
|
58
|
+
return reinterpret_cast<TARGET &>(*this);
|
59
59
|
}
|
60
60
|
template <class TARGET>
|
61
61
|
const TARGET &Cast() const {
|
62
62
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
63
|
-
return
|
63
|
+
return reinterpret_cast<const TARGET &>(*this);
|
64
64
|
}
|
65
65
|
};
|
66
66
|
|
@@ -70,12 +70,12 @@ struct LocalTableFunctionState {
|
|
70
70
|
template <class TARGET>
|
71
71
|
TARGET &Cast() {
|
72
72
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
73
|
-
return
|
73
|
+
return reinterpret_cast<TARGET &>(*this);
|
74
74
|
}
|
75
75
|
template <class TARGET>
|
76
76
|
const TARGET &Cast() const {
|
77
77
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
78
|
-
return
|
78
|
+
return reinterpret_cast<const TARGET &>(*this);
|
79
79
|
}
|
80
80
|
};
|
81
81
|
|
@@ -82,7 +82,7 @@ struct ToCStringCastWrapper {
|
|
82
82
|
auto result_size = result_string.GetSize();
|
83
83
|
auto result_data = result_string.GetData();
|
84
84
|
|
85
|
-
char *allocated_data = (
|
85
|
+
char *allocated_data = char_ptr_cast(duckdb_malloc(result_size + 1));
|
86
86
|
memcpy(allocated_data, result_data, result_size);
|
87
87
|
allocated_data[result_size] = '\0';
|
88
88
|
result.data = allocated_data;
|
@@ -17,6 +17,9 @@ namespace duckdb {
|
|
17
17
|
class ClientContext;
|
18
18
|
|
19
19
|
class MaterializedQueryResult : public QueryResult {
|
20
|
+
public:
|
21
|
+
static constexpr const QueryResultType TYPE = QueryResultType::MATERIALIZED_RESULT;
|
22
|
+
|
20
23
|
public:
|
21
24
|
friend class ClientContext;
|
22
25
|
//! Creates a successful query result with the specified names and types
|
@@ -20,6 +20,9 @@ class PreparedStatementData;
|
|
20
20
|
class PendingQueryResult : public BaseQueryResult {
|
21
21
|
friend class ClientContext;
|
22
22
|
|
23
|
+
public:
|
24
|
+
static constexpr const QueryResultType TYPE = QueryResultType::PENDING_RESULT;
|
25
|
+
|
23
26
|
public:
|
24
27
|
DUCKDB_API PendingQueryResult(shared_ptr<ClientContext> context, PreparedStatementData &statement,
|
25
28
|
vector<LogicalType> types, bool allow_stream_result);
|
@@ -89,6 +89,23 @@ public:
|
|
89
89
|
//! To comply, we use the following variable to store the current chunk, and it's position.
|
90
90
|
CurrentChunk current_chunk;
|
91
91
|
|
92
|
+
public:
|
93
|
+
template <class TARGET>
|
94
|
+
TARGET &Cast() {
|
95
|
+
if (type != TARGET::TYPE) {
|
96
|
+
throw InternalException("Failed to cast query result to type - query result type mismatch");
|
97
|
+
}
|
98
|
+
return reinterpret_cast<TARGET &>(*this);
|
99
|
+
}
|
100
|
+
|
101
|
+
template <class TARGET>
|
102
|
+
const TARGET &Cast() const {
|
103
|
+
if (type != TARGET::TYPE) {
|
104
|
+
throw InternalException("Failed to cast query result to type - query result type mismatch");
|
105
|
+
}
|
106
|
+
return reinterpret_cast<const TARGET &>(*this);
|
107
|
+
}
|
108
|
+
|
92
109
|
public:
|
93
110
|
//! Returns the name of the column for the given index
|
94
111
|
DUCKDB_API const string &ColumnName(idx_t index) const;
|
@@ -163,6 +163,18 @@ public:
|
|
163
163
|
|
164
164
|
protected:
|
165
165
|
DUCKDB_API string RenderWhitespace(idx_t depth);
|
166
|
+
|
167
|
+
public:
|
168
|
+
template <class TARGET>
|
169
|
+
TARGET &Cast() {
|
170
|
+
D_ASSERT(dynamic_cast<TARGET *>(this));
|
171
|
+
return reinterpret_cast<TARGET &>(*this);
|
172
|
+
}
|
173
|
+
template <class TARGET>
|
174
|
+
const TARGET &Cast() const {
|
175
|
+
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
176
|
+
return reinterpret_cast<const TARGET &>(*this);
|
177
|
+
}
|
166
178
|
};
|
167
179
|
|
168
180
|
} // namespace duckdb
|
@@ -22,6 +22,9 @@ class PreparedStatementData;
|
|
22
22
|
class StreamQueryResult : public QueryResult {
|
23
23
|
friend class ClientContext;
|
24
24
|
|
25
|
+
public:
|
26
|
+
static constexpr const QueryResultType TYPE = QueryResultType::STREAM_RESULT;
|
27
|
+
|
25
28
|
public:
|
26
29
|
//! Create a successful StreamQueryResult. StreamQueryResults should always be successful initially (it makes no
|
27
30
|
//! sense to stream an error).
|
@@ -111,9 +111,9 @@ private:
|
|
111
111
|
void AddRelationTdom(FilterInfo &filter_info);
|
112
112
|
bool EmptyFilter(FilterInfo &filter_info);
|
113
113
|
|
114
|
-
idx_t InspectConjunctionAND(idx_t cardinality, idx_t column_index, ConjunctionAndFilter
|
114
|
+
idx_t InspectConjunctionAND(idx_t cardinality, idx_t column_index, ConjunctionAndFilter &fil,
|
115
115
|
unique_ptr<BaseStatistics> base_stats);
|
116
|
-
idx_t InspectConjunctionOR(idx_t cardinality, idx_t column_index, ConjunctionOrFilter
|
116
|
+
idx_t InspectConjunctionOR(idx_t cardinality, idx_t column_index, ConjunctionOrFilter &fil,
|
117
117
|
unique_ptr<BaseStatistics> base_stats);
|
118
118
|
idx_t InspectTableFilters(idx_t cardinality, LogicalOperator &op, TableFilterSet &table_filters, idx_t table_index);
|
119
119
|
};
|
@@ -71,19 +71,13 @@ public:
|
|
71
71
|
//! Expression::Equals() returns true), that their hash value is identical as well.
|
72
72
|
virtual hash_t Hash() const = 0;
|
73
73
|
//! Returns true if this expression is equal to another expression
|
74
|
-
virtual bool Equals(const BaseExpression
|
74
|
+
virtual bool Equals(const BaseExpression &other) const;
|
75
75
|
|
76
|
-
static bool Equals(const BaseExpression
|
77
|
-
|
78
|
-
return true;
|
79
|
-
}
|
80
|
-
if (!left || !right) {
|
81
|
-
return false;
|
82
|
-
}
|
83
|
-
return left->Equals(right);
|
76
|
+
static bool Equals(const BaseExpression &left, const BaseExpression &right) {
|
77
|
+
return left.Equals(right);
|
84
78
|
}
|
85
79
|
bool operator==(const BaseExpression &rhs) {
|
86
|
-
return
|
80
|
+
return Equals(rhs);
|
87
81
|
}
|
88
82
|
|
89
83
|
virtual void Verify() const;
|
@@ -94,7 +88,7 @@ public:
|
|
94
88
|
if (expression_class != TARGET::TYPE) {
|
95
89
|
throw InternalException("Failed to cast expression to type - expression type mismatch");
|
96
90
|
}
|
97
|
-
return
|
91
|
+
return reinterpret_cast<TARGET &>(*this);
|
98
92
|
}
|
99
93
|
|
100
94
|
template <class TARGET>
|
@@ -102,7 +96,7 @@ public:
|
|
102
96
|
if (expression_class != TARGET::TYPE) {
|
103
97
|
throw InternalException("Failed to cast expression to type - expression type mismatch");
|
104
98
|
}
|
105
|
-
return
|
99
|
+
return reinterpret_cast<const TARGET &>(*this);
|
106
100
|
}
|
107
101
|
};
|
108
102
|
|
@@ -74,7 +74,7 @@ public:
|
|
74
74
|
if (type != TARGET::TYPE) {
|
75
75
|
throw InternalException("Failed to cast constraint to type - constraint type mismatch");
|
76
76
|
}
|
77
|
-
return
|
77
|
+
return reinterpret_cast<TARGET &>(*this);
|
78
78
|
}
|
79
79
|
|
80
80
|
template <class TARGET>
|
@@ -82,7 +82,7 @@ public:
|
|
82
82
|
if (type != TARGET::TYPE) {
|
83
83
|
throw InternalException("Failed to cast constraint to type - constraint type mismatch");
|
84
84
|
}
|
85
|
-
return
|
85
|
+
return reinterpret_cast<const TARGET &>(*this);
|
86
86
|
}
|
87
87
|
};
|
88
88
|
} // namespace duckdb
|
@@ -27,7 +27,7 @@ public:
|
|
27
27
|
public:
|
28
28
|
string ToString() const override;
|
29
29
|
|
30
|
-
static bool Equal(const BetweenExpression
|
30
|
+
static bool Equal(const BetweenExpression &a, const BetweenExpression &b);
|
31
31
|
|
32
32
|
unique_ptr<ParsedExpression> Copy() const override;
|
33
33
|
|
@@ -32,7 +32,7 @@ public:
|
|
32
32
|
|
33
33
|
string ToString() const override;
|
34
34
|
|
35
|
-
bool Equals(const BaseExpression
|
35
|
+
bool Equals(const BaseExpression &other) const override;
|
36
36
|
hash_t Hash() const override;
|
37
37
|
|
38
38
|
unique_ptr<ParsedExpression> Copy() const override;
|
@@ -35,7 +35,7 @@ public:
|
|
35
35
|
public:
|
36
36
|
string ToString() const override;
|
37
37
|
|
38
|
-
static bool Equal(const CaseExpression
|
38
|
+
static bool Equal(const CaseExpression &a, const CaseExpression &b);
|
39
39
|
|
40
40
|
unique_ptr<ParsedExpression> Copy() const override;
|
41
41
|
|
@@ -31,7 +31,7 @@ public:
|
|
31
31
|
public:
|
32
32
|
string ToString() const override;
|
33
33
|
|
34
|
-
static bool Equal(const CastExpression
|
34
|
+
static bool Equal(const CastExpression &a, const CastExpression &b);
|
35
35
|
|
36
36
|
unique_ptr<ParsedExpression> Copy() const override;
|
37
37
|
|
@@ -28,7 +28,7 @@ public:
|
|
28
28
|
public:
|
29
29
|
string ToString() const override;
|
30
30
|
|
31
|
-
static bool Equal(const CollateExpression
|
31
|
+
static bool Equal(const CollateExpression &a, const CollateExpression &b);
|
32
32
|
|
33
33
|
unique_ptr<ParsedExpression> Copy() const override;
|
34
34
|
|
@@ -41,7 +41,7 @@ public:
|
|
41
41
|
string GetName() const override;
|
42
42
|
string ToString() const override;
|
43
43
|
|
44
|
-
static bool Equal(const ColumnRefExpression
|
44
|
+
static bool Equal(const ColumnRefExpression &a, const ColumnRefExpression &b);
|
45
45
|
hash_t Hash() const override;
|
46
46
|
|
47
47
|
unique_ptr<ParsedExpression> Copy() const override;
|
@@ -27,7 +27,7 @@ public:
|
|
27
27
|
public:
|
28
28
|
string ToString() const override;
|
29
29
|
|
30
|
-
static bool Equal(const ComparisonExpression
|
30
|
+
static bool Equal(const ComparisonExpression &a, const ComparisonExpression &b);
|
31
31
|
|
32
32
|
unique_ptr<ParsedExpression> Copy() const override;
|
33
33
|
|
@@ -31,7 +31,7 @@ public:
|
|
31
31
|
|
32
32
|
string ToString() const override;
|
33
33
|
|
34
|
-
static bool Equal(const ConjunctionExpression
|
34
|
+
static bool Equal(const ConjunctionExpression &a, const ConjunctionExpression &b);
|
35
35
|
|
36
36
|
unique_ptr<ParsedExpression> Copy() const override;
|
37
37
|
|
@@ -27,7 +27,7 @@ public:
|
|
27
27
|
public:
|
28
28
|
string ToString() const override;
|
29
29
|
|
30
|
-
static bool Equal(const ConstantExpression
|
30
|
+
static bool Equal(const ConstantExpression &a, const ConstantExpression &b);
|
31
31
|
hash_t Hash() const override;
|
32
32
|
|
33
33
|
unique_ptr<ParsedExpression> Copy() const override;
|
@@ -53,7 +53,7 @@ public:
|
|
53
53
|
|
54
54
|
unique_ptr<ParsedExpression> Copy() const override;
|
55
55
|
|
56
|
-
static bool Equal(const FunctionExpression
|
56
|
+
static bool Equal(const FunctionExpression &a, const FunctionExpression &b);
|
57
57
|
hash_t Hash() const override;
|
58
58
|
|
59
59
|
void Serialize(FieldWriter &writer) const override;
|
@@ -33,7 +33,7 @@ public:
|
|
33
33
|
public:
|
34
34
|
string ToString() const override;
|
35
35
|
|
36
|
-
static bool Equal(const LambdaExpression
|
36
|
+
static bool Equal(const LambdaExpression &a, const LambdaExpression &b);
|
37
37
|
hash_t Hash() const override;
|
38
38
|
|
39
39
|
unique_ptr<ParsedExpression> Copy() const override;
|
@@ -29,7 +29,7 @@ public:
|
|
29
29
|
public:
|
30
30
|
string ToString() const override;
|
31
31
|
|
32
|
-
static bool Equal(const OperatorExpression
|
32
|
+
static bool Equal(const OperatorExpression &a, const OperatorExpression &b);
|
33
33
|
|
34
34
|
unique_ptr<ParsedExpression> Copy() const override;
|
35
35
|
|
@@ -30,7 +30,7 @@ public:
|
|
30
30
|
|
31
31
|
string ToString() const override;
|
32
32
|
|
33
|
-
static bool Equal(const ParameterExpression
|
33
|
+
static bool Equal(const ParameterExpression &a, const ParameterExpression &b);
|
34
34
|
|
35
35
|
unique_ptr<ParsedExpression> Copy() const override;
|
36
36
|
hash_t Hash() const override;
|
@@ -27,7 +27,7 @@ public:
|
|
27
27
|
|
28
28
|
string ToString() const override;
|
29
29
|
|
30
|
-
static bool Equal(const PositionalReferenceExpression
|
30
|
+
static bool Equal(const PositionalReferenceExpression &a, const PositionalReferenceExpression &b);
|
31
31
|
unique_ptr<ParsedExpression> Copy() const override;
|
32
32
|
hash_t Hash() const override;
|
33
33
|
|
@@ -35,7 +35,7 @@ public:
|
|
35
35
|
public:
|
36
36
|
string ToString() const override;
|
37
37
|
|
38
|
-
static bool Equal(const StarExpression
|
38
|
+
static bool Equal(const StarExpression &a, const StarExpression &b);
|
39
39
|
|
40
40
|
unique_ptr<ParsedExpression> Copy() const override;
|
41
41
|
|
@@ -42,7 +42,7 @@ public:
|
|
42
42
|
|
43
43
|
string ToString() const override;
|
44
44
|
|
45
|
-
static bool Equal(const SubqueryExpression
|
45
|
+
static bool Equal(const SubqueryExpression &a, const SubqueryExpression &b);
|
46
46
|
|
47
47
|
unique_ptr<ParsedExpression> Copy() const override;
|
48
48
|
|
@@ -70,7 +70,7 @@ public:
|
|
70
70
|
//! Convert the Expression to a String
|
71
71
|
string ToString() const override;
|
72
72
|
|
73
|
-
static bool Equal(const WindowExpression
|
73
|
+
static bool Equal(const WindowExpression &a, const WindowExpression &b);
|
74
74
|
|
75
75
|
unique_ptr<ParsedExpression> Copy() const override;
|
76
76
|
|
@@ -20,13 +20,13 @@ public:
|
|
20
20
|
template <class TARGET>
|
21
21
|
TARGET &Cast() {
|
22
22
|
D_ASSERT(dynamic_cast<TARGET *>(this));
|
23
|
-
return
|
23
|
+
return reinterpret_cast<TARGET &>(*this);
|
24
24
|
}
|
25
25
|
|
26
26
|
template <class TARGET>
|
27
27
|
const TARGET &Cast() const {
|
28
28
|
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
29
|
-
return
|
29
|
+
return reinterpret_cast<const TARGET &>(*this);
|
30
30
|
}
|
31
31
|
};
|
32
32
|
|
@@ -47,7 +47,7 @@ public:
|
|
47
47
|
bool IsScalar() const override;
|
48
48
|
bool HasParameter() const override;
|
49
49
|
|
50
|
-
bool Equals(const BaseExpression
|
50
|
+
bool Equals(const BaseExpression &other) const override;
|
51
51
|
hash_t Hash() const override;
|
52
52
|
|
53
53
|
//! Create a copy of this expression
|
@@ -65,6 +65,10 @@ public:
|
|
65
65
|
virtual void FormatSerialize(FormatSerializer &serializer) const;
|
66
66
|
static unique_ptr<ParsedExpression> FormatDeserialize(FormatDeserializer &deserializer);
|
67
67
|
|
68
|
+
static bool Equals(const unique_ptr<ParsedExpression> &left, const unique_ptr<ParsedExpression> &right);
|
69
|
+
static bool ListEquals(const vector<unique_ptr<ParsedExpression>> &left,
|
70
|
+
const vector<unique_ptr<ParsedExpression>> &right);
|
71
|
+
|
68
72
|
protected:
|
69
73
|
//! Copy base Expression properties from another expression to this one,
|
70
74
|
//! used in Copy method
|
@@ -95,7 +95,7 @@ public:
|
|
95
95
|
if (type != TARGET::TYPE) {
|
96
96
|
throw InternalException("Failed to cast query node to type - query node type mismatch");
|
97
97
|
}
|
98
|
-
return
|
98
|
+
return reinterpret_cast<TARGET &>(*this);
|
99
99
|
}
|
100
100
|
|
101
101
|
template <class TARGET>
|
@@ -103,7 +103,7 @@ public:
|
|
103
103
|
if (type != TARGET::TYPE) {
|
104
104
|
throw InternalException("Failed to cast query node to type - query node type mismatch");
|
105
105
|
}
|
106
|
-
return
|
106
|
+
return reinterpret_cast<const TARGET &>(*this);
|
107
107
|
}
|
108
108
|
};
|
109
109
|
|