duckdb 0.7.2-dev1457.0 → 0.7.2-dev1533.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 +8 -8
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu-dateadd.cpp +2 -2
- package/src/duckdb/extension/icu/icu-datepart.cpp +3 -3
- package/src/duckdb/extension/icu/icu-datesub.cpp +2 -2
- package/src/duckdb/extension/icu/icu-datetrunc.cpp +1 -1
- package/src/duckdb/extension/icu/icu-extension.cpp +3 -3
- package/src/duckdb/extension/icu/icu-list-range.cpp +1 -1
- package/src/duckdb/extension/icu/icu-makedate.cpp +1 -1
- package/src/duckdb/extension/icu/icu-strptime.cpp +7 -7
- package/src/duckdb/extension/icu/icu-timebucket.cpp +6 -6
- package/src/duckdb/extension/icu/icu-timezone.cpp +4 -4
- package/src/duckdb/extension/json/include/json_executors.hpp +2 -2
- package/src/duckdb/extension/json/json_functions/copy_json.cpp +4 -4
- package/src/duckdb/extension/json/json_functions/json_create.cpp +3 -3
- package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +3 -3
- package/src/duckdb/extension/json/json_functions.cpp +2 -2
- package/src/duckdb/extension/parquet/parquet-extension.cpp +28 -28
- package/src/duckdb/extension/parquet/parquet_metadata.cpp +3 -3
- package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +2 -2
- package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +9 -9
- package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +17 -17
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +3 -3
- package/src/duckdb/src/catalog/catalog_entry/scalar_macro_catalog_entry.cpp +2 -2
- package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +2 -2
- package/src/duckdb/src/catalog/catalog_entry/sequence_catalog_entry.cpp +2 -2
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +5 -5
- package/src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp +2 -2
- package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +3 -3
- package/src/duckdb/src/catalog/catalog_entry.cpp +2 -2
- package/src/duckdb/src/catalog/catalog_set.cpp +28 -28
- package/src/duckdb/src/catalog/default/default_functions.cpp +2 -1
- package/src/duckdb/src/catalog/dependency_manager.cpp +4 -4
- package/src/duckdb/src/common/enums/logical_operator_type.cpp +2 -0
- package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -0
- package/src/duckdb/src/common/hive_partitioning.cpp +1 -1
- package/src/duckdb/src/common/multi_file_reader.cpp +1 -1
- package/src/duckdb/src/common/row_operations/row_aggregate.cpp +3 -0
- package/src/duckdb/src/common/string_util.cpp +24 -2
- package/src/duckdb/src/common/tree_renderer.cpp +2 -4
- package/src/duckdb/src/common/types.cpp +3 -1
- package/src/duckdb/src/execution/column_binding_resolver.cpp +5 -5
- package/src/duckdb/src/execution/expression_executor.cpp +4 -3
- package/src/duckdb/src/execution/expression_executor_state.cpp +1 -1
- package/src/duckdb/src/execution/index/art/art.cpp +6 -8
- package/src/duckdb/src/execution/operator/aggregate/distinct_aggregate_data.cpp +7 -7
- package/src/duckdb/src/execution/operator/aggregate/grouped_aggregate_data.cpp +2 -2
- package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +33 -33
- package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +13 -13
- package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +3 -3
- package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +20 -20
- package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +12 -12
- package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +5 -5
- package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +2 -2
- package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +5 -5
- package/src/duckdb/src/execution/operator/helper/physical_limit_percent.cpp +4 -4
- package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +4 -4
- package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +2 -2
- package/src/duckdb/src/execution/operator/helper/physical_streaming_limit.cpp +2 -2
- package/src/duckdb/src/execution/operator/helper/physical_streaming_sample.cpp +2 -2
- package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +4 -4
- package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +8 -8
- package/src/duckdb/src/execution/operator/join/physical_cross_product.cpp +3 -3
- package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +12 -12
- package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +12 -12
- package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +6 -5
- package/src/duckdb/src/execution/operator/join/physical_join.cpp +2 -2
- package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +13 -13
- package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +10 -10
- package/src/duckdb/src/execution/operator/join/physical_positional_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/order/physical_order.cpp +11 -11
- package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +6 -6
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +7 -7
- package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +8 -8
- package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +5 -5
- package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +1 -1
- package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +8 -8
- package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +7 -7
- package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +81 -0
- package/src/duckdb/src/execution/operator/projection/physical_tableinout_function.cpp +5 -5
- package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +4 -5
- package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +1 -1
- package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +4 -4
- package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +7 -7
- package/src/duckdb/src/execution/operator/schema/physical_alter.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_function.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +8 -7
- package/src/duckdb/src/execution/operator/schema/physical_create_schema.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_sequence.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_table.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +3 -3
- package/src/duckdb/src/execution/operator/schema/physical_create_view.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_detach.cpp +1 -1
- package/src/duckdb/src/execution/operator/schema/physical_drop.cpp +1 -1
- package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +2 -2
- package/src/duckdb/src/execution/physical_operator.cpp +2 -2
- package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +4 -4
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +2 -2
- package/src/duckdb/src/execution/physical_plan/plan_create_index.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_delete.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +2 -2
- package/src/duckdb/src/execution/physical_plan/plan_distinct.cpp +4 -1
- package/src/duckdb/src/execution/physical_plan/plan_pivot.cpp +14 -0
- package/src/duckdb/src/execution/physical_plan/plan_projection.cpp +1 -1
- package/src/duckdb/src/execution/physical_plan/plan_window.cpp +8 -8
- package/src/duckdb/src/execution/physical_plan_generator.cpp +49 -42
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +14 -14
- package/src/duckdb/src/function/aggregate/algebraic/avg.cpp +2 -2
- package/src/duckdb/src/function/aggregate/distributive/bitstring_agg.cpp +1 -1
- package/src/duckdb/src/function/aggregate/distributive/string_agg.cpp +2 -2
- package/src/duckdb/src/function/aggregate/holistic/approximate_quantile.cpp +1 -1
- package/src/duckdb/src/function/aggregate/holistic/quantile.cpp +1 -1
- package/src/duckdb/src/function/aggregate/holistic/reservoir_quantile.cpp +1 -1
- package/src/duckdb/src/function/aggregate/nested/list.cpp +3 -3
- package/src/duckdb/src/function/cast/enum_casts.cpp +3 -3
- package/src/duckdb/src/function/cast/list_casts.cpp +2 -2
- package/src/duckdb/src/function/cast/string_cast.cpp +6 -6
- package/src/duckdb/src/function/cast/struct_cast.cpp +4 -4
- package/src/duckdb/src/function/cast/union_casts.cpp +6 -6
- package/src/duckdb/src/function/function.cpp +4 -4
- package/src/duckdb/src/function/function_binder.cpp +2 -1
- package/src/duckdb/src/function/macro_function.cpp +3 -3
- package/src/duckdb/src/function/pragma/pragma_queries.cpp +1 -1
- package/src/duckdb/src/function/pragma_function.cpp +1 -1
- package/src/duckdb/src/function/scalar/date/date_part.cpp +1 -1
- package/src/duckdb/src/function/scalar/date/strftime.cpp +6 -6
- package/src/duckdb/src/function/scalar/generic/alias.cpp +1 -1
- package/src/duckdb/src/function/scalar/generic/constant_or_null.cpp +3 -3
- package/src/duckdb/src/function/scalar/generic/current_setting.cpp +2 -2
- package/src/duckdb/src/function/scalar/generic/stats.cpp +3 -3
- package/src/duckdb/src/function/scalar/list/list_aggregates.cpp +5 -5
- package/src/duckdb/src/function/scalar/list/list_lambdas.cpp +3 -3
- package/src/duckdb/src/function/scalar/list/list_sort.cpp +3 -3
- package/src/duckdb/src/function/scalar/math/numeric.cpp +3 -3
- package/src/duckdb/src/function/scalar/math/random.cpp +2 -2
- package/src/duckdb/src/function/scalar/math/setseed.cpp +2 -2
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +2 -2
- package/src/duckdb/src/function/scalar/sequence/nextval.cpp +4 -4
- package/src/duckdb/src/function/scalar/string/like.cpp +1 -1
- package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +5 -5
- package/src/duckdb/src/function/scalar/string/regexp.cpp +11 -11
- package/src/duckdb/src/function/scalar/string/string_split.cpp +3 -3
- package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +3 -3
- package/src/duckdb/src/function/scalar/struct/struct_pack.cpp +2 -2
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +2 -2
- package/src/duckdb/src/function/scalar/union/union_extract.cpp +2 -2
- package/src/duckdb/src/function/scalar_macro_function.cpp +3 -3
- package/src/duckdb/src/function/table/arrow.cpp +5 -5
- package/src/duckdb/src/function/table/checkpoint.cpp +1 -1
- package/src/duckdb/src/function/table/glob.cpp +1 -1
- package/src/duckdb/src/function/table/pragma_detailed_profiling_output.cpp +1 -1
- package/src/duckdb/src/function/table/pragma_last_profiling_output.cpp +1 -1
- package/src/duckdb/src/function/table/range.cpp +5 -5
- package/src/duckdb/src/function/table/read_csv.cpp +10 -10
- package/src/duckdb/src/function/table/repeat.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +12 -12
- package/src/duckdb/src/function/table/system/duckdb_databases.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_functions.cpp +2 -2
- package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_sequences.cpp +1 -1
- package/src/duckdb/src/function/table/system/duckdb_tables.cpp +2 -2
- package/src/duckdb/src/function/table/system/duckdb_views.cpp +1 -1
- package/src/duckdb/src/function/table/system/pragma_storage_info.cpp +1 -1
- package/src/duckdb/src/function/table/system/pragma_table_info.cpp +3 -3
- package/src/duckdb/src/function/table/system/test_vector_types.cpp +1 -1
- package/src/duckdb/src/function/table/table_scan.cpp +31 -31
- package/src/duckdb/src/function/table/unnest.cpp +4 -4
- package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
- package/src/duckdb/src/function/table_macro_function.cpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +13 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +4 -4
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +3 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/scalar_macro_catalog_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/sequence_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_macro_catalog_entry.hpp +1 -1
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/type_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/view_catalog_entry.hpp +3 -3
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry.hpp +14 -3
- package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +5 -5
- package/src/duckdb/src/include/duckdb/common/case_insensitive_map.hpp +2 -3
- package/src/duckdb/src/include/duckdb/common/enums/logical_operator_type.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/string_util.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_streaming_window.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/filter/physical_filter.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_execute.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit_percent.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_load.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_pragma.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_prepare.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reset.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_limit.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_sample.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_transaction.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_cross_product.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_index_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +3 -4
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_positional_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_delete.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_export.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_update.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_pivot.hpp +38 -0
- package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_projection.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_tableinout_function.hpp +4 -2
- package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_unnest.hpp +3 -1
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_dummy_scan.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_empty_result.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_expression_scan.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_positional_scan.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_alter.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_attach.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_function.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_index.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_schema.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_sequence.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_table.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_type.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_view.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_detach.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_drop.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/set/physical_union.hpp +4 -0
- package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +18 -57
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +150 -0
- package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +11 -0
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +22 -0
- package/src/duckdb/src/include/duckdb/function/function.hpp +20 -4
- package/src/duckdb/src/include/duckdb/function/macro_function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/function/pragma_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +11 -0
- package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +2 -2
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +22 -0
- package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +3 -3
- package/src/duckdb/src/include/duckdb/main/client_config.hpp +3 -2
- package/src/duckdb/src/include/duckdb/main/settings.hpp +10 -0
- package/src/duckdb/src/include/duckdb/optimizer/rule/like_optimizations.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/base_expression.hpp +18 -0
- package/src/duckdb/src/include/duckdb/parser/constraint.hpp +18 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/check_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/foreign_key_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/not_null_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/constraints/unique_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/query_node/list.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/query_node/recursive_cte_node.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/query_node/select_node.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/query_node/set_operation_node.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/query_node.hpp +18 -0
- package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +18 -0
- package/src/duckdb/src/include/duckdb/parser/statement/alter_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/attach_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/call_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/copy_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/create_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/delete_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/detach_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/drop_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/execute_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/explain_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/export_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/extension_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/insert_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parser/statement/load_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/logical_plan_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/multi_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/pragma_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/prepare_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/relation_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/set_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/show_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/transaction_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/update_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/statement/vacuum_statement.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +14 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/parser/tableref.hpp +17 -0
- package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/binder.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/bound_constraint.hpp +18 -0
- package/src/duckdb/src/include/duckdb/planner/bound_query_node.hpp +17 -0
- package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +5 -1
- package/src/duckdb/src/include/duckdb/planner/bound_tableref.hpp +17 -0
- package/src/duckdb/src/include/duckdb/planner/bound_tokens.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/constraints/bound_check_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/constraints/bound_foreign_key_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/constraints/bound_not_null_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/constraints/bound_unique_constraint.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +4 -1
- package/src/duckdb/src/include/duckdb/planner/expression_binder/table_function_binder.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +17 -0
- package/src/duckdb/src/include/duckdb/planner/logical_tokens.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_asof_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +12 -4
- package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_empty_result.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_extension_operator.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_filter.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +36 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_prepare.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +9 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_reset.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_sample.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_unconditional_join.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/query_node/bound_recursive_cte_node.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/query_node/bound_select_node.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/query_node/bound_set_operation_node.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/query_node/list.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_basetableref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_cteref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_dummytableref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_expressionlistref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_joinref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_pivotref.hpp +43 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_pos_join_ref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_subqueryref.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_table_function.hpp +3 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/storage/index.hpp +15 -2
- package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +17 -17
- package/src/duckdb/src/include/duckdb/transaction/commit_state.hpp +1 -1
- package/src/duckdb/src/main/capi/table_function-c.cpp +9 -9
- package/src/duckdb/src/main/client_context.cpp +1 -1
- package/src/duckdb/src/main/config.cpp +1 -0
- package/src/duckdb/src/main/query_profiler.cpp +2 -2
- package/src/duckdb/src/main/relation/aggregate_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/filter_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/projection_relation.cpp +1 -1
- package/src/duckdb/src/main/relation.cpp +1 -1
- package/src/duckdb/src/main/settings/settings.cpp +17 -1
- package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +3 -3
- package/src/duckdb/src/optimizer/common_aggregate_optimizer.cpp +1 -1
- package/src/duckdb/src/optimizer/cse_optimizer.cpp +1 -1
- package/src/duckdb/src/optimizer/deliminator.cpp +11 -11
- package/src/duckdb/src/optimizer/expression_heuristics.cpp +11 -11
- package/src/duckdb/src/optimizer/expression_rewriter.cpp +1 -1
- package/src/duckdb/src/optimizer/filter_combiner.cpp +40 -38
- package/src/duckdb/src/optimizer/filter_pullup.cpp +2 -2
- package/src/duckdb/src/optimizer/filter_pushdown.cpp +1 -1
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +8 -8
- package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +24 -24
- package/src/duckdb/src/optimizer/matcher/expression_matcher.cpp +12 -12
- package/src/duckdb/src/optimizer/pullup/pullup_filter.cpp +1 -1
- package/src/duckdb/src/optimizer/pullup/pullup_projection.cpp +2 -2
- package/src/duckdb/src/optimizer/pullup/pullup_set_operation.cpp +3 -3
- package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +3 -3
- package/src/duckdb/src/optimizer/pushdown/pushdown_filter.cpp +1 -1
- package/src/duckdb/src/optimizer/pushdown/pushdown_get.cpp +1 -1
- package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +3 -3
- package/src/duckdb/src/optimizer/pushdown/pushdown_left_join.cpp +3 -3
- package/src/duckdb/src/optimizer/pushdown/pushdown_limit.cpp +1 -1
- package/src/duckdb/src/optimizer/pushdown/pushdown_mark_join.cpp +3 -3
- package/src/duckdb/src/optimizer/pushdown/pushdown_projection.cpp +2 -2
- package/src/duckdb/src/optimizer/pushdown/pushdown_set_operation.cpp +4 -4
- package/src/duckdb/src/optimizer/pushdown/pushdown_single_join.cpp +1 -1
- package/src/duckdb/src/optimizer/regex_range_filter.cpp +2 -2
- package/src/duckdb/src/optimizer/remove_unused_columns.cpp +13 -9
- package/src/duckdb/src/optimizer/rule/arithmetic_simplification.cpp +20 -20
- package/src/duckdb/src/optimizer/rule/case_simplification.cpp +8 -8
- package/src/duckdb/src/optimizer/rule/comparison_simplification.cpp +14 -14
- package/src/duckdb/src/optimizer/rule/conjunction_simplification.cpp +5 -5
- package/src/duckdb/src/optimizer/rule/date_part_simplification.cpp +2 -2
- package/src/duckdb/src/optimizer/rule/distributivity.cpp +16 -16
- package/src/duckdb/src/optimizer/rule/empty_needle_removal.cpp +4 -5
- package/src/duckdb/src/optimizer/rule/enum_comparison.cpp +8 -9
- package/src/duckdb/src/optimizer/rule/in_clause_simplification_rule.cpp +13 -13
- package/src/duckdb/src/optimizer/rule/like_optimizations.cpp +12 -12
- package/src/duckdb/src/optimizer/rule/move_constants.cpp +31 -31
- package/src/duckdb/src/optimizer/rule/ordered_aggregate_optimizer.cpp +4 -4
- package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +10 -10
- package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +9 -8
- package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +2 -2
- package/src/duckdb/src/optimizer/statistics_propagator.cpp +31 -20
- package/src/duckdb/src/optimizer/topn_optimizer.cpp +2 -2
- package/src/duckdb/src/optimizer/unnest_rewriter.cpp +13 -13
- package/src/duckdb/src/parser/column_definition.cpp +3 -3
- package/src/duckdb/src/parser/expression/columnref_expression.cpp +2 -5
- package/src/duckdb/src/parser/expression/conjunction_expression.cpp +1 -1
- package/src/duckdb/src/parser/expression/constant_expression.cpp +1 -1
- package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +1 -1
- package/src/duckdb/src/parser/parsed_expression_iterator.cpp +20 -20
- package/src/duckdb/src/parser/parser.cpp +10 -10
- package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +4 -4
- package/src/duckdb/src/parser/query_node/select_node.cpp +10 -10
- package/src/duckdb/src/parser/query_node/set_operation_node.cpp +4 -4
- package/src/duckdb/src/parser/statement/insert_statement.cpp +1 -1
- package/src/duckdb/src/parser/statement/select_statement.cpp +2 -2
- package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +1 -1
- package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +3 -3
- package/src/duckdb/src/parser/transform/expression/transform_function.cpp +2 -42
- package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +1 -1
- package/src/duckdb/src/parser/transform/helpers/transform_groupby.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +0 -1
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +5 -2
- package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +5 -5
- package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +20 -20
- package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +3 -3
- package/src/duckdb/src/planner/bind_context.cpp +11 -0
- package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +47 -4
- package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +5 -6
- package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +2 -2
- package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +3 -3
- package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +8 -8
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +23 -29
- package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +2 -2
- package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +1 -1
- package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +3 -3
- package/src/duckdb/src/planner/binder/query_node/plan_recursive_cte_node.cpp +2 -3
- package/src/duckdb/src/planner/binder/query_node/plan_select_node.cpp +0 -2
- package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_call.cpp +3 -2
- package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +17 -16
- package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +7 -6
- package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +3 -2
- package/src/duckdb/src/planner/binder/statement/bind_export.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_extension.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +4 -4
- package/src/duckdb/src/planner/binder/statement/bind_set.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_update.cpp +2 -1
- package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +2 -2
- package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +4 -3
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +303 -78
- package/src/duckdb/src/planner/binder/tableref/bind_subqueryref.cpp +4 -4
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +10 -10
- package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +6 -6
- package/src/duckdb/src/planner/binder/tableref/plan_pivotref.cpp +13 -0
- package/src/duckdb/src/planner/binder.cpp +52 -48
- package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +8 -8
- package/src/duckdb/src/planner/expression/bound_between_expression.cpp +5 -5
- package/src/duckdb/src/planner/expression/bound_case_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +5 -5
- package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +3 -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_function_expression.cpp +4 -4
- package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +4 -4
- package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +3 -3
- package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +2 -2
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +16 -16
- package/src/duckdb/src/planner/expression_binder/alter_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +3 -3
- package/src/duckdb/src/planner/expression_binder/check_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/constant_binder.cpp +11 -1
- package/src/duckdb/src/planner/expression_binder/group_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/index_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +3 -3
- package/src/duckdb/src/planner/expression_binder/order_binder.cpp +3 -3
- package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +2 -1
- package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +7 -3
- package/src/duckdb/src/planner/expression_binder.cpp +24 -32
- package/src/duckdb/src/planner/expression_iterator.cpp +17 -17
- package/src/duckdb/src/planner/joinside.cpp +2 -2
- package/src/duckdb/src/planner/logical_operator.cpp +3 -0
- package/src/duckdb/src/planner/logical_operator_visitor.cpp +26 -26
- package/src/duckdb/src/planner/operator/logical_distinct.cpp +3 -1
- package/src/duckdb/src/planner/operator/logical_filter.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_join.cpp +1 -1
- package/src/duckdb/src/planner/operator/logical_pivot.cpp +35 -0
- package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +1 -1
- package/src/duckdb/src/planner/pragma_handler.cpp +2 -2
- package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +25 -23
- package/src/duckdb/src/planner/subquery/rewrite_correlated_expressions.cpp +2 -2
- package/src/duckdb/src/planner/table_binding.cpp +8 -8
- package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +1 -1
- package/src/duckdb/src/storage/data_table.cpp +2 -1
- package/src/duckdb/src/storage/index.cpp +4 -5
- package/src/duckdb/src/storage/local_storage.cpp +2 -1
- package/src/duckdb/src/storage/table/row_group_collection.cpp +1 -1
- package/src/duckdb/src/storage/write_ahead_log.cpp +42 -42
- package/src/duckdb/src/transaction/commit_state.cpp +35 -35
- package/src/duckdb/src/transaction/duck_transaction.cpp +1 -1
- package/src/duckdb/src/transaction/rollback_state.cpp +1 -1
- package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +1 -1
- package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +773 -793
- package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +1 -11
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +17408 -17751
- package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +5 -5
- package/src/duckdb/ub_src_execution_operator_projection.cpp +2 -0
- package/src/duckdb/ub_src_execution_physical_plan.cpp +2 -0
- package/src/duckdb/ub_src_planner_binder_tableref.cpp +2 -0
- package/src/duckdb/ub_src_planner_operator.cpp +2 -0
@@ -287,6 +287,19 @@ private:
|
|
287
287
|
const unordered_set<SchemaCatalogEntry *> &schemas);
|
288
288
|
|
289
289
|
virtual void DropSchema(ClientContext &context, DropInfo *info) = 0;
|
290
|
+
|
291
|
+
public:
|
292
|
+
template <class TARGET>
|
293
|
+
TARGET &Cast() {
|
294
|
+
D_ASSERT(dynamic_cast<TARGET *>(this));
|
295
|
+
return (TARGET &)*this;
|
296
|
+
}
|
297
|
+
|
298
|
+
template <class TARGET>
|
299
|
+
const TARGET &Cast() const {
|
300
|
+
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
301
|
+
return (const TARGET &)*this;
|
302
|
+
}
|
290
303
|
};
|
291
304
|
|
292
305
|
} // namespace duckdb
|
@@ -31,7 +31,7 @@ public:
|
|
31
31
|
//! Get statistics of a column (physical or virtual) within the table
|
32
32
|
unique_ptr<BaseStatistics> GetStatistics(ClientContext &context, column_t column_id) override;
|
33
33
|
|
34
|
-
unique_ptr<CatalogEntry> Copy(ClientContext &context) override;
|
34
|
+
unique_ptr<CatalogEntry> Copy(ClientContext &context) const override;
|
35
35
|
|
36
36
|
void SetAsRoot() override;
|
37
37
|
|
@@ -33,12 +33,12 @@ public:
|
|
33
33
|
vector<unique_ptr<ParsedExpression>> parsed_expressions;
|
34
34
|
|
35
35
|
public:
|
36
|
-
string ToSQL() override;
|
37
|
-
void Serialize(Serializer &serializer);
|
36
|
+
string ToSQL() const override;
|
37
|
+
void Serialize(Serializer &serializer) const;
|
38
38
|
static unique_ptr<CreateIndexInfo> Deserialize(Deserializer &source, ClientContext &context);
|
39
39
|
|
40
|
-
virtual string GetSchemaName() = 0;
|
41
|
-
virtual string GetTableName() = 0;
|
40
|
+
virtual string GetSchemaName() const = 0;
|
41
|
+
virtual string GetTableName() const = 0;
|
42
42
|
};
|
43
43
|
|
44
44
|
} // namespace duckdb
|
@@ -19,14 +19,15 @@ namespace duckdb {
|
|
19
19
|
class MacroCatalogEntry : public StandardEntry {
|
20
20
|
public:
|
21
21
|
MacroCatalogEntry(Catalog *catalog, SchemaCatalogEntry *schema, CreateMacroInfo *info);
|
22
|
+
|
22
23
|
//! The macro function
|
23
24
|
unique_ptr<MacroFunction> function;
|
24
25
|
|
25
26
|
public:
|
26
27
|
//! Serialize the meta information
|
27
|
-
virtual void Serialize(Serializer &serializer) = 0;
|
28
|
+
virtual void Serialize(Serializer &serializer) const = 0;
|
28
29
|
|
29
|
-
string ToSQL() override {
|
30
|
+
string ToSQL() const override {
|
30
31
|
return function->ToSQL(schema->name, name);
|
31
32
|
}
|
32
33
|
};
|
@@ -26,7 +26,7 @@ public:
|
|
26
26
|
|
27
27
|
public:
|
28
28
|
//! Serialize the meta information of the ScalarMacroCatalogEntry
|
29
|
-
void Serialize(Serializer &serializer) override;
|
29
|
+
void Serialize(Serializer &serializer) const override;
|
30
30
|
//! Deserializes to a CreateMacroInfo
|
31
31
|
static unique_ptr<CreateMacroInfo> Deserialize(Deserializer &source, ClientContext &context);
|
32
32
|
};
|
@@ -56,11 +56,11 @@ public:
|
|
56
56
|
virtual void Scan(CatalogType type, const std::function<void(CatalogEntry *)> &callback) = 0;
|
57
57
|
|
58
58
|
//! Serialize the meta information of the SchemaCatalogEntry a serializer
|
59
|
-
virtual void Serialize(Serializer &serializer);
|
59
|
+
virtual void Serialize(Serializer &serializer) const;
|
60
60
|
//! Deserializes to a CreateSchemaInfo
|
61
61
|
static unique_ptr<CreateSchemaInfo> Deserialize(Deserializer &source);
|
62
62
|
|
63
|
-
string ToSQL() override;
|
63
|
+
string ToSQL() const override;
|
64
64
|
|
65
65
|
//! Creates an index with the given name in the schema
|
66
66
|
virtual CatalogEntry *CreateIndex(ClientContext &context, CreateIndexInfo *info, TableCatalogEntry *table) = 0;
|
@@ -58,11 +58,11 @@ public:
|
|
58
58
|
|
59
59
|
public:
|
60
60
|
//! Serialize the meta information of the SequenceCatalogEntry a serializer
|
61
|
-
virtual void Serialize(Serializer &serializer);
|
61
|
+
virtual void Serialize(Serializer &serializer) const;
|
62
62
|
//! Deserializes to a CreateTableInfo
|
63
63
|
static unique_ptr<CreateSequenceInfo> Deserialize(Deserializer &source);
|
64
64
|
|
65
|
-
string ToSQL() override;
|
65
|
+
string ToSQL() const override;
|
66
66
|
|
67
67
|
CatalogEntry *AlterOwnership(ClientContext &context, AlterInfo *info);
|
68
68
|
};
|
@@ -75,13 +75,13 @@ public:
|
|
75
75
|
|
76
76
|
//! Returns a list of the constraints of the table
|
77
77
|
DUCKDB_API const vector<unique_ptr<Constraint>> &GetConstraints();
|
78
|
-
DUCKDB_API string ToSQL() override;
|
78
|
+
DUCKDB_API string ToSQL() const override;
|
79
79
|
|
80
80
|
//! Get statistics of a column (physical or virtual) within the table
|
81
81
|
virtual unique_ptr<BaseStatistics> GetStatistics(ClientContext &context, column_t column_id) = 0;
|
82
82
|
|
83
83
|
//! Serialize the meta information of the TableCatalogEntry a serializer
|
84
|
-
virtual void Serialize(Serializer &serializer);
|
84
|
+
virtual void Serialize(Serializer &serializer) const;
|
85
85
|
//! Deserializes to a CreateTableInfo
|
86
86
|
static unique_ptr<CreateTableInfo> Deserialize(Deserializer &source, ClientContext &context);
|
87
87
|
|
@@ -25,7 +25,7 @@ public:
|
|
25
25
|
|
26
26
|
public:
|
27
27
|
//! Serialize the meta information of the ScalarMacroCatalogEntry
|
28
|
-
void Serialize(Serializer &serializer) override;
|
28
|
+
void Serialize(Serializer &serializer) const override;
|
29
29
|
//! Deserializes to a CreateMacroInfo
|
30
30
|
static unique_ptr<CreateMacroInfo> Deserialize(Deserializer &source, ClientContext &context);
|
31
31
|
};
|
@@ -30,10 +30,10 @@ public:
|
|
30
30
|
|
31
31
|
public:
|
32
32
|
//! Serialize the meta information of the TypeCatalogEntry a serializer
|
33
|
-
virtual void Serialize(Serializer &serializer);
|
33
|
+
virtual void Serialize(Serializer &serializer) const;
|
34
34
|
//! Deserializes to a TypeCatalogEntry
|
35
35
|
static unique_ptr<CreateTypeInfo> Deserialize(Deserializer &source);
|
36
36
|
|
37
|
-
string ToSQL() override;
|
37
|
+
string ToSQL() const override;
|
38
38
|
};
|
39
39
|
} // namespace duckdb
|
@@ -41,13 +41,13 @@ public:
|
|
41
41
|
unique_ptr<CatalogEntry> AlterEntry(ClientContext &context, AlterInfo *info) override;
|
42
42
|
|
43
43
|
//! Serialize the meta information of the ViewCatalogEntry a serializer
|
44
|
-
virtual void Serialize(Serializer &serializer);
|
44
|
+
virtual void Serialize(Serializer &serializer) const;
|
45
45
|
//! Deserializes to a CreateTableInfo
|
46
46
|
static unique_ptr<CreateViewInfo> Deserialize(Deserializer &source, ClientContext &context);
|
47
47
|
|
48
|
-
unique_ptr<CatalogEntry> Copy(ClientContext &context) override;
|
48
|
+
unique_ptr<CatalogEntry> Copy(ClientContext &context) const override;
|
49
49
|
|
50
|
-
string ToSQL() override;
|
50
|
+
string ToSQL() const override;
|
51
51
|
|
52
52
|
private:
|
53
53
|
void Initialize(CreateViewInfo *info);
|
@@ -12,7 +12,6 @@
|
|
12
12
|
#include "duckdb/common/enums/catalog_type.hpp"
|
13
13
|
#include "duckdb/common/exception.hpp"
|
14
14
|
#include "duckdb/common/atomic.hpp"
|
15
|
-
|
16
15
|
#include <memory>
|
17
16
|
|
18
17
|
namespace duckdb {
|
@@ -54,15 +53,27 @@ public:
|
|
54
53
|
virtual unique_ptr<CatalogEntry> AlterEntry(ClientContext &context, AlterInfo *info);
|
55
54
|
virtual void UndoAlter(ClientContext &context, AlterInfo *info);
|
56
55
|
|
57
|
-
virtual unique_ptr<CatalogEntry> Copy(ClientContext &context);
|
56
|
+
virtual unique_ptr<CatalogEntry> Copy(ClientContext &context) const;
|
58
57
|
|
59
58
|
//! Sets the CatalogEntry as the new root entry (i.e. the newest entry)
|
60
59
|
// this is called on a rollback to an AlterEntry
|
61
60
|
virtual void SetAsRoot();
|
62
61
|
|
63
62
|
//! Convert the catalog entry to a SQL string that can be used to re-construct the catalog entry
|
64
|
-
virtual string ToSQL();
|
63
|
+
virtual string ToSQL() const;
|
65
64
|
|
66
65
|
virtual void Verify(Catalog &catalog);
|
66
|
+
|
67
|
+
public:
|
68
|
+
template <class TARGET>
|
69
|
+
TARGET &Cast() {
|
70
|
+
D_ASSERT(dynamic_cast<TARGET *>(this));
|
71
|
+
return (TARGET &)*this;
|
72
|
+
}
|
73
|
+
template <class TARGET>
|
74
|
+
const TARGET &Cast() const {
|
75
|
+
D_ASSERT(dynamic_cast<const TARGET *>(this));
|
76
|
+
return (const TARGET &)*this;
|
77
|
+
}
|
67
78
|
};
|
68
79
|
} // namespace duckdb
|
@@ -102,7 +102,7 @@ public:
|
|
102
102
|
|
103
103
|
//! Rollback <entry> to be the currently valid entry for a certain catalog
|
104
104
|
//! entry
|
105
|
-
void Undo(CatalogEntry
|
105
|
+
void Undo(CatalogEntry &entry);
|
106
106
|
|
107
107
|
//! Scan the catalog set, invoking the callback method for every committed entry
|
108
108
|
DUCKDB_API void Scan(const std::function<void(CatalogEntry *)> &callback);
|
@@ -120,17 +120,17 @@ public:
|
|
120
120
|
DUCKDB_API bool HasConflict(CatalogTransaction transaction, transaction_t timestamp);
|
121
121
|
DUCKDB_API bool UseTimestamp(CatalogTransaction transaction, transaction_t timestamp);
|
122
122
|
|
123
|
-
void UpdateTimestamp(CatalogEntry
|
123
|
+
void UpdateTimestamp(CatalogEntry &entry, transaction_t timestamp);
|
124
124
|
|
125
125
|
void Verify(Catalog &catalog);
|
126
126
|
|
127
127
|
private:
|
128
128
|
//! Adjusts table dependencies on the event of an UNDO
|
129
|
-
void AdjustTableDependencies(CatalogEntry
|
129
|
+
void AdjustTableDependencies(CatalogEntry &entry);
|
130
130
|
//! Adjust one dependency
|
131
|
-
void AdjustDependency(CatalogEntry
|
131
|
+
void AdjustDependency(CatalogEntry &entry, TableCatalogEntry &table, ColumnDefinition &column, bool remove);
|
132
132
|
//! Adjust User dependency
|
133
|
-
void AdjustUserDependency(CatalogEntry
|
133
|
+
void AdjustUserDependency(CatalogEntry &entry, ColumnDefinition &column, bool remove);
|
134
134
|
//! Given a root entry, gets the entry valid for this transaction
|
135
135
|
CatalogEntry *GetEntryForTransaction(CatalogTransaction transaction, CatalogEntry *current);
|
136
136
|
CatalogEntry *GetCommittedEntry(CatalogEntry *current);
|
@@ -17,14 +17,13 @@ namespace duckdb {
|
|
17
17
|
|
18
18
|
struct CaseInsensitiveStringHashFunction {
|
19
19
|
uint64_t operator()(const string &str) const {
|
20
|
-
|
21
|
-
return hasher(StringUtil::Lower(str));
|
20
|
+
return StringUtil::CIHash(str);
|
22
21
|
}
|
23
22
|
};
|
24
23
|
|
25
24
|
struct CaseInsensitiveStringEquality {
|
26
25
|
bool operator()(const string &a, const string &b) const {
|
27
|
-
return StringUtil::
|
26
|
+
return StringUtil::CIEquals(a, b);
|
28
27
|
}
|
29
28
|
};
|
30
29
|
|
@@ -22,7 +22,7 @@ struct MultiFileReaderOptions {
|
|
22
22
|
|
23
23
|
DUCKDB_API void Serialize(Serializer &serializer) const;
|
24
24
|
DUCKDB_API static MultiFileReaderOptions Deserialize(Deserializer &source);
|
25
|
-
DUCKDB_API void AddBatchInfo(BindInfo &bind_info);
|
25
|
+
DUCKDB_API void AddBatchInfo(BindInfo &bind_info) const;
|
26
26
|
};
|
27
27
|
|
28
28
|
} // namespace duckdb
|
@@ -138,6 +138,9 @@ public:
|
|
138
138
|
//! Convert a string to lowercase
|
139
139
|
DUCKDB_API static string Lower(const string &str);
|
140
140
|
|
141
|
+
//! Case insensitive hash
|
142
|
+
DUCKDB_API static uint64_t CIHash(const string &str);
|
143
|
+
|
141
144
|
//! Case insensitive equals
|
142
145
|
DUCKDB_API static bool CIEquals(const string &l1, const string &l2);
|
143
146
|
|
@@ -84,7 +84,7 @@ public:
|
|
84
84
|
|
85
85
|
//! Merge another index into this index. The lock obtained from InitializeLock must be held, and the other
|
86
86
|
//! index must also be locked during the merge
|
87
|
-
bool MergeIndexes(IndexLock &state, Index
|
87
|
+
bool MergeIndexes(IndexLock &state, Index &other_index) override;
|
88
88
|
|
89
89
|
//! Generate ART keys for an input chunk
|
90
90
|
static void GenerateKeys(ArenaAllocator &allocator, DataChunk &input, vector<Key> &keys);
|
package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp
CHANGED
@@ -57,6 +57,9 @@ public:
|
|
57
57
|
//! PhysicalHashAggregate is a group-by and aggregate implementation that uses a hash table to perform the grouping
|
58
58
|
//! This only contains read-only variables, anything that is stateful instead gets stored in the Global/Local states
|
59
59
|
class PhysicalHashAggregate : public PhysicalOperator {
|
60
|
+
public:
|
61
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::HASH_GROUP_BY;
|
62
|
+
|
60
63
|
public:
|
61
64
|
PhysicalHashAggregate(ClientContext &context, vector<LogicalType> types, vector<unique_ptr<Expression>> expressions,
|
62
65
|
idx_t estimated_cardinality);
|
@@ -17,6 +17,9 @@ class PerfectAggregateHashTable;
|
|
17
17
|
|
18
18
|
//! PhysicalPerfectHashAggregate performs a group-by and aggregation using a perfect hash table
|
19
19
|
class PhysicalPerfectHashAggregate : public PhysicalOperator {
|
20
|
+
public:
|
21
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::PERFECT_HASH_GROUP_BY;
|
22
|
+
|
20
23
|
public:
|
21
24
|
PhysicalPerfectHashAggregate(ClientContext &context, vector<LogicalType> types,
|
22
25
|
vector<unique_ptr<Expression>> aggregates, vector<unique_ptr<Expression>> groups,
|
package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_streaming_window.hpp
CHANGED
@@ -15,6 +15,9 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
//! PhysicalStreamingWindow implements streaming window functions (i.e. with an empty OVER clause)
|
17
17
|
class PhysicalStreamingWindow : public PhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::STREAMING_WINDOW;
|
20
|
+
|
18
21
|
public:
|
19
22
|
PhysicalStreamingWindow(vector<LogicalType> types, vector<unique_ptr<Expression>> select_list,
|
20
23
|
idx_t estimated_cardinality,
|
package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp
CHANGED
@@ -21,6 +21,9 @@ namespace duckdb {
|
|
21
21
|
//! PhysicalUngroupedAggregate is an aggregate operator that can only perform aggregates (1) without any groups, (2)
|
22
22
|
//! without any DISTINCT aggregates, and (3) when all aggregates are combineable
|
23
23
|
class PhysicalUngroupedAggregate : public PhysicalOperator {
|
24
|
+
public:
|
25
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::UNGROUPED_AGGREGATE;
|
26
|
+
|
24
27
|
public:
|
25
28
|
PhysicalUngroupedAggregate(vector<LogicalType> types, vector<unique_ptr<Expression>> expressions,
|
26
29
|
idx_t estimated_cardinality);
|
@@ -17,6 +17,9 @@ namespace duckdb {
|
|
17
17
|
//! PhysicalWindow implements window functions
|
18
18
|
//! It assumes that all functions have a common partitioning and ordering
|
19
19
|
class PhysicalWindow : public PhysicalOperator {
|
20
|
+
public:
|
21
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::WINDOW;
|
22
|
+
|
20
23
|
public:
|
21
24
|
PhysicalWindow(vector<LogicalType> types, vector<unique_ptr<Expression>> select_list, idx_t estimated_cardinality,
|
22
25
|
PhysicalOperatorType type = PhysicalOperatorType::WINDOW);
|
@@ -17,6 +17,9 @@ namespace duckdb {
|
|
17
17
|
//! from the result. Note that it does not physically change the data, it only
|
18
18
|
//! adds a selection vector to the chunk.
|
19
19
|
class PhysicalFilter : public CachingPhysicalOperator {
|
20
|
+
public:
|
21
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::FILTER;
|
22
|
+
|
20
23
|
public:
|
21
24
|
PhysicalFilter(vector<LogicalType> types, vector<unique_ptr<Expression>> select_list, idx_t estimated_cardinality);
|
22
25
|
|
package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp
CHANGED
@@ -14,6 +14,9 @@
|
|
14
14
|
namespace duckdb {
|
15
15
|
|
16
16
|
class PhysicalExplainAnalyze : public PhysicalOperator {
|
17
|
+
public:
|
18
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::EXPLAIN_ANALYZE;
|
19
|
+
|
17
20
|
public:
|
18
21
|
PhysicalExplainAnalyze(vector<LogicalType> types)
|
19
22
|
: PhysicalOperator(PhysicalOperatorType::EXPLAIN_ANALYZE, std::move(types), 1) {
|
@@ -15,6 +15,9 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
//! PhyisicalLimit represents the LIMIT operator
|
17
17
|
class PhysicalLimit : public PhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::LIMIT;
|
20
|
+
|
18
21
|
public:
|
19
22
|
PhysicalLimit(vector<LogicalType> types, idx_t limit, idx_t offset, unique_ptr<Expression> limit_expression,
|
20
23
|
unique_ptr<Expression> offset_expression, idx_t estimated_cardinality);
|
@@ -15,6 +15,9 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
//! PhyisicalLimitPercent represents the LIMIT PERCENT operator
|
17
17
|
class PhysicalLimitPercent : public PhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::LIMIT_PERCENT;
|
20
|
+
|
18
21
|
public:
|
19
22
|
PhysicalLimitPercent(vector<LogicalType> types, double limit_percent, idx_t offset,
|
20
23
|
unique_ptr<Expression> limit_expression, unique_ptr<Expression> offset_expression,
|
@@ -15,6 +15,9 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
//! PhysicalLoad represents an extension LOAD operation
|
17
17
|
class PhysicalLoad : public PhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::LOAD;
|
20
|
+
|
18
21
|
public:
|
19
22
|
explicit PhysicalLoad(unique_ptr<LoadInfo> info, idx_t estimated_cardinality)
|
20
23
|
: PhysicalOperator(PhysicalOperatorType::LOAD, {LogicalType::BOOLEAN}, estimated_cardinality),
|
@@ -16,6 +16,9 @@ namespace duckdb {
|
|
16
16
|
|
17
17
|
//! PhysicalPragma represents the PRAGMA operator
|
18
18
|
class PhysicalPragma : public PhysicalOperator {
|
19
|
+
public:
|
20
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::PRAGMA;
|
21
|
+
|
19
22
|
public:
|
20
23
|
PhysicalPragma(PragmaFunction function_p, PragmaInfo info_p, idx_t estimated_cardinality)
|
21
24
|
: PhysicalOperator(PhysicalOperatorType::PRAGMA, {LogicalType::BOOLEAN}, estimated_cardinality),
|
@@ -15,6 +15,9 @@
|
|
15
15
|
namespace duckdb {
|
16
16
|
|
17
17
|
class PhysicalPrepare : public PhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::PREPARE;
|
20
|
+
|
18
21
|
public:
|
19
22
|
PhysicalPrepare(string name, shared_ptr<PreparedStatementData> prepared, idx_t estimated_cardinality)
|
20
23
|
: PhysicalOperator(PhysicalOperatorType::PREPARE, {LogicalType::BOOLEAN}, estimated_cardinality), name(name),
|
@@ -19,6 +19,9 @@ struct ExtensionOption;
|
|
19
19
|
|
20
20
|
//! PhysicalReset represents a RESET operation (e.g. RESET a = 42)
|
21
21
|
class PhysicalReset : public PhysicalOperator {
|
22
|
+
public:
|
23
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::RESET;
|
24
|
+
|
22
25
|
public:
|
23
26
|
PhysicalReset(const std::string &name_p, SetScope scope_p, idx_t estimated_cardinality)
|
24
27
|
: PhysicalOperator(PhysicalOperatorType::RESET, {LogicalType::BOOLEAN}, estimated_cardinality), name(name_p),
|
@@ -19,6 +19,9 @@ struct ExtensionOption;
|
|
19
19
|
|
20
20
|
//! PhysicalSet represents a SET operation (e.g. SET a = 42)
|
21
21
|
class PhysicalSet : public PhysicalOperator {
|
22
|
+
public:
|
23
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::SET;
|
24
|
+
|
22
25
|
public:
|
23
26
|
PhysicalSet(const std::string &name_p, Value value_p, SetScope scope_p, idx_t estimated_cardinality)
|
24
27
|
: PhysicalOperator(PhysicalOperatorType::SET, {LogicalType::BOOLEAN}, estimated_cardinality), name(name_p),
|
package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_limit.hpp
CHANGED
@@ -14,6 +14,9 @@
|
|
14
14
|
namespace duckdb {
|
15
15
|
|
16
16
|
class PhysicalStreamingLimit : public PhysicalOperator {
|
17
|
+
public:
|
18
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::STREAMING_LIMIT;
|
19
|
+
|
17
20
|
public:
|
18
21
|
PhysicalStreamingLimit(vector<LogicalType> types, idx_t limit, idx_t offset,
|
19
22
|
unique_ptr<Expression> limit_expression, unique_ptr<Expression> offset_expression,
|
package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_sample.hpp
CHANGED
@@ -15,6 +15,9 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
//! PhysicalStreamingSample represents a streaming sample using either system or bernoulli sampling
|
17
17
|
class PhysicalStreamingSample : public PhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::STREAMING_SAMPLE;
|
20
|
+
|
18
21
|
public:
|
19
22
|
PhysicalStreamingSample(vector<LogicalType> types, SampleMethod method, double percentage, int64_t seed,
|
20
23
|
idx_t estimated_cardinality);
|
@@ -15,6 +15,9 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
//! PhysicalTransaction represents a transaction operator (e.g. BEGIN or COMMIT)
|
17
17
|
class PhysicalTransaction : public PhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::TRANSACTION;
|
20
|
+
|
18
21
|
public:
|
19
22
|
explicit PhysicalTransaction(unique_ptr<TransactionInfo> info, idx_t estimated_cardinality)
|
20
23
|
: PhysicalOperator(PhysicalOperatorType::TRANSACTION, {LogicalType::BOOLEAN}, estimated_cardinality),
|
@@ -16,6 +16,9 @@ namespace duckdb {
|
|
16
16
|
|
17
17
|
//! PhysicalVacuum represents a VACUUM operation (i.e. VACUUM or ANALYZE)
|
18
18
|
class PhysicalVacuum : public PhysicalOperator {
|
19
|
+
public:
|
20
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::VACUUM;
|
21
|
+
|
19
22
|
public:
|
20
23
|
PhysicalVacuum(unique_ptr<VacuumInfo> info, idx_t estimated_cardinality);
|
21
24
|
|
package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp
CHANGED
@@ -17,6 +17,9 @@ namespace duckdb {
|
|
17
17
|
//! from the PhysicalNestedLoopJoin in that it does not require expressions to be comparisons between the LHS and the
|
18
18
|
//! RHS.
|
19
19
|
class PhysicalBlockwiseNLJoin : public PhysicalJoin {
|
20
|
+
public:
|
21
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::BLOCKWISE_NL_JOIN;
|
22
|
+
|
20
23
|
public:
|
21
24
|
PhysicalBlockwiseNLJoin(LogicalOperator &op, unique_ptr<PhysicalOperator> left, unique_ptr<PhysicalOperator> right,
|
22
25
|
unique_ptr<Expression> condition, JoinType join_type, idx_t estimated_cardinality);
|
@@ -15,6 +15,9 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
//! PhysicalCrossProduct represents a cross product between two tables
|
17
17
|
class PhysicalCrossProduct : public CachingPhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::CROSS_PRODUCT;
|
20
|
+
|
18
21
|
public:
|
19
22
|
PhysicalCrossProduct(vector<LogicalType> types, unique_ptr<PhysicalOperator> left,
|
20
23
|
unique_ptr<PhysicalOperator> right, idx_t estimated_cardinality);
|
@@ -17,6 +17,9 @@ class PhysicalHashAggregate;
|
|
17
17
|
//! PhysicalDelimJoin represents a join where the LHS will be duplicate eliminated and pushed into a
|
18
18
|
//! PhysicalColumnDataScan in the RHS.
|
19
19
|
class PhysicalDelimJoin : public PhysicalOperator {
|
20
|
+
public:
|
21
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::DELIM_JOIN;
|
22
|
+
|
20
23
|
public:
|
21
24
|
PhysicalDelimJoin(vector<LogicalType> types, unique_ptr<PhysicalOperator> original_join,
|
22
25
|
vector<PhysicalOperator *> delim_scans, idx_t estimated_cardinality);
|
@@ -20,6 +20,9 @@ namespace duckdb {
|
|
20
20
|
|
21
21
|
//! PhysicalHashJoin represents a hash loop join between two tables
|
22
22
|
class PhysicalHashJoin : public PhysicalComparisonJoin {
|
23
|
+
public:
|
24
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::HASH_JOIN;
|
25
|
+
|
23
26
|
public:
|
24
27
|
PhysicalHashJoin(LogicalOperator &op, unique_ptr<PhysicalOperator> left, unique_ptr<PhysicalOperator> right,
|
25
28
|
vector<JoinCondition> cond, JoinType join_type, const vector<idx_t> &left_projection_map,
|
@@ -16,6 +16,9 @@ namespace duckdb {
|
|
16
16
|
//! PhysicalIEJoin represents a two inequality range join between
|
17
17
|
//! two tables
|
18
18
|
class PhysicalIEJoin : public PhysicalRangeJoin {
|
19
|
+
public:
|
20
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::IE_JOIN;
|
21
|
+
|
19
22
|
public:
|
20
23
|
PhysicalIEJoin(LogicalOperator &op, unique_ptr<PhysicalOperator> left, unique_ptr<PhysicalOperator> right,
|
21
24
|
vector<JoinCondition> cond, JoinType join_type, idx_t estimated_cardinality);
|
@@ -18,6 +18,9 @@ namespace duckdb {
|
|
18
18
|
|
19
19
|
//! PhysicalIndexJoin represents an index join between two tables
|
20
20
|
class PhysicalIndexJoin : public CachingPhysicalOperator {
|
21
|
+
public:
|
22
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::INDEX_JOIN;
|
23
|
+
|
21
24
|
public:
|
22
25
|
PhysicalIndexJoin(LogicalOperator &op, unique_ptr<PhysicalOperator> left, unique_ptr<PhysicalOperator> right,
|
23
26
|
vector<JoinCondition> cond, JoinType join_type, const vector<idx_t> &left_projection_map,
|
@@ -15,6 +15,9 @@ namespace duckdb {
|
|
15
15
|
|
16
16
|
//! PhysicalJoin represents the base class of the join operators
|
17
17
|
class PhysicalJoin : public CachingPhysicalOperator {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::INVALID;
|
20
|
+
|
18
21
|
public:
|
19
22
|
PhysicalJoin(LogicalOperator &op, PhysicalOperatorType type, JoinType join_type, idx_t estimated_cardinality);
|
20
23
|
|
@@ -12,13 +12,12 @@
|
|
12
12
|
#include "duckdb/execution/operator/join/physical_comparison_join.hpp"
|
13
13
|
|
14
14
|
namespace duckdb {
|
15
|
-
idx_t nested_loop_join(ExpressionType op, Vector &left, Vector &right, idx_t &lpos, idx_t &rpos, sel_t lvector[],
|
16
|
-
sel_t rvector[]);
|
17
|
-
idx_t nested_loop_comparison(ExpressionType op, Vector &left, Vector &right, sel_t lvector[], sel_t rvector[],
|
18
|
-
idx_t count);
|
19
15
|
|
20
16
|
//! PhysicalNestedLoopJoin represents a nested loop join between two tables
|
21
17
|
class PhysicalNestedLoopJoin : public PhysicalComparisonJoin {
|
18
|
+
public:
|
19
|
+
static constexpr const PhysicalOperatorType TYPE = PhysicalOperatorType::NESTED_LOOP_JOIN;
|
20
|
+
|
22
21
|
public:
|
23
22
|
PhysicalNestedLoopJoin(LogicalOperator &op, unique_ptr<PhysicalOperator> left, unique_ptr<PhysicalOperator> right,
|
24
23
|
vector<JoinCondition> cond, JoinType join_type, idx_t estimated_cardinality);
|