duckdb 1.0.1-dev21.0 → 1.0.1-dev27.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/.github/workflows/HighPriorityIssues.yml +2 -2
- package/.github/workflows/NodeJS.yml +1 -1
- package/binding.gyp +41 -0
- package/package.json +1 -1
- package/src/duckdb/extension/icu/icu-dateadd.cpp +4 -2
- package/src/duckdb/extension/icu/icu-datefunc.cpp +6 -2
- package/src/duckdb/extension/icu/icu-datesub.cpp +13 -2
- package/src/duckdb/extension/icu/icu-strptime.cpp +6 -6
- package/src/duckdb/extension/icu/icu-table-range.cpp +92 -73
- package/src/duckdb/extension/icu/icu-timebucket.cpp +12 -2
- package/src/duckdb/extension/icu/icu-timezone.cpp +3 -3
- package/src/duckdb/extension/icu/icu_extension.cpp +61 -9
- package/src/duckdb/extension/json/include/json_executors.hpp +20 -23
- package/src/duckdb/extension/json/include/json_functions.hpp +4 -0
- package/src/duckdb/extension/json/include/json_scan.hpp +6 -2
- package/src/duckdb/extension/json/include/json_structure.hpp +12 -9
- package/src/duckdb/extension/json/json_common.cpp +66 -10
- package/src/duckdb/extension/json/json_extension.cpp +13 -5
- package/src/duckdb/extension/json/json_functions/json_array_length.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_create.cpp +21 -4
- package/src/duckdb/extension/json/json_functions/json_exists.cpp +32 -0
- package/src/duckdb/extension/json/json_functions/json_extract.cpp +2 -2
- package/src/duckdb/extension/json/json_functions/json_keys.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_pretty.cpp +32 -0
- package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +5 -1
- package/src/duckdb/extension/json/json_functions/json_structure.cpp +305 -94
- package/src/duckdb/extension/json/json_functions/json_transform.cpp +1 -1
- package/src/duckdb/extension/json/json_functions/json_type.cpp +3 -3
- package/src/duckdb/extension/json/json_functions/json_value.cpp +42 -0
- package/src/duckdb/extension/json/json_functions/read_json.cpp +16 -2
- package/src/duckdb/extension/json/json_functions/read_json_objects.cpp +3 -2
- package/src/duckdb/extension/json/json_functions.cpp +5 -1
- package/src/duckdb/extension/json/json_scan.cpp +13 -12
- package/src/duckdb/extension/json/serialize_json.cpp +5 -3
- package/src/duckdb/extension/parquet/column_reader.cpp +206 -43
- package/src/duckdb/extension/parquet/column_writer.cpp +133 -62
- package/src/duckdb/extension/parquet/geo_parquet.cpp +391 -0
- package/src/duckdb/extension/parquet/include/boolean_column_reader.hpp +16 -5
- package/src/duckdb/extension/parquet/include/column_reader.hpp +37 -12
- package/src/duckdb/extension/parquet/include/column_writer.hpp +10 -11
- package/src/duckdb/extension/parquet/include/expression_column_reader.hpp +52 -0
- package/src/duckdb/extension/parquet/include/geo_parquet.hpp +139 -0
- package/src/duckdb/extension/parquet/include/parquet_crypto.hpp +13 -8
- package/src/duckdb/extension/parquet/include/parquet_decimal_utils.hpp +3 -0
- package/src/duckdb/extension/parquet/include/parquet_file_metadata_cache.hpp +7 -3
- package/src/duckdb/extension/parquet/include/parquet_reader.hpp +55 -8
- package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +3 -3
- package/src/duckdb/extension/parquet/include/parquet_rle_bp_encoder.hpp +1 -1
- package/src/duckdb/extension/parquet/include/parquet_timestamp.hpp +8 -0
- package/src/duckdb/extension/parquet/include/parquet_writer.hpp +21 -7
- package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +33 -11
- package/src/duckdb/extension/parquet/include/string_column_reader.hpp +5 -2
- package/src/duckdb/extension/parquet/include/templated_column_reader.hpp +48 -14
- package/src/duckdb/extension/parquet/parquet_crypto.cpp +109 -61
- package/src/duckdb/extension/parquet/parquet_extension.cpp +305 -72
- package/src/duckdb/extension/parquet/parquet_metadata.cpp +4 -4
- package/src/duckdb/extension/parquet/parquet_reader.cpp +151 -40
- package/src/duckdb/extension/parquet/parquet_statistics.cpp +50 -16
- package/src/duckdb/extension/parquet/parquet_timestamp.cpp +42 -1
- package/src/duckdb/extension/parquet/parquet_writer.cpp +67 -75
- package/src/duckdb/extension/parquet/serialize_parquet.cpp +3 -1
- package/src/duckdb/extension/parquet/zstd_file_system.cpp +5 -1
- package/src/duckdb/src/catalog/catalog.cpp +14 -16
- package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +14 -11
- package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +39 -19
- package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +92 -78
- package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +10 -2
- package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +10 -3
- package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +3 -3
- package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +7 -7
- package/src/duckdb/src/catalog/catalog_entry.cpp +6 -3
- package/src/duckdb/src/catalog/catalog_set.cpp +14 -19
- package/src/duckdb/src/catalog/default/default_functions.cpp +179 -166
- package/src/duckdb/src/catalog/default/default_generator.cpp +24 -0
- package/src/duckdb/src/catalog/default/default_schemas.cpp +4 -3
- package/src/duckdb/src/catalog/default/default_table_functions.cpp +148 -0
- package/src/duckdb/src/catalog/default/default_views.cpp +7 -3
- package/src/duckdb/src/catalog/duck_catalog.cpp +7 -1
- package/src/duckdb/src/common/adbc/adbc.cpp +120 -58
- package/src/duckdb/src/common/allocator.cpp +71 -6
- package/src/duckdb/src/common/arrow/appender/bool_data.cpp +8 -7
- package/src/duckdb/src/common/arrow/appender/fixed_size_list_data.cpp +1 -1
- package/src/duckdb/src/common/arrow/appender/union_data.cpp +4 -5
- package/src/duckdb/src/common/arrow/arrow_appender.cpp +55 -21
- package/src/duckdb/src/common/arrow/arrow_converter.cpp +85 -10
- package/src/duckdb/src/common/arrow/arrow_merge_event.cpp +142 -0
- package/src/duckdb/src/common/arrow/arrow_query_result.cpp +56 -0
- package/src/duckdb/src/common/arrow/physical_arrow_batch_collector.cpp +37 -0
- package/src/duckdb/src/common/arrow/physical_arrow_collector.cpp +128 -0
- package/src/duckdb/src/common/arrow/schema_metadata.cpp +101 -0
- package/src/duckdb/src/common/cgroups.cpp +189 -0
- package/src/duckdb/src/common/compressed_file_system.cpp +6 -3
- package/src/duckdb/src/common/encryption_state.cpp +38 -0
- package/src/duckdb/src/common/enum_util.cpp +682 -14
- package/src/duckdb/src/common/enums/file_compression_type.cpp +24 -0
- package/src/duckdb/src/common/enums/metric_type.cpp +208 -0
- package/src/duckdb/src/common/enums/optimizer_type.cpp +8 -2
- package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -0
- package/src/duckdb/src/common/enums/relation_type.cpp +4 -0
- package/src/duckdb/src/common/enums/statement_type.cpp +15 -0
- package/src/duckdb/src/common/error_data.cpp +22 -20
- package/src/duckdb/src/common/exception/binder_exception.cpp +5 -0
- package/src/duckdb/src/common/exception.cpp +11 -1
- package/src/duckdb/src/common/extra_type_info.cpp +3 -0
- package/src/duckdb/src/common/file_buffer.cpp +1 -1
- package/src/duckdb/src/common/file_system.cpp +25 -3
- package/src/duckdb/src/common/filename_pattern.cpp +1 -0
- package/src/duckdb/src/common/fsst.cpp +15 -14
- package/src/duckdb/src/common/gzip_file_system.cpp +3 -1
- package/src/duckdb/src/common/hive_partitioning.cpp +103 -43
- package/src/duckdb/src/common/http_util.cpp +25 -0
- package/src/duckdb/src/common/local_file_system.cpp +48 -27
- package/src/duckdb/src/common/multi_file_list.cpp +113 -22
- package/src/duckdb/src/common/multi_file_reader.cpp +59 -58
- package/src/duckdb/src/common/operator/cast_operators.cpp +133 -34
- package/src/duckdb/src/common/operator/string_cast.cpp +42 -11
- package/src/duckdb/src/common/progress_bar/progress_bar.cpp +2 -2
- package/src/duckdb/src/common/progress_bar/terminal_progress_bar_display.cpp +1 -1
- package/src/duckdb/src/common/radix_partitioning.cpp +31 -21
- package/src/duckdb/src/common/random_engine.cpp +4 -0
- package/src/duckdb/src/common/re2_regex.cpp +47 -12
- package/src/duckdb/src/common/render_tree.cpp +243 -0
- package/src/duckdb/src/common/row_operations/row_aggregate.cpp +1 -1
- package/src/duckdb/src/common/row_operations/row_gather.cpp +2 -2
- package/src/duckdb/src/common/row_operations/row_matcher.cpp +58 -5
- package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +79 -43
- package/src/duckdb/src/common/serializer/binary_deserializer.cpp +1 -1
- package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +6 -4
- package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +18 -9
- package/src/duckdb/src/common/serializer/memory_stream.cpp +1 -0
- package/src/duckdb/src/common/sort/partition_state.cpp +33 -18
- package/src/duckdb/src/common/sort/radix_sort.cpp +22 -15
- package/src/duckdb/src/common/sort/sort_state.cpp +19 -16
- package/src/duckdb/src/common/sort/sorted_block.cpp +11 -10
- package/src/duckdb/src/common/string_util.cpp +167 -10
- package/src/duckdb/src/common/tree_renderer/graphviz_tree_renderer.cpp +108 -0
- package/src/duckdb/src/common/tree_renderer/html_tree_renderer.cpp +267 -0
- package/src/duckdb/src/common/tree_renderer/json_tree_renderer.cpp +116 -0
- package/src/duckdb/src/common/tree_renderer/text_tree_renderer.cpp +482 -0
- package/src/duckdb/src/common/tree_renderer/tree_renderer.cpp +12 -0
- package/src/duckdb/src/common/tree_renderer.cpp +16 -508
- package/src/duckdb/src/common/types/batched_data_collection.cpp +78 -9
- package/src/duckdb/src/common/types/bit.cpp +24 -22
- package/src/duckdb/src/common/types/blob.cpp +15 -11
- package/src/duckdb/src/common/types/column/column_data_allocator.cpp +18 -9
- package/src/duckdb/src/common/types/column/column_data_collection.cpp +4 -4
- package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +3 -4
- package/src/duckdb/src/common/types/column/column_data_consumer.cpp +2 -2
- package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +70 -21
- package/src/duckdb/src/common/types/data_chunk.cpp +10 -1
- package/src/duckdb/src/common/types/date.cpp +8 -19
- package/src/duckdb/src/common/types/decimal.cpp +3 -2
- package/src/duckdb/src/common/types/hugeint.cpp +11 -3
- package/src/duckdb/src/common/types/hyperloglog.cpp +212 -227
- package/src/duckdb/src/common/types/interval.cpp +1 -1
- package/src/duckdb/src/common/types/list_segment.cpp +83 -49
- package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +22 -83
- package/src/duckdb/src/common/types/row/row_data_collection.cpp +2 -2
- package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +20 -4
- package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +28 -7
- package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +29 -14
- package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +152 -102
- package/src/duckdb/src/common/types/row/tuple_data_segment.cpp +4 -1
- package/src/duckdb/src/common/types/selection_vector.cpp +17 -1
- package/src/duckdb/src/common/types/time.cpp +62 -31
- package/src/duckdb/src/common/types/timestamp.cpp +70 -12
- package/src/duckdb/src/common/types/uuid.cpp +1 -1
- package/src/duckdb/src/common/types/validity_mask.cpp +40 -5
- package/src/duckdb/src/common/types/value.cpp +50 -8
- package/src/duckdb/src/common/types/varint.cpp +295 -0
- package/src/duckdb/src/common/types/vector.cpp +165 -54
- package/src/duckdb/src/common/types/vector_buffer.cpp +5 -4
- package/src/duckdb/src/common/types.cpp +106 -26
- package/src/duckdb/src/common/vector_operations/vector_copy.cpp +13 -25
- package/src/duckdb/src/common/vector_operations/vector_hash.cpp +6 -0
- package/src/duckdb/src/common/virtual_file_system.cpp +3 -3
- package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +35 -82
- package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +283 -46
- package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +4 -4
- package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +3 -2
- package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +226 -338
- package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +2 -0
- package/src/duckdb/src/core_functions/aggregate/holistic/approx_top_k.cpp +388 -0
- package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +63 -21
- package/src/duckdb/src/core_functions/aggregate/holistic/mad.cpp +330 -0
- package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +136 -97
- package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +601 -1485
- package/src/duckdb/src/core_functions/aggregate/nested/binned_histogram.cpp +405 -0
- package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +136 -165
- package/src/duckdb/src/core_functions/function_list.cpp +35 -8
- package/src/duckdb/src/core_functions/lambda_functions.cpp +5 -7
- package/src/duckdb/src/core_functions/scalar/array/array_functions.cpp +172 -198
- package/src/duckdb/src/core_functions/scalar/blob/create_sort_key.cpp +341 -54
- package/src/duckdb/src/core_functions/scalar/date/date_diff.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +89 -29
- package/src/duckdb/src/core_functions/scalar/date/date_trunc.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/date/make_date.cpp +2 -2
- package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +133 -71
- package/src/duckdb/src/core_functions/scalar/date/to_interval.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/enum/enum_functions.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/can_implicitly_cast.cpp +40 -0
- package/src/duckdb/src/core_functions/scalar/generic/error.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/generic/least.cpp +161 -58
- package/src/duckdb/src/core_functions/scalar/generic/typeof.cpp +13 -0
- package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +59 -75
- package/src/duckdb/src/core_functions/scalar/list/list_distance.cpp +93 -40
- package/src/duckdb/src/core_functions/scalar/list/list_has_any_or_all.cpp +227 -0
- package/src/duckdb/src/core_functions/scalar/list/list_reduce.cpp +20 -19
- package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +0 -2
- package/src/duckdb/src/core_functions/scalar/list/list_value.cpp +106 -8
- package/src/duckdb/src/core_functions/scalar/map/map_contains.cpp +56 -0
- package/src/duckdb/src/core_functions/scalar/map/map_extract.cpp +73 -118
- package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +98 -2
- package/src/duckdb/src/core_functions/scalar/operators/bitwise.cpp +1 -2
- package/src/duckdb/src/core_functions/scalar/random/setseed.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/string/bar.cpp +1 -1
- package/src/duckdb/src/core_functions/scalar/string/hex.cpp +5 -1
- package/src/duckdb/src/core_functions/scalar/string/md5.cpp +10 -37
- package/src/duckdb/src/core_functions/scalar/string/printf.cpp +18 -2
- package/src/duckdb/src/core_functions/scalar/string/repeat.cpp +45 -0
- package/src/duckdb/src/core_functions/scalar/string/reverse.cpp +4 -5
- package/src/duckdb/src/core_functions/scalar/string/sha1.cpp +35 -0
- package/src/duckdb/src/core_functions/scalar/string/sha256.cpp +5 -2
- package/src/duckdb/src/core_functions/scalar/string/url_encode.cpp +49 -0
- package/src/duckdb/src/core_functions/scalar/struct/struct_pack.cpp +1 -2
- package/src/duckdb/src/core_functions/scalar/union/union_extract.cpp +4 -2
- package/src/duckdb/src/execution/adaptive_filter.cpp +30 -11
- package/src/duckdb/src/execution/aggregate_hashtable.cpp +13 -18
- package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +4 -9
- package/src/duckdb/src/execution/expression_executor.cpp +1 -1
- package/src/duckdb/src/execution/index/art/art.cpp +683 -670
- package/src/duckdb/src/execution/index/art/art_key.cpp +121 -38
- package/src/duckdb/src/execution/index/art/base_leaf.cpp +168 -0
- package/src/duckdb/src/execution/index/art/base_node.cpp +163 -0
- package/src/duckdb/src/execution/index/art/iterator.cpp +148 -77
- package/src/duckdb/src/execution/index/art/leaf.cpp +159 -263
- package/src/duckdb/src/execution/index/art/node.cpp +493 -247
- package/src/duckdb/src/execution/index/art/node256.cpp +31 -91
- package/src/duckdb/src/execution/index/art/node256_leaf.cpp +71 -0
- package/src/duckdb/src/execution/index/art/node48.cpp +75 -143
- package/src/duckdb/src/execution/index/art/prefix.cpp +424 -244
- package/src/duckdb/src/execution/index/bound_index.cpp +7 -1
- package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +22 -18
- package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +22 -73
- package/src/duckdb/src/execution/join_hashtable.cpp +637 -179
- package/src/duckdb/src/execution/operator/aggregate/aggregate_object.cpp +4 -4
- package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +15 -10
- package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +13 -8
- package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +525 -132
- package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +147 -138
- package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +531 -312
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +4 -3
- package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +9 -2
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/base_scanner.cpp +13 -17
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp +60 -16
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/csv_schema.cpp +105 -0
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +24 -24
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp +25 -2
- package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +275 -112
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +106 -11
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +253 -115
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +93 -52
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +116 -76
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +29 -14
- package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +1 -1
- package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +70 -26
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +81 -60
- package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +88 -50
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +161 -51
- package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +59 -17
- package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +5 -5
- package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +0 -21
- package/src/duckdb/src/execution/operator/helper/physical_buffered_batch_collector.cpp +109 -0
- package/src/duckdb/src/execution/operator/helper/physical_buffered_collector.cpp +5 -13
- package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +1 -1
- package/src/duckdb/src/execution/operator/helper/physical_load.cpp +12 -4
- package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +0 -16
- package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +4 -2
- package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +5 -0
- package/src/duckdb/src/execution/operator/helper/physical_result_collector.cpp +3 -1
- package/src/duckdb/src/execution/operator/helper/physical_set_variable.cpp +39 -0
- package/src/duckdb/src/execution/operator/helper/physical_streaming_sample.cpp +4 -2
- package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +16 -5
- 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 +1 -1
- package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +5 -4
- package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +59 -21
- package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +7 -4
- package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +333 -176
- package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +57 -34
- package/src/duckdb/src/execution/operator/join/physical_join.cpp +16 -8
- package/src/duckdb/src/execution/operator/join/physical_left_delim_join.cpp +10 -4
- package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +2 -5
- package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +3 -3
- package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +5 -5
- package/src/duckdb/src/execution/operator/join/physical_right_delim_join.cpp +7 -2
- package/src/duckdb/src/execution/operator/order/physical_order.cpp +17 -12
- package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +12 -9
- package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +35 -17
- package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +17 -11
- package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +5 -1
- package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +156 -47
- package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +10 -2
- package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +1 -3
- package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -2
- package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +13 -6
- package/src/duckdb/src/execution/operator/projection/physical_tableinout_function.cpp +22 -3
- package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +19 -3
- package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +37 -22
- package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +77 -21
- package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +27 -55
- package/src/duckdb/src/execution/operator/schema/physical_create_art_index.cpp +41 -44
- package/src/duckdb/src/execution/operator/set/physical_cte.cpp +4 -6
- package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +4 -6
- package/src/duckdb/src/execution/operator/set/physical_union.cpp +18 -4
- package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +3 -2
- package/src/duckdb/src/execution/physical_operator.cpp +45 -4
- package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +18 -7
- package/src/duckdb/src/execution/physical_plan/plan_copy_to_file.cpp +8 -3
- package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +13 -6
- package/src/duckdb/src/execution/physical_plan/plan_explain.cpp +3 -3
- package/src/duckdb/src/execution/physical_plan/plan_get.cpp +111 -19
- package/src/duckdb/src/execution/physical_plan/plan_limit.cpp +19 -2
- package/src/duckdb/src/execution/physical_plan/plan_set.cpp +9 -0
- package/src/duckdb/src/execution/physical_plan/plan_window.cpp +3 -1
- package/src/duckdb/src/execution/physical_plan_generator.cpp +3 -3
- package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +49 -49
- package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
- package/src/duckdb/src/execution/window_executor.cpp +556 -318
- package/src/duckdb/src/execution/window_segment_tree.cpp +1058 -485
- package/src/duckdb/src/function/aggregate/distributive/count.cpp +5 -5
- package/src/duckdb/src/function/aggregate/distributive/first.cpp +92 -95
- package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +10 -9
- package/src/duckdb/src/function/aggregate_function.cpp +8 -0
- package/src/duckdb/src/function/cast/cast_function_set.cpp +10 -1
- package/src/duckdb/src/function/cast/decimal_cast.cpp +10 -1
- package/src/duckdb/src/function/cast/default_casts.cpp +2 -0
- package/src/duckdb/src/function/cast/numeric_casts.cpp +3 -0
- package/src/duckdb/src/function/cast/string_cast.cpp +8 -5
- package/src/duckdb/src/function/cast/time_casts.cpp +2 -2
- package/src/duckdb/src/function/cast/union_casts.cpp +1 -1
- package/src/duckdb/src/function/cast/varint_casts.cpp +283 -0
- package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +3 -1
- package/src/duckdb/src/function/cast_rules.cpp +104 -15
- package/src/duckdb/src/function/compression_config.cpp +35 -33
- package/src/duckdb/src/function/copy_function.cpp +27 -0
- package/src/duckdb/src/function/function_binder.cpp +39 -11
- package/src/duckdb/src/function/macro_function.cpp +75 -32
- package/src/duckdb/src/function/pragma/pragma_queries.cpp +10 -0
- package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +1 -0
- package/src/duckdb/src/function/scalar/generic/binning.cpp +507 -0
- package/src/duckdb/src/function/scalar/generic/getvariable.cpp +58 -0
- package/src/duckdb/src/function/scalar/generic_functions.cpp +1 -0
- package/src/duckdb/src/function/scalar/list/contains_or_position.cpp +33 -47
- package/src/duckdb/src/function/scalar/list/list_extract.cpp +70 -143
- package/src/duckdb/src/function/scalar/list/list_resize.cpp +93 -84
- package/src/duckdb/src/function/scalar/list/list_zip.cpp +3 -0
- package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +24 -11
- package/src/duckdb/src/function/scalar/sequence/nextval.cpp +4 -4
- package/src/duckdb/src/function/scalar/strftime_format.cpp +196 -57
- package/src/duckdb/src/function/scalar/string/caseconvert.cpp +9 -7
- package/src/duckdb/src/function/scalar/string/concat.cpp +239 -123
- package/src/duckdb/src/function/scalar/string/concat_ws.cpp +149 -0
- package/src/duckdb/src/function/scalar/string/contains.cpp +18 -7
- package/src/duckdb/src/function/scalar/string/like.cpp +2 -2
- package/src/duckdb/src/function/scalar/string/substring.cpp +6 -11
- package/src/duckdb/src/function/scalar/string_functions.cpp +1 -0
- package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +7 -3
- package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +5 -5
- package/src/duckdb/src/function/scalar_function.cpp +5 -2
- package/src/duckdb/src/function/scalar_macro_function.cpp +2 -2
- package/src/duckdb/src/function/table/arrow/arrow_duck_schema.cpp +20 -39
- package/src/duckdb/src/function/table/arrow/arrow_type_info.cpp +135 -0
- package/src/duckdb/src/function/table/arrow.cpp +194 -52
- package/src/duckdb/src/function/table/arrow_conversion.cpp +212 -69
- package/src/duckdb/src/function/table/copy_csv.cpp +43 -14
- package/src/duckdb/src/function/table/query_function.cpp +80 -0
- package/src/duckdb/src/function/table/range.cpp +222 -142
- package/src/duckdb/src/function/table/read_csv.cpp +25 -13
- package/src/duckdb/src/function/table/sniff_csv.cpp +55 -35
- package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +141 -129
- package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +25 -14
- package/src/duckdb/src/function/table/system/duckdb_functions.cpp +20 -14
- package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +15 -1
- package/src/duckdb/src/function/table/system/duckdb_variables.cpp +84 -0
- package/src/duckdb/src/function/table/system/test_all_types.cpp +1 -0
- package/src/duckdb/src/function/table/system/test_vector_types.cpp +33 -3
- package/src/duckdb/src/function/table/system_functions.cpp +1 -0
- package/src/duckdb/src/function/table/table_scan.cpp +45 -22
- package/src/duckdb/src/function/table/unnest.cpp +2 -2
- package/src/duckdb/src/function/table/version/pragma_version.cpp +4 -4
- package/src/duckdb/src/function/table_function.cpp +5 -4
- package/src/duckdb/src/function/table_macro_function.cpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +8 -4
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +5 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +3 -0
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +3 -4
- package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +5 -5
- package/src/duckdb/src/include/duckdb/catalog/default/builtin_types/types.hpp +2 -1
- package/src/duckdb/src/include/duckdb/catalog/default/default_functions.hpp +4 -5
- package/src/duckdb/src/include/duckdb/catalog/default/default_generator.hpp +4 -5
- package/src/duckdb/src/include/duckdb/catalog/default/default_schemas.hpp +2 -1
- package/src/duckdb/src/include/duckdb/catalog/default/default_table_functions.hpp +47 -0
- package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +2 -0
- package/src/duckdb/src/include/duckdb/catalog/similar_catalog_entry.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/allocator.hpp +9 -1
- package/src/duckdb/src/include/duckdb/common/array_ptr.hpp +120 -0
- package/src/duckdb/src/include/duckdb/common/arrow/appender/append_data.hpp +37 -11
- package/src/duckdb/src/include/duckdb/common/arrow/appender/enum_data.hpp +9 -8
- package/src/duckdb/src/include/duckdb/common/arrow/appender/list.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +6 -4
- package/src/duckdb/src/include/duckdb/common/arrow/appender/list_view_data.hpp +92 -0
- package/src/duckdb/src/include/duckdb/common/arrow/appender/map_data.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/arrow/appender/scalar_data.hpp +26 -4
- package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +90 -11
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_appender.hpp +6 -6
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_buffer.hpp +8 -1
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_merge_event.hpp +62 -0
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_query_result.hpp +52 -0
- package/src/duckdb/src/include/duckdb/common/arrow/arrow_types_extension.hpp +42 -0
- package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_batch_collector.hpp +30 -0
- package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_collector.hpp +65 -0
- package/src/duckdb/src/include/duckdb/common/arrow/schema_metadata.hpp +43 -0
- package/src/duckdb/src/include/duckdb/common/bswap.hpp +18 -16
- package/src/duckdb/src/include/duckdb/common/cgroups.hpp +30 -0
- package/src/duckdb/src/include/duckdb/common/compressed_file_system.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/dl.hpp +8 -1
- package/src/duckdb/src/include/duckdb/common/encryption_state.hpp +48 -0
- package/src/duckdb/src/include/duckdb/common/enum_util.hpp +88 -0
- package/src/duckdb/src/include/duckdb/common/enums/checkpoint_type.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/enums/copy_overwrite_mode.hpp +6 -1
- package/src/duckdb/src/include/duckdb/common/enums/destroy_buffer_upon.hpp +21 -0
- package/src/duckdb/src/include/duckdb/common/enums/explain_format.hpp +17 -0
- package/src/duckdb/src/include/duckdb/common/enums/file_compression_type.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/enums/join_type.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/enums/metric_type.hpp +88 -0
- package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +6 -1
- package/src/duckdb/src/include/duckdb/common/enums/pending_execution_result.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/enums/profiler_format.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/enums/relation_type.hpp +3 -1
- package/src/duckdb/src/include/duckdb/common/enums/set_scope.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +23 -2
- package/src/duckdb/src/include/duckdb/common/enums/stream_execution_result.hpp +25 -0
- package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/enums/wal_type.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/error_data.hpp +5 -2
- package/src/duckdb/src/include/duckdb/common/exception/binder_exception.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/exception.hpp +20 -2
- package/src/duckdb/src/include/duckdb/common/extra_operator_info.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/file_buffer.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/file_open_flags.hpp +16 -0
- package/src/duckdb/src/include/duckdb/common/file_opener.hpp +18 -0
- package/src/duckdb/src/include/duckdb/common/file_system.hpp +3 -0
- package/src/duckdb/src/include/duckdb/common/filename_pattern.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/fixed_size_map.hpp +160 -96
- package/src/duckdb/src/include/duckdb/common/fsst.hpp +9 -2
- package/src/duckdb/src/include/duckdb/common/helper.hpp +22 -8
- package/src/duckdb/src/include/duckdb/common/hive_partitioning.hpp +16 -7
- package/src/duckdb/src/include/duckdb/common/http_util.hpp +19 -0
- package/src/duckdb/src/include/duckdb/common/insertion_order_preserving_map.hpp +19 -6
- package/src/duckdb/src/include/duckdb/common/limits.hpp +9 -2
- package/src/duckdb/src/include/duckdb/common/multi_file_list.hpp +38 -6
- package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +9 -2
- package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +82 -50
- package/src/duckdb/src/include/duckdb/common/operator/abs.hpp +11 -0
- package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +7 -3
- package/src/duckdb/src/include/duckdb/common/operator/decimal_cast_operators.hpp +23 -1
- package/src/duckdb/src/include/duckdb/common/operator/double_cast_operator.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/operator/integer_cast_operator.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/operator/numeric_cast.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/operator/string_cast.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/optional_ptr.hpp +10 -5
- package/src/duckdb/src/include/duckdb/common/optionally_owned_ptr.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/owning_string_map.hpp +155 -0
- package/src/duckdb/src/include/duckdb/common/perfect_map_set.hpp +2 -3
- package/src/duckdb/src/include/duckdb/common/platform.hpp +58 -0
- package/src/duckdb/src/include/duckdb/common/radix.hpp +172 -27
- package/src/duckdb/src/include/duckdb/common/radix_partitioning.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/random_engine.hpp +1 -0
- package/src/duckdb/src/include/duckdb/common/re2_regex.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/render_tree.hpp +77 -0
- package/src/duckdb/src/include/duckdb/common/row_operations/row_matcher.hpp +12 -0
- package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +6 -2
- package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +5 -3
- package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +15 -7
- package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +3 -1
- package/src/duckdb/src/include/duckdb/common/serializer/serialization_data.hpp +245 -0
- package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +10 -0
- package/src/duckdb/src/include/duckdb/common/sort/duckdb_pdqsort.hpp +10 -11
- package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +12 -6
- package/src/duckdb/src/include/duckdb/common/string_util.hpp +37 -7
- package/src/duckdb/src/include/duckdb/common/tree_renderer/graphviz_tree_renderer.hpp +44 -0
- package/src/duckdb/src/include/duckdb/common/tree_renderer/html_tree_renderer.hpp +44 -0
- package/src/duckdb/src/include/duckdb/common/tree_renderer/json_tree_renderer.hpp +44 -0
- package/src/duckdb/src/include/duckdb/common/tree_renderer/text_tree_renderer.hpp +119 -0
- package/src/duckdb/src/include/duckdb/common/tree_renderer.hpp +9 -123
- package/src/duckdb/src/include/duckdb/common/type_visitor.hpp +96 -0
- package/src/duckdb/src/include/duckdb/common/typedefs.hpp +11 -1
- package/src/duckdb/src/include/duckdb/common/types/arrow_string_view_type.hpp +84 -0
- package/src/duckdb/src/include/duckdb/common/types/batched_data_collection.hpp +36 -1
- package/src/duckdb/src/include/duckdb/common/types/bit.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/cast_helpers.hpp +2 -2
- package/src/duckdb/src/include/duckdb/common/types/column/column_data_allocator.hpp +4 -2
- package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +52 -0
- package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/types/date.hpp +0 -3
- package/src/duckdb/src/include/duckdb/common/types/date_lookup_cache.hpp +65 -0
- package/src/duckdb/src/include/duckdb/common/types/datetime.hpp +5 -2
- package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +49 -40
- package/src/duckdb/src/include/duckdb/common/types/interval.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/types/list_segment.hpp +2 -1
- package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +41 -9
- package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection.hpp +4 -3
- package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection_scanner.hpp +3 -1
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_allocator.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +1 -1
- package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +4 -0
- package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +4 -1
- package/src/duckdb/src/include/duckdb/common/types/time.hpp +11 -6
- package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +13 -3
- package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +103 -12
- package/src/duckdb/src/include/duckdb/common/types/value.hpp +12 -3
- package/src/duckdb/src/include/duckdb/common/types/varint.hpp +107 -0
- package/src/duckdb/src/include/duckdb/common/types/vector.hpp +5 -1
- package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +7 -2
- package/src/duckdb/src/include/duckdb/common/types.hpp +6 -39
- package/src/duckdb/src/include/duckdb/common/union_by_name.hpp +42 -10
- package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +29 -0
- package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +0 -7
- package/src/duckdb/src/include/duckdb/common/vector_operations/vector_operations.hpp +2 -0
- package/src/duckdb/src/include/duckdb/common/winapi.hpp +8 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +8 -4
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +8 -4
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +4 -2
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/histogram_helpers.hpp +99 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/holistic_functions.hpp +16 -7
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/minmax_n_helpers.hpp +396 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/nested_functions.hpp +10 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_helpers.hpp +65 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_sort_tree.hpp +349 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_state.hpp +300 -0
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +1 -1
- package/src/duckdb/src/include/duckdb/core_functions/aggregate/sort_key_helpers.hpp +55 -0
- package/src/duckdb/src/include/duckdb/core_functions/array_kernels.hpp +107 -0
- package/src/duckdb/src/include/duckdb/core_functions/create_sort_key.hpp +55 -0
- package/src/duckdb/src/include/duckdb/core_functions/lambda_functions.hpp +1 -2
- package/src/duckdb/src/include/duckdb/core_functions/scalar/array_functions.hpp +24 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/date_functions.hpp +9 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/generic_functions.hpp +27 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +80 -8
- package/src/duckdb/src/include/duckdb/core_functions/scalar/map_functions.hpp +9 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/math_functions.hpp +54 -0
- package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +30 -21
- package/src/duckdb/src/include/duckdb/execution/adaptive_filter.hpp +25 -14
- package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +2 -48
- package/src/duckdb/src/include/duckdb/execution/executor.hpp +25 -2
- package/src/duckdb/src/include/duckdb/execution/ht_entry.hpp +102 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +94 -101
- package/src/duckdb/src/include/duckdb/execution/index/art/art_key.hpp +43 -25
- package/src/duckdb/src/include/duckdb/execution/index/art/base_leaf.hpp +109 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/base_node.hpp +140 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/iterator.hpp +43 -24
- package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +41 -52
- package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +133 -74
- package/src/duckdb/src/include/duckdb/execution/index/art/node256.hpp +46 -29
- package/src/duckdb/src/include/duckdb/execution/index/art/node256_leaf.hpp +53 -0
- package/src/duckdb/src/include/duckdb/execution/index/art/node48.hpp +52 -35
- package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +96 -57
- package/src/duckdb/src/include/duckdb/execution/index/bound_index.hpp +9 -4
- package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +48 -10
- package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +0 -2
- package/src/duckdb/src/include/duckdb/execution/index/index_pointer.hpp +4 -2
- package/src/duckdb/src/include/duckdb/execution/join_hashtable.hpp +114 -36
- package/src/duckdb/src/include/duckdb/execution/merge_sort_tree.hpp +158 -67
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/aggregate_object.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_streaming_window.hpp +19 -2
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/aggregate/ungrouped_aggregate_state.hpp +75 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/base_scanner.hpp +81 -23
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/column_count_scanner.hpp +27 -8
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +31 -22
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +4 -2
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_scanner.hpp +48 -5
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_option.hpp +7 -3
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +22 -12
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_schema.hpp +35 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_sniffer.hpp +81 -39
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state.hpp +2 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +18 -1
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine_cache.hpp +9 -7
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/global_csv_state.hpp +5 -4
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/header_value.hpp +26 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner_boundary.hpp +6 -9
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/skip_scanner.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine_options.hpp +5 -3
- package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +36 -19
- package/src/duckdb/src/include/duckdb/execution/operator/filter/physical_filter.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +21 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_batch_collector.hpp +53 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +6 -2
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +18 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +6 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set_variable.hpp +43 -0
- package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_sample.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/join_filter_pushdown.hpp +59 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_comparison_join.hpp +8 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +5 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +4 -2
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -0
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_join.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp +3 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_range_join.hpp +4 -1
- package/src/duckdb/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp +3 -1
- package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/batch_memory_manager.hpp +5 -37
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +5 -4
- package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +8 -2
- package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_projection.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_tableinout_function.hpp +2 -0
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +9 -3
- package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +8 -6
- package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_art_index.hpp +2 -2
- package/src/duckdb/src/include/duckdb/execution/operator/set/physical_cte.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +1 -1
- package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +21 -6
- package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +3 -2
- package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +3 -0
- package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +137 -110
- package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +57 -126
- package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +21 -4
- package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/compression/compression.hpp +10 -10
- package/src/duckdb/src/include/duckdb/function/compression_function.hpp +37 -7
- package/src/duckdb/src/include/duckdb/function/copy_function.hpp +24 -11
- package/src/duckdb/src/include/duckdb/function/function_binder.hpp +4 -4
- package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +41 -1
- package/src/duckdb/src/include/duckdb/function/macro_function.hpp +15 -5
- package/src/duckdb/src/include/duckdb/function/pragma/pragma_functions.hpp +1 -0
- package/src/duckdb/src/include/duckdb/function/replacement_scan.hpp +20 -4
- package/src/duckdb/src/include/duckdb/function/scalar/generic_functions.hpp +6 -0
- package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +77 -109
- package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +6 -3
- package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +25 -12
- package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +9 -8
- package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +38 -4
- package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +11 -57
- package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_type_info.hpp +142 -0
- package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_datetime_type.hpp +18 -0
- package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_type_info_type.hpp +7 -0
- package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_variable_size_type.hpp +10 -0
- package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +2 -0
- package/src/duckdb/src/include/duckdb/function/table/range.hpp +4 -0
- package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +4 -1
- package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +4 -0
- package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +5 -5
- package/src/duckdb/src/include/duckdb/function/table_function.hpp +14 -2
- package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/appender.hpp +14 -4
- package/src/duckdb/src/include/duckdb/main/attached_database.hpp +25 -7
- package/src/duckdb/src/include/duckdb/main/buffered_data/batched_buffered_data.hpp +79 -0
- package/src/duckdb/src/include/duckdb/main/buffered_data/buffered_data.hpp +10 -20
- package/src/duckdb/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp +11 -12
- package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +7 -2
- package/src/duckdb/src/include/duckdb/main/capi/cast/generic.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/capi/cast/utils.hpp +2 -2
- package/src/duckdb/src/include/duckdb/main/capi/extension_api.hpp +809 -0
- package/src/duckdb/src/include/duckdb/main/chunk_scan_state/batched_data_collection.hpp +35 -0
- package/src/duckdb/src/include/duckdb/main/client_config.hpp +68 -2
- package/src/duckdb/src/include/duckdb/main/client_context.hpp +30 -22
- package/src/duckdb/src/include/duckdb/main/client_context_state.hpp +79 -1
- package/src/duckdb/src/include/duckdb/main/client_properties.hpp +9 -3
- package/src/duckdb/src/include/duckdb/main/config.hpp +55 -7
- package/src/duckdb/src/include/duckdb/main/connection.hpp +5 -1
- package/src/duckdb/src/include/duckdb/main/database.hpp +16 -5
- package/src/duckdb/src/include/duckdb/main/database_manager.hpp +9 -8
- package/src/duckdb/src/include/duckdb/main/db_instance_cache.hpp +21 -6
- package/src/duckdb/src/include/duckdb/main/extension.hpp +20 -0
- package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +25 -0
- package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +29 -23
- package/src/duckdb/src/include/duckdb/main/extension_install_info.hpp +6 -0
- package/src/duckdb/src/include/duckdb/main/extension_util.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +4 -2
- package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +5 -6
- package/src/duckdb/src/include/duckdb/main/prepared_statement_data.hpp +2 -5
- package/src/duckdb/src/include/duckdb/main/profiling_info.hpp +87 -0
- package/src/duckdb/src/include/duckdb/main/profiling_node.hpp +60 -0
- package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +72 -34
- package/src/duckdb/src/include/duckdb/main/query_result.hpp +1 -1
- package/src/duckdb/src/include/duckdb/main/relation/create_table_relation.hpp +2 -1
- package/src/duckdb/src/include/duckdb/main/relation/delim_get_relation.hpp +30 -0
- package/src/duckdb/src/include/duckdb/main/relation/explain_relation.hpp +3 -1
- package/src/duckdb/src/include/duckdb/main/relation/join_relation.hpp +3 -0
- package/src/duckdb/src/include/duckdb/main/relation/materialized_relation.hpp +1 -4
- package/src/duckdb/src/include/duckdb/main/relation/query_relation.hpp +4 -1
- package/src/duckdb/src/include/duckdb/main/relation/read_json_relation.hpp +6 -0
- package/src/duckdb/src/include/duckdb/main/relation/table_function_relation.hpp +1 -0
- package/src/duckdb/src/include/duckdb/main/relation/view_relation.hpp +2 -0
- package/src/duckdb/src/include/duckdb/main/relation.hpp +7 -4
- package/src/duckdb/src/include/duckdb/main/secret/default_secrets.hpp +36 -0
- package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +108 -0
- package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +14 -4
- package/src/duckdb/src/include/duckdb/main/settings.hpp +227 -3
- package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +8 -0
- package/src/duckdb/src/include/duckdb/optimizer/build_probe_side_optimizer.hpp +51 -0
- package/src/duckdb/src/include/duckdb/optimizer/compressed_materialization.hpp +7 -0
- package/src/duckdb/src/include/duckdb/optimizer/cte_filter_pusher.hpp +46 -0
- package/src/duckdb/src/include/duckdb/optimizer/filter_combiner.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +7 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_filter_pushdown_optimizer.hpp +31 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +51 -10
- package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +1 -0
- package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +17 -5
- package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph.hpp +1 -1
- package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +15 -13
- package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +9 -4
- package/src/duckdb/src/include/duckdb/optimizer/limit_pushdown.hpp +25 -0
- package/src/duckdb/src/include/duckdb/optimizer/optimizer.hpp +1 -0
- package/src/duckdb/src/include/duckdb/optimizer/rule/join_dependent_filter.hpp +37 -0
- package/src/duckdb/src/include/duckdb/parallel/executor_task.hpp +6 -1
- package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +54 -2
- package/src/duckdb/src/include/duckdb/parallel/meta_pipeline.hpp +27 -8
- package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +1 -0
- package/src/duckdb/src/include/duckdb/parallel/pipeline_prepare_finish_event.hpp +25 -0
- package/src/duckdb/src/include/duckdb/parallel/task_executor.hpp +63 -0
- package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +10 -1
- package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +4 -1
- package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +5 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +11 -1
- package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +9 -0
- package/src/duckdb/src/include/duckdb/parser/parsed_expression_iterator.hpp +13 -6
- package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +1 -3
- package/src/duckdb/src/include/duckdb/parser/statement/copy_statement.hpp +2 -0
- package/src/duckdb/src/include/duckdb/parser/statement/explain_statement.hpp +5 -1
- package/src/duckdb/src/include/duckdb/parser/statement/set_statement.hpp +2 -2
- package/src/duckdb/src/include/duckdb/parser/statement/transaction_statement.hpp +1 -1
- package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +0 -2
- package/src/duckdb/src/include/duckdb/parser/tableref/column_data_ref.hpp +9 -7
- package/src/duckdb/src/include/duckdb/parser/tableref/delimgetref.hpp +37 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +4 -0
- package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +0 -2
- package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +0 -2
- package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +0 -1
- package/src/duckdb/src/include/duckdb/parser/tableref.hpp +3 -1
- package/src/duckdb/src/include/duckdb/parser/transformer.hpp +17 -9
- package/src/duckdb/src/include/duckdb/planner/binder.hpp +24 -14
- package/src/duckdb/src/include/duckdb/planner/collation_binding.hpp +44 -0
- 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_default_expression.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/expression/bound_expanded_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_data.hpp +2 -0
- 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 +2 -2
- 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 +2 -2
- package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder/group_binder.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +6 -5
- package/src/duckdb/src/include/duckdb/planner/expression_binder/where_binder.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +19 -11
- package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +4 -0
- package/src/duckdb/src/include/duckdb/planner/filter/struct_filter.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +7 -2
- package/src/duckdb/src/include/duckdb/planner/logical_operator_visitor.hpp +2 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +6 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +10 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +4 -2
- package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +15 -5
- package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +1 -0
- package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +2 -1
- package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +24 -2
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_delimgetref.hpp +26 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_joinref.hpp +6 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_subqueryref.hpp +1 -1
- package/src/duckdb/src/include/duckdb/planner/tableref/bound_table_function.hpp +2 -0
- package/src/duckdb/src/include/duckdb/planner/tableref/list.hpp +2 -0
- package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/block.hpp +4 -2
- package/src/duckdb/src/include/duckdb/storage/block_manager.hpp +48 -3
- package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +21 -7
- package/src/duckdb/src/include/duckdb/storage/buffer/buffer_pool.hpp +65 -51
- package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +14 -5
- package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +0 -4
- package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +1 -0
- package/src/duckdb/src/include/duckdb/storage/checkpoint/write_overflow_strings_to_disk.hpp +3 -4
- package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +2 -0
- package/src/duckdb/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp +4 -4
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_analyze.hpp +6 -4
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +19 -17
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_constants.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_scan.hpp +3 -4
- package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_utils.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +13 -11
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +19 -19
- package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp +3 -4
- package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_scan.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +10 -2
- package/src/duckdb/src/include/duckdb/storage/data_table.hpp +3 -2
- package/src/duckdb/src/include/duckdb/storage/in_memory_block_manager.hpp +15 -0
- package/src/duckdb/src/include/duckdb/storage/index_storage_info.hpp +14 -10
- package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +6 -8
- package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +7 -4
- package/src/duckdb/src/include/duckdb/storage/segment/uncompressed.hpp +4 -7
- package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +29 -4
- package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +22 -7
- package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +15 -2
- package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +8 -2
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +5 -16
- package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +51 -13
- package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +6 -3
- package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +29 -19
- package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +23 -7
- package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +27 -18
- package/src/duckdb/src/include/duckdb/storage/table/append_state.hpp +6 -3
- package/src/duckdb/src/include/duckdb/storage/table/array_column_data.hpp +5 -2
- package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +5 -1
- package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +77 -6
- package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +23 -11
- package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +3 -0
- package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +5 -2
- package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +18 -4
- package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +7 -1
- package/src/duckdb/src/include/duckdb/storage/table/row_version_manager.hpp +2 -1
- package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +89 -14
- package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +4 -2
- package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +4 -2
- package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +2 -2
- package/src/duckdb/src/include/duckdb/storage/table/validity_column_data.hpp +1 -1
- package/src/duckdb/src/include/duckdb/storage/temporary_memory_manager.hpp +33 -15
- package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +9 -9
- package/src/duckdb/src/include/duckdb/transaction/cleanup_state.hpp +3 -1
- package/src/duckdb/src/include/duckdb/transaction/commit_state.hpp +4 -16
- package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +27 -4
- package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +11 -0
- package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +6 -2
- package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +5 -5
- package/src/duckdb/src/include/duckdb/transaction/transaction_context.hpp +6 -2
- package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +5 -3
- package/src/duckdb/src/include/duckdb/transaction/wal_write_state.hpp +48 -0
- package/src/duckdb/src/include/duckdb.h +1779 -739
- package/src/duckdb/src/include/duckdb_extension.h +921 -0
- package/src/duckdb/src/main/appender.cpp +53 -7
- package/src/duckdb/src/main/attached_database.cpp +87 -17
- package/src/duckdb/src/main/buffered_data/batched_buffered_data.cpp +226 -0
- package/src/duckdb/src/main/buffered_data/buffered_data.cpp +35 -0
- package/src/duckdb/src/main/buffered_data/simple_buffered_data.cpp +48 -23
- package/src/duckdb/src/main/capi/aggregate_function-c.cpp +327 -0
- package/src/duckdb/src/main/capi/appender-c.cpp +18 -0
- package/src/duckdb/src/main/capi/cast/utils-c.cpp +2 -2
- package/src/duckdb/src/main/capi/cast_function-c.cpp +210 -0
- package/src/duckdb/src/main/capi/config-c.cpp +3 -3
- package/src/duckdb/src/main/capi/data_chunk-c.cpp +18 -7
- package/src/duckdb/src/main/capi/duckdb_value-c.cpp +223 -24
- package/src/duckdb/src/main/capi/helper-c.cpp +51 -11
- package/src/duckdb/src/main/capi/logical_types-c.cpp +105 -46
- package/src/duckdb/src/main/capi/pending-c.cpp +7 -6
- package/src/duckdb/src/main/capi/prepared-c.cpp +18 -7
- package/src/duckdb/src/main/capi/profiling_info-c.cpp +84 -0
- package/src/duckdb/src/main/capi/result-c.cpp +139 -37
- package/src/duckdb/src/main/capi/scalar_function-c.cpp +269 -0
- package/src/duckdb/src/main/capi/table_description-c.cpp +82 -0
- package/src/duckdb/src/main/capi/table_function-c.cpp +161 -95
- package/src/duckdb/src/main/capi/value-c.cpp +2 -2
- package/src/duckdb/src/main/chunk_scan_state/batched_data_collection.cpp +57 -0
- package/src/duckdb/src/main/client_config.cpp +17 -0
- package/src/duckdb/src/main/client_context.cpp +67 -52
- package/src/duckdb/src/main/client_data.cpp +3 -3
- package/src/duckdb/src/main/config.cpp +120 -62
- package/src/duckdb/src/main/connection.cpp +14 -2
- package/src/duckdb/src/main/database.cpp +96 -35
- package/src/duckdb/src/main/database_manager.cpp +25 -23
- package/src/duckdb/src/main/database_path_and_type.cpp +2 -2
- package/src/duckdb/src/main/db_instance_cache.cpp +54 -19
- package/src/duckdb/src/main/extension/extension_helper.cpp +47 -42
- package/src/duckdb/src/main/extension/extension_install.cpp +155 -87
- package/src/duckdb/src/main/extension/extension_load.cpp +180 -26
- package/src/duckdb/src/main/extension/extension_util.cpp +8 -0
- package/src/duckdb/src/main/extension.cpp +72 -5
- package/src/duckdb/src/main/pending_query_result.cpp +20 -12
- package/src/duckdb/src/main/prepared_statement.cpp +6 -6
- package/src/duckdb/src/main/prepared_statement_data.cpp +28 -17
- package/src/duckdb/src/main/profiling_info.cpp +196 -0
- package/src/duckdb/src/main/query_profiler.cpp +413 -224
- package/src/duckdb/src/main/query_result.cpp +1 -1
- package/src/duckdb/src/main/relation/create_table_relation.cpp +4 -2
- package/src/duckdb/src/main/relation/create_view_relation.cpp +0 -6
- package/src/duckdb/src/main/relation/delim_get_relation.cpp +44 -0
- package/src/duckdb/src/main/relation/explain_relation.cpp +4 -3
- package/src/duckdb/src/main/relation/join_relation.cpp +5 -0
- package/src/duckdb/src/main/relation/limit_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/materialized_relation.cpp +3 -3
- package/src/duckdb/src/main/relation/query_relation.cpp +42 -15
- package/src/duckdb/src/main/relation/read_csv_relation.cpp +7 -14
- package/src/duckdb/src/main/relation/read_json_relation.cpp +20 -0
- package/src/duckdb/src/main/relation/setop_relation.cpp +1 -1
- package/src/duckdb/src/main/relation/table_function_relation.cpp +6 -0
- package/src/duckdb/src/main/relation/view_relation.cpp +10 -0
- package/src/duckdb/src/main/relation.cpp +12 -8
- package/src/duckdb/src/main/secret/default_secrets.cpp +108 -0
- package/src/duckdb/src/main/secret/secret.cpp +145 -2
- package/src/duckdb/src/main/secret/secret_manager.cpp +85 -35
- package/src/duckdb/src/main/secret/secret_storage.cpp +29 -17
- package/src/duckdb/src/main/settings/settings.cpp +503 -11
- package/src/duckdb/src/main/stream_query_result.cpp +75 -2
- package/src/duckdb/src/optimizer/build_probe_side_optimizer.cpp +248 -0
- package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +28 -6
- package/src/duckdb/src/optimizer/compressed_materialization/compress_comparison_join.cpp +152 -0
- package/src/duckdb/src/optimizer/compressed_materialization.cpp +11 -1
- package/src/duckdb/src/optimizer/cse_optimizer.cpp +3 -0
- package/src/duckdb/src/optimizer/cte_filter_pusher.cpp +117 -0
- package/src/duckdb/src/optimizer/filter_combiner.cpp +30 -9
- package/src/duckdb/src/optimizer/filter_pullup.cpp +54 -2
- package/src/duckdb/src/optimizer/filter_pushdown.cpp +71 -3
- package/src/duckdb/src/optimizer/join_filter_pushdown_optimizer.cpp +154 -0
- package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +245 -114
- package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +42 -20
- package/src/duckdb/src/optimizer/join_order/join_relation_set.cpp +6 -2
- package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +32 -10
- package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +97 -131
- package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +265 -51
- package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +21 -17
- package/src/duckdb/src/optimizer/limit_pushdown.cpp +42 -0
- package/src/duckdb/src/optimizer/optimizer.cpp +51 -8
- package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +17 -17
- package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +22 -4
- package/src/duckdb/src/optimizer/pushdown/pushdown_get.cpp +1 -18
- package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +6 -0
- package/src/duckdb/src/optimizer/pushdown/pushdown_mark_join.cpp +4 -2
- package/src/duckdb/src/optimizer/pushdown/pushdown_window.cpp +91 -0
- package/src/duckdb/src/optimizer/remove_unused_columns.cpp +21 -25
- package/src/duckdb/src/optimizer/rule/comparison_simplification.cpp +1 -0
- package/src/duckdb/src/optimizer/rule/empty_needle_removal.cpp +3 -0
- package/src/duckdb/src/optimizer/rule/equal_or_null_simplification.cpp +2 -2
- package/src/duckdb/src/optimizer/rule/in_clause_simplification_rule.cpp +8 -2
- package/src/duckdb/src/optimizer/rule/join_dependent_filter.cpp +135 -0
- package/src/duckdb/src/optimizer/rule/like_optimizations.cpp +1 -1
- package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +1 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +6 -1
- package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +7 -6
- package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +1 -1
- package/src/duckdb/src/optimizer/topn_optimizer.cpp +46 -7
- package/src/duckdb/src/parallel/executor.cpp +129 -51
- package/src/duckdb/src/parallel/executor_task.cpp +16 -3
- package/src/duckdb/src/parallel/meta_pipeline.cpp +98 -29
- package/src/duckdb/src/parallel/pipeline.cpp +17 -3
- package/src/duckdb/src/parallel/pipeline_executor.cpp +14 -2
- package/src/duckdb/src/parallel/pipeline_prepare_finish_event.cpp +34 -0
- package/src/duckdb/src/parallel/task_executor.cpp +84 -0
- package/src/duckdb/src/parallel/task_scheduler.cpp +94 -16
- package/src/duckdb/src/parallel/thread_context.cpp +1 -1
- package/src/duckdb/src/parser/expression/function_expression.cpp +14 -0
- package/src/duckdb/src/parser/expression/star_expression.cpp +35 -2
- package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +5 -1
- package/src/duckdb/src/parser/parsed_data/attach_info.cpp +17 -0
- package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +37 -28
- package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +44 -2
- package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +21 -1
- package/src/duckdb/src/parser/parsed_expression_iterator.cpp +29 -25
- package/src/duckdb/src/parser/parser.cpp +41 -1
- package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +1 -0
- package/src/duckdb/src/parser/statement/explain_statement.cpp +28 -13
- package/src/duckdb/src/parser/statement/relation_statement.cpp +5 -0
- package/src/duckdb/src/parser/statement/set_statement.cpp +4 -2
- package/src/duckdb/src/parser/statement/transaction_statement.cpp +3 -3
- package/src/duckdb/src/parser/tableref/column_data_ref.cpp +1 -27
- package/src/duckdb/src/parser/tableref/delimgetref.cpp +30 -0
- package/src/duckdb/src/parser/tableref/joinref.cpp +4 -0
- package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +35 -29
- package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +32 -32
- package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +2 -1
- package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +17 -0
- package/src/duckdb/src/parser/transform/expression/transform_function.cpp +5 -0
- package/src/duckdb/src/parser/transform/expression/transform_multi_assign_reference.cpp +36 -34
- package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +30 -14
- package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +1 -1
- package/src/duckdb/src/parser/transform/helpers/transform_alias.cpp +2 -1
- package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +27 -19
- package/src/duckdb/src/parser/transform/helpers/transform_orderby.cpp +31 -28
- package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +25 -27
- package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +53 -42
- package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +6 -6
- package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +38 -3
- package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +1 -2
- package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +1 -1
- package/src/duckdb/src/parser/transform/statement/transform_select.cpp +26 -21
- package/src/duckdb/src/parser/transform/statement/transform_set.cpp +8 -8
- package/src/duckdb/src/parser/transform/statement/transform_show.cpp +5 -2
- package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +6 -4
- package/src/duckdb/src/parser/transform/statement/transform_transaction.cpp +27 -6
- package/src/duckdb/src/parser/transform/statement/transform_update.cpp +8 -9
- package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +11 -12
- package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +3 -3
- package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +16 -10
- package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +1 -1
- package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +1 -1
- package/src/duckdb/src/parser/transformer.cpp +11 -7
- package/src/duckdb/src/planner/bind_context.cpp +3 -3
- package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +22 -7
- package/src/duckdb/src/planner/binder/expression/bind_between_expression.cpp +3 -3
- package/src/duckdb/src/planner/binder/expression/bind_collate_expression.cpp +3 -2
- package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +11 -4
- package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +9 -54
- package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +3 -5
- package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +24 -27
- package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +7 -7
- package/src/duckdb/src/planner/binder/expression/bind_parameter_expression.cpp +9 -2
- package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +26 -7
- package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +5 -0
- package/src/duckdb/src/planner/binder/expression/bind_unpacked_star_expression.cpp +91 -0
- package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +2 -2
- package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +11 -8
- package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +1 -1
- package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +6 -10
- package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +14 -10
- package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +3 -3
- package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +46 -7
- package/src/duckdb/src/planner/binder/statement/bind_call.cpp +13 -20
- package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +105 -13
- package/src/duckdb/src/planner/binder/statement/bind_copy_database.cpp +7 -3
- package/src/duckdb/src/planner/binder/statement/bind_create.cpp +75 -55
- package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +1 -1
- package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +5 -4
- package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +24 -8
- package/src/duckdb/src/planner/binder/statement/bind_explain.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_export.cpp +5 -105
- package/src/duckdb/src/planner/binder/statement/bind_extension.cpp +2 -2
- package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +109 -41
- package/src/duckdb/src/planner/binder/statement/bind_set.cpp +23 -7
- package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +4 -1
- package/src/duckdb/src/planner/binder/statement/bind_summarize.cpp +17 -3
- package/src/duckdb/src/planner/binder/statement/bind_update.cpp +5 -4
- package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +8 -6
- package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +55 -42
- package/src/duckdb/src/planner/binder/tableref/bind_column_data_ref.cpp +3 -2
- package/src/duckdb/src/planner/binder/tableref/bind_delimgetref.cpp +16 -0
- package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +31 -1
- package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +6 -0
- package/src/duckdb/src/planner/binder/tableref/bind_showref.cpp +2 -0
- package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +106 -46
- package/src/duckdb/src/planner/binder/tableref/plan_delimgetref.cpp +11 -0
- package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +15 -2
- package/src/duckdb/src/planner/binder/tableref/plan_table_function.cpp +4 -0
- package/src/duckdb/src/planner/binder.cpp +172 -15
- package/src/duckdb/src/planner/collation_binding.cpp +99 -0
- package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +10 -4
- package/src/duckdb/src/planner/expression/bound_between_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_case_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +14 -12
- package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_expanded_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -2
- package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +1 -1
- package/src/duckdb/src/planner/expression/bound_window_expression.cpp +6 -6
- package/src/duckdb/src/planner/expression_binder/aggregate_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/alter_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +7 -0
- package/src/duckdb/src/planner/expression_binder/constant_binder.cpp +3 -3
- package/src/duckdb/src/planner/expression_binder/group_binder.cpp +26 -22
- package/src/duckdb/src/planner/expression_binder/having_binder.cpp +7 -1
- package/src/duckdb/src/planner/expression_binder/index_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/insert_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/order_binder.cpp +61 -43
- package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +2 -2
- package/src/duckdb/src/planner/expression_binder/relation_binder.cpp +4 -4
- package/src/duckdb/src/planner/expression_binder/returning_binder.cpp +3 -2
- package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +10 -3
- package/src/duckdb/src/planner/expression_binder/update_binder.cpp +1 -1
- package/src/duckdb/src/planner/expression_binder/where_binder.cpp +9 -2
- package/src/duckdb/src/planner/expression_binder.cpp +121 -21
- package/src/duckdb/src/planner/expression_iterator.cpp +26 -1
- package/src/duckdb/src/planner/filter/conjunction_filter.cpp +33 -0
- package/src/duckdb/src/planner/filter/constant_filter.cpp +15 -0
- package/src/duckdb/src/planner/filter/null_filter.cpp +22 -0
- package/src/duckdb/src/planner/filter/struct_filter.cpp +16 -0
- package/src/duckdb/src/planner/logical_operator.cpp +24 -7
- package/src/duckdb/src/planner/operator/logical_aggregate.cpp +13 -7
- package/src/duckdb/src/planner/operator/logical_any_join.cpp +5 -2
- package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +13 -5
- package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +64 -8
- package/src/duckdb/src/planner/operator/logical_cteref.cpp +7 -0
- package/src/duckdb/src/planner/operator/logical_distinct.cpp +6 -5
- package/src/duckdb/src/planner/operator/logical_get.cpp +60 -18
- package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +7 -0
- package/src/duckdb/src/planner/operator/logical_order.cpp +7 -4
- package/src/duckdb/src/planner/operator/logical_top_n.cpp +2 -2
- package/src/duckdb/src/planner/operator/logical_vacuum.cpp +1 -1
- package/src/duckdb/src/planner/planner.cpp +2 -3
- package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +27 -10
- package/src/duckdb/src/planner/table_filter.cpp +51 -0
- package/src/duckdb/src/storage/arena_allocator.cpp +28 -10
- package/src/duckdb/src/storage/block.cpp +3 -2
- package/src/duckdb/src/storage/buffer/block_handle.cpp +29 -14
- package/src/duckdb/src/storage/buffer/block_manager.cpp +6 -5
- package/src/duckdb/src/storage/buffer/buffer_handle.cpp +1 -1
- package/src/duckdb/src/storage/buffer/buffer_pool.cpp +264 -125
- package/src/duckdb/src/storage/buffer_manager.cpp +5 -1
- package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +0 -6
- package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +26 -3
- package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +21 -9
- package/src/duckdb/src/storage/checkpoint_manager.cpp +49 -24
- package/src/duckdb/src/storage/compression/alp/alp.cpp +6 -11
- package/src/duckdb/src/storage/compression/alprd.cpp +5 -9
- package/src/duckdb/src/storage/compression/bitpacking.cpp +35 -31
- package/src/duckdb/src/storage/compression/chimp/chimp.cpp +6 -8
- package/src/duckdb/src/storage/compression/dictionary_compression.cpp +71 -58
- package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +15 -13
- package/src/duckdb/src/storage/compression/fsst.cpp +66 -53
- package/src/duckdb/src/storage/compression/numeric_constant.cpp +4 -5
- package/src/duckdb/src/storage/compression/patas.cpp +6 -17
- package/src/duckdb/src/storage/compression/rle.cpp +20 -18
- package/src/duckdb/src/storage/compression/string_uncompressed.cpp +71 -52
- package/src/duckdb/src/storage/compression/uncompressed.cpp +2 -2
- package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +8 -7
- package/src/duckdb/src/storage/data_pointer.cpp +22 -0
- package/src/duckdb/src/storage/data_table.cpp +41 -12
- package/src/duckdb/src/storage/local_storage.cpp +22 -8
- package/src/duckdb/src/storage/metadata/metadata_manager.cpp +33 -17
- package/src/duckdb/src/storage/metadata/metadata_reader.cpp +4 -4
- package/src/duckdb/src/storage/metadata/metadata_writer.cpp +3 -3
- package/src/duckdb/src/storage/partial_block_manager.cpp +19 -8
- package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +11 -8
- package/src/duckdb/src/storage/serialization/serialize_expression.cpp +1 -1
- package/src/duckdb/src/storage/serialization/serialize_extension_install_info.cpp +2 -0
- package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +3 -3
- package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +19 -5
- package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +21 -1
- package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +4 -2
- package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +2 -2
- package/src/duckdb/src/storage/serialization/serialize_storage.cpp +2 -0
- package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +8 -4
- package/src/duckdb/src/storage/serialization/serialize_types.cpp +4 -4
- package/src/duckdb/src/storage/single_file_block_manager.cpp +170 -34
- package/src/duckdb/src/storage/standard_buffer_manager.cpp +221 -64
- package/src/duckdb/src/storage/statistics/column_statistics.cpp +4 -3
- package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +36 -26
- package/src/duckdb/src/storage/statistics/numeric_stats.cpp +4 -15
- package/src/duckdb/src/storage/statistics/string_stats.cpp +14 -8
- package/src/duckdb/src/storage/statistics/struct_stats.cpp +2 -1
- package/src/duckdb/src/storage/storage_info.cpp +34 -9
- package/src/duckdb/src/storage/storage_manager.cpp +147 -74
- package/src/duckdb/src/storage/table/array_column_data.cpp +37 -17
- package/src/duckdb/src/storage/table/chunk_info.cpp +38 -0
- package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +10 -6
- package/src/duckdb/src/storage/table/column_data.cpp +252 -31
- package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +2 -12
- package/src/duckdb/src/storage/table/column_segment.cpp +63 -34
- package/src/duckdb/src/storage/table/list_column_data.cpp +34 -15
- package/src/duckdb/src/storage/table/row_group.cpp +228 -120
- package/src/duckdb/src/storage/table/row_group_collection.cpp +122 -120
- package/src/duckdb/src/storage/table/row_version_manager.cpp +27 -1
- package/src/duckdb/src/storage/table/scan_state.cpp +101 -18
- package/src/duckdb/src/storage/table/standard_column_data.cpp +20 -34
- package/src/duckdb/src/storage/table/struct_column_data.cpp +39 -42
- package/src/duckdb/src/storage/table/table_statistics.cpp +2 -1
- package/src/duckdb/src/storage/table/update_segment.cpp +9 -8
- package/src/duckdb/src/storage/table/validity_column_data.cpp +2 -2
- package/src/duckdb/src/storage/table_index_list.cpp +8 -7
- package/src/duckdb/src/storage/temporary_file_manager.cpp +11 -9
- package/src/duckdb/src/storage/temporary_memory_manager.cpp +227 -39
- package/src/duckdb/src/storage/wal_replay.cpp +68 -28
- package/src/duckdb/src/storage/write_ahead_log.cpp +56 -47
- package/src/duckdb/src/transaction/cleanup_state.cpp +9 -1
- package/src/duckdb/src/transaction/commit_state.cpp +7 -170
- package/src/duckdb/src/transaction/duck_transaction.cpp +87 -19
- package/src/duckdb/src/transaction/duck_transaction_manager.cpp +65 -10
- package/src/duckdb/src/transaction/meta_transaction.cpp +18 -3
- package/src/duckdb/src/transaction/transaction_context.cpp +21 -17
- package/src/duckdb/src/transaction/undo_buffer.cpp +20 -14
- package/src/duckdb/src/transaction/wal_write_state.cpp +292 -0
- package/src/duckdb/src/verification/prepared_statement_verifier.cpp +0 -1
- package/src/duckdb/third_party/brotli/common/brotli_constants.h +204 -0
- package/src/duckdb/third_party/brotli/common/brotli_platform.h +543 -0
- package/src/duckdb/third_party/brotli/common/constants.cpp +17 -0
- package/src/duckdb/third_party/brotli/common/context.cpp +156 -0
- package/src/duckdb/third_party/brotli/common/context.h +110 -0
- package/src/duckdb/third_party/brotli/common/dictionary.cpp +5912 -0
- package/src/duckdb/third_party/brotli/common/dictionary.h +60 -0
- package/src/duckdb/third_party/brotli/common/platform.cpp +24 -0
- package/src/duckdb/third_party/brotli/common/shared_dictionary.cpp +517 -0
- package/src/duckdb/third_party/brotli/common/shared_dictionary_internal.h +71 -0
- package/src/duckdb/third_party/brotli/common/transform.cpp +287 -0
- package/src/duckdb/third_party/brotli/common/transform.h +77 -0
- package/src/duckdb/third_party/brotli/common/version.h +51 -0
- package/src/duckdb/third_party/brotli/dec/bit_reader.cpp +74 -0
- package/src/duckdb/third_party/brotli/dec/bit_reader.h +419 -0
- package/src/duckdb/third_party/brotli/dec/decode.cpp +2758 -0
- package/src/duckdb/third_party/brotli/dec/huffman.cpp +338 -0
- package/src/duckdb/third_party/brotli/dec/huffman.h +118 -0
- package/src/duckdb/third_party/brotli/dec/prefix.h +733 -0
- package/src/duckdb/third_party/brotli/dec/state.cpp +178 -0
- package/src/duckdb/third_party/brotli/dec/state.h +386 -0
- package/src/duckdb/third_party/brotli/enc/backward_references.cpp +3775 -0
- package/src/duckdb/third_party/brotli/enc/backward_references.h +36 -0
- package/src/duckdb/third_party/brotli/enc/backward_references_hq.cpp +935 -0
- package/src/duckdb/third_party/brotli/enc/backward_references_hq.h +92 -0
- package/src/duckdb/third_party/brotli/enc/bit_cost.cpp +410 -0
- package/src/duckdb/third_party/brotli/enc/bit_cost.h +60 -0
- package/src/duckdb/third_party/brotli/enc/block_splitter.cpp +1653 -0
- package/src/duckdb/third_party/brotli/enc/block_splitter.h +48 -0
- package/src/duckdb/third_party/brotli/enc/brotli_bit_stream.cpp +1431 -0
- package/src/duckdb/third_party/brotli/enc/brotli_bit_stream.h +85 -0
- package/src/duckdb/third_party/brotli/enc/brotli_hash.h +4352 -0
- package/src/duckdb/third_party/brotli/enc/brotli_params.h +47 -0
- package/src/duckdb/third_party/brotli/enc/cluster.cpp +1025 -0
- package/src/duckdb/third_party/brotli/enc/cluster.h +1017 -0
- package/src/duckdb/third_party/brotli/enc/command.cpp +24 -0
- package/src/duckdb/third_party/brotli/enc/command.h +187 -0
- package/src/duckdb/third_party/brotli/enc/compound_dictionary.cpp +209 -0
- package/src/duckdb/third_party/brotli/enc/compound_dictionary.h +75 -0
- package/src/duckdb/third_party/brotli/enc/compress_fragment.cpp +796 -0
- package/src/duckdb/third_party/brotli/enc/compress_fragment.h +82 -0
- package/src/duckdb/third_party/brotli/enc/compress_fragment_two_pass.cpp +653 -0
- package/src/duckdb/third_party/brotli/enc/compress_fragment_two_pass.h +68 -0
- package/src/duckdb/third_party/brotli/enc/dictionary_hash.cpp +1844 -0
- package/src/duckdb/third_party/brotli/enc/dictionary_hash.h +21 -0
- package/src/duckdb/third_party/brotli/enc/encode.cpp +1990 -0
- package/src/duckdb/third_party/brotli/enc/encoder_dict.cpp +636 -0
- package/src/duckdb/third_party/brotli/enc/encoder_dict.h +153 -0
- package/src/duckdb/third_party/brotli/enc/entropy_encode.cpp +500 -0
- package/src/duckdb/third_party/brotli/enc/entropy_encode.h +119 -0
- package/src/duckdb/third_party/brotli/enc/entropy_encode_static.h +538 -0
- package/src/duckdb/third_party/brotli/enc/fast_log.cpp +101 -0
- package/src/duckdb/third_party/brotli/enc/fast_log.h +63 -0
- package/src/duckdb/third_party/brotli/enc/find_match_length.h +68 -0
- package/src/duckdb/third_party/brotli/enc/histogram.cpp +96 -0
- package/src/duckdb/third_party/brotli/enc/histogram.h +210 -0
- package/src/duckdb/third_party/brotli/enc/literal_cost.cpp +176 -0
- package/src/duckdb/third_party/brotli/enc/literal_cost.h +28 -0
- package/src/duckdb/third_party/brotli/enc/memory.cpp +190 -0
- package/src/duckdb/third_party/brotli/enc/memory.h +127 -0
- package/src/duckdb/third_party/brotli/enc/metablock.cpp +1225 -0
- package/src/duckdb/third_party/brotli/enc/metablock.h +102 -0
- package/src/duckdb/third_party/brotli/enc/prefix.h +50 -0
- package/src/duckdb/third_party/brotli/enc/quality.h +202 -0
- package/src/duckdb/third_party/brotli/enc/ringbuffer.h +164 -0
- package/src/duckdb/third_party/brotli/enc/state.h +106 -0
- package/src/duckdb/third_party/brotli/enc/static_dict.cpp +538 -0
- package/src/duckdb/third_party/brotli/enc/static_dict.h +37 -0
- package/src/duckdb/third_party/brotli/enc/static_dict_lut.h +5862 -0
- package/src/duckdb/third_party/brotli/enc/utf8_util.cpp +81 -0
- package/src/duckdb/third_party/brotli/enc/utf8_util.h +29 -0
- package/src/duckdb/third_party/brotli/enc/write_bits.h +84 -0
- package/src/duckdb/third_party/brotli/include/brotli/decode.h +405 -0
- package/src/duckdb/third_party/brotli/include/brotli/encode.h +489 -0
- package/src/duckdb/third_party/brotli/include/brotli/port.h +238 -0
- package/src/duckdb/third_party/brotli/include/brotli/shared_dictionary.h +96 -0
- package/src/duckdb/third_party/brotli/include/brotli/types.h +83 -0
- package/src/duckdb/third_party/fast_float/fast_float/fast_float.h +20 -4
- package/src/duckdb/third_party/fmt/include/fmt/format.h +54 -10
- package/src/duckdb/third_party/fsst/fsst.h +2 -2
- package/src/duckdb/third_party/fsst/libfsst.hpp +2 -2
- package/src/duckdb/third_party/httplib/httplib.hpp +6763 -5580
- package/src/duckdb/third_party/hyperloglog/hyperloglog.cpp +13 -30
- package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +8 -2
- package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +1 -0
- package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +22 -9
- package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +1041 -554
- package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +1 -0
- package/src/duckdb/third_party/libpg_query/postgres_parser.cpp +2 -1
- package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +21605 -21752
- package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +538 -299
- package/src/duckdb/third_party/mbedtls/include/mbedtls/mbedtls_config.h +1 -0
- package/src/duckdb/third_party/mbedtls/include/mbedtls_wrapper.hpp +36 -12
- package/src/duckdb/third_party/mbedtls/library/md.cpp +6 -6
- package/src/duckdb/third_party/mbedtls/library/sha1.cpp +2 -0
- package/src/duckdb/third_party/mbedtls/library/sha256.cpp +3 -0
- package/src/duckdb/third_party/mbedtls/mbedtls_wrapper.cpp +99 -47
- package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
- package/src/duckdb/third_party/re2/re2/prog.cc +2 -2
- package/src/duckdb/third_party/snappy/snappy-internal.h +398 -0
- package/src/duckdb/third_party/snappy/snappy-sinksource.cc +111 -9
- package/src/duckdb/third_party/snappy/snappy-sinksource.h +158 -0
- package/src/duckdb/third_party/snappy/snappy-stubs-internal.h +523 -3
- package/src/duckdb/third_party/snappy/snappy-stubs-public.h +34 -1
- package/src/duckdb/third_party/snappy/snappy.cc +2626 -0
- package/src/duckdb/third_party/snappy/snappy.h +223 -0
- package/src/duckdb/third_party/snappy/snappy_version.hpp +11 -0
- package/src/duckdb/third_party/utf8proc/include/utf8proc.hpp +69 -101
- package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +53 -0
- package/src/duckdb/third_party/utf8proc/utf8proc.cpp +627 -678
- package/src/duckdb/third_party/utf8proc/utf8proc_data.cpp +15008 -12868
- package/src/duckdb/third_party/utf8proc/utf8proc_wrapper.cpp +185 -29
- package/src/duckdb/ub_extension_json_json_functions.cpp +6 -0
- package/src/duckdb/ub_src_catalog_default.cpp +4 -0
- package/src/duckdb/ub_src_common.cpp +7 -1
- package/src/duckdb/ub_src_common_arrow.cpp +10 -0
- package/src/duckdb/ub_src_common_enums.cpp +2 -0
- package/src/duckdb/ub_src_common_tree_renderer.cpp +10 -0
- package/src/duckdb/ub_src_common_types.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_aggregate_holistic.cpp +4 -0
- package/src/duckdb/ub_src_core_functions_aggregate_nested.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_generic.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_list.cpp +2 -4
- package/src/duckdb/ub_src_core_functions_scalar_map.cpp +2 -0
- package/src/duckdb/ub_src_core_functions_scalar_string.cpp +4 -0
- package/src/duckdb/ub_src_execution_index_art.cpp +5 -3
- package/src/duckdb/ub_src_execution_operator_csv_scanner_scanner.cpp +2 -0
- package/src/duckdb/ub_src_execution_operator_helper.cpp +4 -0
- package/src/duckdb/ub_src_function.cpp +4 -0
- package/src/duckdb/ub_src_function_cast.cpp +2 -0
- package/src/duckdb/ub_src_function_scalar_generic.cpp +4 -0
- package/src/duckdb/ub_src_function_scalar_list.cpp +0 -2
- package/src/duckdb/ub_src_function_scalar_string.cpp +2 -0
- package/src/duckdb/ub_src_function_table.cpp +2 -0
- package/src/duckdb/ub_src_function_table_arrow.cpp +2 -0
- package/src/duckdb/ub_src_function_table_system.cpp +2 -0
- package/src/duckdb/ub_src_main.cpp +4 -0
- package/src/duckdb/ub_src_main_buffered_data.cpp +4 -0
- package/src/duckdb/ub_src_main_capi.cpp +10 -0
- package/src/duckdb/ub_src_main_chunk_scan_state.cpp +2 -0
- package/src/duckdb/ub_src_main_relation.cpp +2 -0
- package/src/duckdb/ub_src_main_secret.cpp +2 -0
- package/src/duckdb/ub_src_optimizer.cpp +8 -0
- package/src/duckdb/ub_src_optimizer_compressed_materialization.cpp +2 -0
- package/src/duckdb/ub_src_optimizer_pushdown.cpp +2 -0
- package/src/duckdb/ub_src_optimizer_rule.cpp +2 -0
- package/src/duckdb/ub_src_parallel.cpp +4 -0
- package/src/duckdb/ub_src_parser_tableref.cpp +2 -0
- package/src/duckdb/ub_src_planner.cpp +2 -0
- package/src/duckdb/ub_src_planner_binder_expression.cpp +2 -0
- package/src/duckdb/ub_src_planner_binder_tableref.cpp +4 -0
- package/src/duckdb/ub_src_storage_statistics.cpp +0 -2
- package/src/duckdb/ub_src_transaction.cpp +2 -0
- package/test/columns.test.ts +1 -1
- package/test/prepare.test.ts +1 -1
- package/test/test_all_types.test.ts +1 -1
@@ -1,5 +1,4 @@
|
|
1
|
-
#line
|
2
|
-
#line 2 "third_party/libpg_query/scan.l"
|
1
|
+
#line 1 "third_party/libpg_query/src_backend_parser_scan.cpp"
|
3
2
|
/*-------------------------------------------------------------------------
|
4
3
|
*
|
5
4
|
* scan.l
|
@@ -41,10 +40,7 @@
|
|
41
40
|
|
42
41
|
#include <stdexcept>
|
43
42
|
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
#line 48 "third_party/libpg_query/src_backend_parser_scan.cpp"
|
43
|
+
#line 43 "third_party/libpg_query/src_backend_parser_scan.cpp"
|
48
44
|
|
49
45
|
#define YY_INT_ALIGNED short int
|
50
46
|
|
@@ -52,12 +48,246 @@
|
|
52
48
|
|
53
49
|
#define FLEX_SCANNER
|
54
50
|
#define YY_FLEX_MAJOR_VERSION 2
|
55
|
-
#define YY_FLEX_MINOR_VERSION
|
56
|
-
#define YY_FLEX_SUBMINOR_VERSION
|
51
|
+
#define YY_FLEX_MINOR_VERSION 6
|
52
|
+
#define YY_FLEX_SUBMINOR_VERSION 4
|
57
53
|
#if YY_FLEX_SUBMINOR_VERSION > 0
|
58
54
|
#define FLEX_BETA
|
59
55
|
#endif
|
60
56
|
|
57
|
+
#ifdef yy_create_buffer
|
58
|
+
#define core_yy_create_buffer_ALREADY_DEFINED
|
59
|
+
#else
|
60
|
+
#define yy_create_buffer core_yy_create_buffer
|
61
|
+
#endif
|
62
|
+
|
63
|
+
#ifdef yy_delete_buffer
|
64
|
+
#define core_yy_delete_buffer_ALREADY_DEFINED
|
65
|
+
#else
|
66
|
+
#define yy_delete_buffer core_yy_delete_buffer
|
67
|
+
#endif
|
68
|
+
|
69
|
+
#ifdef yy_scan_buffer
|
70
|
+
#define core_yy_scan_buffer_ALREADY_DEFINED
|
71
|
+
#else
|
72
|
+
#define yy_scan_buffer core_yy_scan_buffer
|
73
|
+
#endif
|
74
|
+
|
75
|
+
#ifdef yy_scan_string
|
76
|
+
#define core_yy_scan_string_ALREADY_DEFINED
|
77
|
+
#else
|
78
|
+
#define yy_scan_string core_yy_scan_string
|
79
|
+
#endif
|
80
|
+
|
81
|
+
#ifdef yy_scan_bytes
|
82
|
+
#define core_yy_scan_bytes_ALREADY_DEFINED
|
83
|
+
#else
|
84
|
+
#define yy_scan_bytes core_yy_scan_bytes
|
85
|
+
#endif
|
86
|
+
|
87
|
+
#ifdef yy_init_buffer
|
88
|
+
#define core_yy_init_buffer_ALREADY_DEFINED
|
89
|
+
#else
|
90
|
+
#define yy_init_buffer core_yy_init_buffer
|
91
|
+
#endif
|
92
|
+
|
93
|
+
#ifdef yy_flush_buffer
|
94
|
+
#define core_yy_flush_buffer_ALREADY_DEFINED
|
95
|
+
#else
|
96
|
+
#define yy_flush_buffer core_yy_flush_buffer
|
97
|
+
#endif
|
98
|
+
|
99
|
+
#ifdef yy_load_buffer_state
|
100
|
+
#define core_yy_load_buffer_state_ALREADY_DEFINED
|
101
|
+
#else
|
102
|
+
#define yy_load_buffer_state core_yy_load_buffer_state
|
103
|
+
#endif
|
104
|
+
|
105
|
+
#ifdef yy_switch_to_buffer
|
106
|
+
#define core_yy_switch_to_buffer_ALREADY_DEFINED
|
107
|
+
#else
|
108
|
+
#define yy_switch_to_buffer core_yy_switch_to_buffer
|
109
|
+
#endif
|
110
|
+
|
111
|
+
#ifdef yypush_buffer_state
|
112
|
+
#define core_yypush_buffer_state_ALREADY_DEFINED
|
113
|
+
#else
|
114
|
+
#define yypush_buffer_state core_yypush_buffer_state
|
115
|
+
#endif
|
116
|
+
|
117
|
+
#ifdef yypop_buffer_state
|
118
|
+
#define core_yypop_buffer_state_ALREADY_DEFINED
|
119
|
+
#else
|
120
|
+
#define yypop_buffer_state core_yypop_buffer_state
|
121
|
+
#endif
|
122
|
+
|
123
|
+
#ifdef yyensure_buffer_stack
|
124
|
+
#define core_yyensure_buffer_stack_ALREADY_DEFINED
|
125
|
+
#else
|
126
|
+
#define yyensure_buffer_stack core_yyensure_buffer_stack
|
127
|
+
#endif
|
128
|
+
|
129
|
+
#ifdef yylex
|
130
|
+
#define core_yylex_ALREADY_DEFINED
|
131
|
+
#else
|
132
|
+
#define yylex core_yylex
|
133
|
+
#endif
|
134
|
+
|
135
|
+
#ifdef yyrestart
|
136
|
+
#define core_yyrestart_ALREADY_DEFINED
|
137
|
+
#else
|
138
|
+
#define yyrestart core_yyrestart
|
139
|
+
#endif
|
140
|
+
|
141
|
+
#ifdef yylex_init
|
142
|
+
#define core_yylex_init_ALREADY_DEFINED
|
143
|
+
#else
|
144
|
+
#define yylex_init core_yylex_init
|
145
|
+
#endif
|
146
|
+
|
147
|
+
#ifdef yylex_init_extra
|
148
|
+
#define core_yylex_init_extra_ALREADY_DEFINED
|
149
|
+
#else
|
150
|
+
#define yylex_init_extra core_yylex_init_extra
|
151
|
+
#endif
|
152
|
+
|
153
|
+
#ifdef yylex_destroy
|
154
|
+
#define core_yylex_destroy_ALREADY_DEFINED
|
155
|
+
#else
|
156
|
+
#define yylex_destroy core_yylex_destroy
|
157
|
+
#endif
|
158
|
+
|
159
|
+
#ifdef yyget_debug
|
160
|
+
#define core_yyget_debug_ALREADY_DEFINED
|
161
|
+
#else
|
162
|
+
#define yyget_debug core_yyget_debug
|
163
|
+
#endif
|
164
|
+
|
165
|
+
#ifdef yyset_debug
|
166
|
+
#define core_yyset_debug_ALREADY_DEFINED
|
167
|
+
#else
|
168
|
+
#define yyset_debug core_yyset_debug
|
169
|
+
#endif
|
170
|
+
|
171
|
+
#ifdef yyget_extra
|
172
|
+
#define core_yyget_extra_ALREADY_DEFINED
|
173
|
+
#else
|
174
|
+
#define yyget_extra core_yyget_extra
|
175
|
+
#endif
|
176
|
+
|
177
|
+
#ifdef yyset_extra
|
178
|
+
#define core_yyset_extra_ALREADY_DEFINED
|
179
|
+
#else
|
180
|
+
#define yyset_extra core_yyset_extra
|
181
|
+
#endif
|
182
|
+
|
183
|
+
#ifdef yyget_in
|
184
|
+
#define core_yyget_in_ALREADY_DEFINED
|
185
|
+
#else
|
186
|
+
#define yyget_in core_yyget_in
|
187
|
+
#endif
|
188
|
+
|
189
|
+
#ifdef yyset_in
|
190
|
+
#define core_yyset_in_ALREADY_DEFINED
|
191
|
+
#else
|
192
|
+
#define yyset_in core_yyset_in
|
193
|
+
#endif
|
194
|
+
|
195
|
+
#ifdef yyget_out
|
196
|
+
#define core_yyget_out_ALREADY_DEFINED
|
197
|
+
#else
|
198
|
+
#define yyget_out core_yyget_out
|
199
|
+
#endif
|
200
|
+
|
201
|
+
#ifdef yyset_out
|
202
|
+
#define core_yyset_out_ALREADY_DEFINED
|
203
|
+
#else
|
204
|
+
#define yyset_out core_yyset_out
|
205
|
+
#endif
|
206
|
+
|
207
|
+
#ifdef yyget_leng
|
208
|
+
#define core_yyget_leng_ALREADY_DEFINED
|
209
|
+
#else
|
210
|
+
#define yyget_leng core_yyget_leng
|
211
|
+
#endif
|
212
|
+
|
213
|
+
#ifdef yyget_text
|
214
|
+
#define core_yyget_text_ALREADY_DEFINED
|
215
|
+
#else
|
216
|
+
#define yyget_text core_yyget_text
|
217
|
+
#endif
|
218
|
+
|
219
|
+
#ifdef yyget_lineno
|
220
|
+
#define core_yyget_lineno_ALREADY_DEFINED
|
221
|
+
#else
|
222
|
+
#define yyget_lineno core_yyget_lineno
|
223
|
+
#endif
|
224
|
+
|
225
|
+
#ifdef yyset_lineno
|
226
|
+
#define core_yyset_lineno_ALREADY_DEFINED
|
227
|
+
#else
|
228
|
+
#define yyset_lineno core_yyset_lineno
|
229
|
+
#endif
|
230
|
+
|
231
|
+
#ifdef yyget_column
|
232
|
+
#define core_yyget_column_ALREADY_DEFINED
|
233
|
+
#else
|
234
|
+
#define yyget_column core_yyget_column
|
235
|
+
#endif
|
236
|
+
|
237
|
+
#ifdef yyset_column
|
238
|
+
#define core_yyset_column_ALREADY_DEFINED
|
239
|
+
#else
|
240
|
+
#define yyset_column core_yyset_column
|
241
|
+
#endif
|
242
|
+
|
243
|
+
#ifdef yywrap
|
244
|
+
#define core_yywrap_ALREADY_DEFINED
|
245
|
+
#else
|
246
|
+
#define yywrap core_yywrap
|
247
|
+
#endif
|
248
|
+
|
249
|
+
#ifdef yyget_lval
|
250
|
+
#define core_yyget_lval_ALREADY_DEFINED
|
251
|
+
#else
|
252
|
+
#define yyget_lval core_yyget_lval
|
253
|
+
#endif
|
254
|
+
|
255
|
+
#ifdef yyset_lval
|
256
|
+
#define core_yyset_lval_ALREADY_DEFINED
|
257
|
+
#else
|
258
|
+
#define yyset_lval core_yyset_lval
|
259
|
+
#endif
|
260
|
+
|
261
|
+
#ifdef yyget_lloc
|
262
|
+
#define core_yyget_lloc_ALREADY_DEFINED
|
263
|
+
#else
|
264
|
+
#define yyget_lloc core_yyget_lloc
|
265
|
+
#endif
|
266
|
+
|
267
|
+
#ifdef yyset_lloc
|
268
|
+
#define core_yyset_lloc_ALREADY_DEFINED
|
269
|
+
#else
|
270
|
+
#define yyset_lloc core_yyset_lloc
|
271
|
+
#endif
|
272
|
+
|
273
|
+
#ifdef yyalloc
|
274
|
+
#define core_yyalloc_ALREADY_DEFINED
|
275
|
+
#else
|
276
|
+
#define yyalloc core_yyalloc
|
277
|
+
#endif
|
278
|
+
|
279
|
+
#ifdef yyrealloc
|
280
|
+
#define core_yyrealloc_ALREADY_DEFINED
|
281
|
+
#else
|
282
|
+
#define yyrealloc core_yyrealloc
|
283
|
+
#endif
|
284
|
+
|
285
|
+
#ifdef yyfree
|
286
|
+
#define core_yyfree_ALREADY_DEFINED
|
287
|
+
#else
|
288
|
+
#define yyfree core_yyfree
|
289
|
+
#endif
|
290
|
+
|
61
291
|
/* First, we deal with platform-specific or compiler-specific issues. */
|
62
292
|
|
63
293
|
/* begin standard C headers. */
|
@@ -100,7 +330,6 @@ typedef int flex_int32_t;
|
|
100
330
|
typedef unsigned char flex_uint8_t;
|
101
331
|
typedef unsigned short int flex_uint16_t;
|
102
332
|
typedef unsigned int flex_uint32_t;
|
103
|
-
#endif /* ! C99 */
|
104
333
|
|
105
334
|
/* Limits of integral types. */
|
106
335
|
#ifndef INT8_MIN
|
@@ -131,38 +360,32 @@ typedef unsigned int flex_uint32_t;
|
|
131
360
|
#define UINT32_MAX (4294967295U)
|
132
361
|
#endif
|
133
362
|
|
134
|
-
#
|
135
|
-
|
136
|
-
#
|
137
|
-
|
138
|
-
/* The "const" storage-class-modifier is valid. */
|
139
|
-
#define YY_USE_CONST
|
140
|
-
|
141
|
-
#else /* ! __cplusplus */
|
363
|
+
#ifndef SIZE_MAX
|
364
|
+
#define SIZE_MAX (~(size_t)0)
|
365
|
+
#endif
|
142
366
|
|
143
|
-
/* C99
|
144
|
-
#if defined (__STDC__)
|
367
|
+
#endif /* ! C99 */
|
145
368
|
|
146
|
-
#
|
369
|
+
#endif /* ! FLEXINT_H */
|
147
370
|
|
148
|
-
|
149
|
-
#endif /* ! __cplusplus */
|
371
|
+
/* begin standard C++ headers. */
|
150
372
|
|
151
|
-
|
373
|
+
/* TODO: this is always defined, so inline it */
|
152
374
|
#define yyconst const
|
375
|
+
|
376
|
+
#if defined(__GNUC__) && __GNUC__ >= 3
|
377
|
+
#define yynoreturn __attribute__((__noreturn__))
|
153
378
|
#else
|
154
|
-
#define
|
379
|
+
#define yynoreturn
|
155
380
|
#endif
|
156
381
|
|
157
382
|
/* Returned upon end-of-file. */
|
158
383
|
#define YY_NULL 0
|
159
384
|
|
160
|
-
/* Promotes a possibly negative, possibly signed char to an
|
161
|
-
*
|
162
|
-
* we want to instead treat it as an 8-bit unsigned char, hence the
|
163
|
-
* double cast.
|
385
|
+
/* Promotes a possibly negative, possibly signed char to an
|
386
|
+
* integer in range [0..255] for use as an array index.
|
164
387
|
*/
|
165
|
-
#define YY_SC_TO_UI(c) ((
|
388
|
+
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
|
166
389
|
|
167
390
|
/* An opaque pointer. */
|
168
391
|
#ifndef YY_TYPEDEF_YY_SCANNER_T
|
@@ -186,25 +409,29 @@ typedef void* yyscan_t;
|
|
186
409
|
* definition of BEGIN.
|
187
410
|
*/
|
188
411
|
#define BEGIN yyg->yy_start = 1 + 2 *
|
189
|
-
|
190
412
|
/* Translate the current start state into a value that can be later handed
|
191
413
|
* to BEGIN to return to the state. The YYSTATE alias is for lex
|
192
414
|
* compatibility.
|
193
415
|
*/
|
194
416
|
#define YY_START ((yyg->yy_start - 1) / 2)
|
195
417
|
#define YYSTATE YY_START
|
196
|
-
|
197
418
|
/* Action number for EOF rule of a given start state. */
|
198
419
|
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
|
199
|
-
|
200
420
|
/* Special action meaning "start processing a new file". */
|
201
|
-
#define YY_NEW_FILE
|
202
|
-
|
421
|
+
#define YY_NEW_FILE yyrestart( yyin , yyscanner )
|
203
422
|
#define YY_END_OF_BUFFER_CHAR 0
|
204
423
|
|
205
424
|
/* Size of default input buffer. */
|
206
425
|
#ifndef YY_BUF_SIZE
|
426
|
+
#ifdef __ia64__
|
427
|
+
/* On IA-64, the buffer size is 16k, not 8k.
|
428
|
+
* Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
|
429
|
+
* Ditto for the __ia64__ case accordingly.
|
430
|
+
*/
|
431
|
+
#define YY_BUF_SIZE 32768
|
432
|
+
#else
|
207
433
|
#define YY_BUF_SIZE 16384
|
434
|
+
#endif /* __ia64__ */
|
208
435
|
#endif
|
209
436
|
|
210
437
|
/* The state buf must be large enough to hold one state per character in the main buffer.
|
@@ -224,8 +451,9 @@ typedef size_t yy_size_t;
|
|
224
451
|
#define EOB_ACT_CONTINUE_SCAN 0
|
225
452
|
#define EOB_ACT_END_OF_FILE 1
|
226
453
|
#define EOB_ACT_LAST_MATCH 2
|
227
|
-
|
454
|
+
|
228
455
|
#define YY_LESS_LINENO(n)
|
456
|
+
#define YY_LINENO_REWIND_TO(ptr)
|
229
457
|
|
230
458
|
/* Return all but the first "n" matched characters back to the input stream. */
|
231
459
|
#define yyless(n) \
|
@@ -240,7 +468,6 @@ typedef size_t yy_size_t;
|
|
240
468
|
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
|
241
469
|
} \
|
242
470
|
while ( 0 )
|
243
|
-
|
244
471
|
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
|
245
472
|
|
246
473
|
#ifndef YY_STRUCT_YY_BUFFER_STATE
|
@@ -283,7 +510,7 @@ struct yy_buffer_state
|
|
283
510
|
|
284
511
|
int yy_bs_lineno; /**< The line count. */
|
285
512
|
int yy_bs_column; /**< The column count. */
|
286
|
-
|
513
|
+
|
287
514
|
/* Whether to try to fill the input buffer when we reach the
|
288
515
|
* end of it.
|
289
516
|
*/
|
@@ -300,7 +527,7 @@ struct yy_buffer_state
|
|
300
527
|
* possible backing-up.
|
301
528
|
*
|
302
529
|
* When we actually see the EOF, we change the status to "new"
|
303
|
-
* (via
|
530
|
+
* (via yyrestart()), so that the user can continue scanning by
|
304
531
|
* just pointing yyin at a new input file.
|
305
532
|
*/
|
306
533
|
#define YY_BUFFER_EOF_PENDING 2
|
@@ -317,73 +544,67 @@ struct yy_buffer_state
|
|
317
544
|
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
|
318
545
|
? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
|
319
546
|
: NULL)
|
320
|
-
|
321
547
|
/* Same as previous macro, but useful when we know that the buffer stack is not
|
322
548
|
* NULL or when we need an lvalue. For internal use only.
|
323
549
|
*/
|
324
550
|
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
|
325
551
|
|
326
|
-
void
|
327
|
-
void
|
328
|
-
YY_BUFFER_STATE
|
329
|
-
void
|
330
|
-
void
|
331
|
-
void
|
332
|
-
void
|
333
|
-
|
334
|
-
static void core_yyensure_buffer_stack (yyscan_t yyscanner );
|
335
|
-
static void core_yy_load_buffer_state (yyscan_t yyscanner );
|
336
|
-
static void core_yy_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner );
|
552
|
+
void yyrestart ( FILE *input_file , yyscan_t yyscanner );
|
553
|
+
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
|
554
|
+
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
|
555
|
+
void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
|
556
|
+
void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
|
557
|
+
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
|
558
|
+
void yypop_buffer_state ( yyscan_t yyscanner );
|
337
559
|
|
338
|
-
|
560
|
+
static void yyensure_buffer_stack ( yyscan_t yyscanner );
|
561
|
+
static void yy_load_buffer_state ( yyscan_t yyscanner );
|
562
|
+
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
|
563
|
+
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
|
339
564
|
|
340
|
-
YY_BUFFER_STATE
|
341
|
-
YY_BUFFER_STATE
|
342
|
-
YY_BUFFER_STATE
|
565
|
+
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
|
566
|
+
YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
|
567
|
+
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, yy_size_t len , yyscan_t yyscanner );
|
343
568
|
|
344
|
-
void *
|
345
|
-
void *
|
346
|
-
void
|
347
|
-
|
348
|
-
#define yy_new_buffer core_yy_create_buffer
|
569
|
+
void *yyalloc ( yy_size_t , yyscan_t yyscanner );
|
570
|
+
void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
|
571
|
+
void yyfree ( void * , yyscan_t yyscanner );
|
349
572
|
|
573
|
+
#define yy_new_buffer yy_create_buffer
|
350
574
|
#define yy_set_interactive(is_interactive) \
|
351
575
|
{ \
|
352
576
|
if ( ! YY_CURRENT_BUFFER ){ \
|
353
|
-
|
577
|
+
yyensure_buffer_stack (yyscanner); \
|
354
578
|
YY_CURRENT_BUFFER_LVALUE = \
|
355
|
-
|
579
|
+
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
|
356
580
|
} \
|
357
581
|
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
|
358
582
|
}
|
359
|
-
|
360
583
|
#define yy_set_bol(at_bol) \
|
361
584
|
{ \
|
362
585
|
if ( ! YY_CURRENT_BUFFER ){\
|
363
|
-
|
586
|
+
yyensure_buffer_stack (yyscanner); \
|
364
587
|
YY_CURRENT_BUFFER_LVALUE = \
|
365
|
-
|
588
|
+
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
|
366
589
|
} \
|
367
590
|
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
|
368
591
|
}
|
369
|
-
|
370
592
|
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
|
371
593
|
|
372
594
|
/* Begin user sect3 */
|
373
595
|
|
374
|
-
#define core_yywrap(
|
596
|
+
#define core_yywrap(yyscanner) (/*CONSTCOND*/1)
|
375
597
|
#define YY_SKIP_YYWRAP
|
376
|
-
|
377
|
-
typedef unsigned char YY_CHAR;
|
598
|
+
typedef flex_uint8_t YY_CHAR;
|
378
599
|
|
379
600
|
typedef int yy_state_type;
|
380
601
|
|
381
602
|
#define yytext_ptr yytext_r
|
382
603
|
|
383
|
-
static yy_state_type yy_get_previous_state (yyscan_t yyscanner );
|
384
|
-
static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner);
|
385
|
-
static int yy_get_next_buffer (yyscan_t yyscanner );
|
386
|
-
static void yy_fatal_error (
|
604
|
+
static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
|
605
|
+
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state , yyscan_t yyscanner);
|
606
|
+
static int yy_get_next_buffer ( yyscan_t yyscanner );
|
607
|
+
static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
|
387
608
|
|
388
609
|
/* Done after the current pattern has been matched and before the
|
389
610
|
* corresponding action - sets up yytext.
|
@@ -394,7 +615,6 @@ static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner );
|
|
394
615
|
yyg->yy_hold_char = *yy_cp; \
|
395
616
|
*yy_cp = '\0'; \
|
396
617
|
yyg->yy_c_buf_p = yy_cp;
|
397
|
-
|
398
618
|
#define YY_NUM_RULES 84
|
399
619
|
#define YY_END_OF_BUFFER 85
|
400
620
|
/* This struct is not used in this scanner,
|
@@ -404,7 +624,7 @@ struct yy_trans_info
|
|
404
624
|
flex_int32_t yy_verify;
|
405
625
|
flex_int32_t yy_nxt;
|
406
626
|
};
|
407
|
-
static
|
627
|
+
static const flex_int16_t yy_accept[309] =
|
408
628
|
{ 0,
|
409
629
|
0, 0, 12, 12, 0, 0, 0, 0, 11, 11,
|
410
630
|
0, 0, 0, 0, 0, 0, 0, 0, 55, 55,
|
@@ -442,7 +662,7 @@ static yyconst flex_int16_t yy_accept[309] =
|
|
442
662
|
28, 28, 28, 55, 55, 28, 28, 0
|
443
663
|
} ;
|
444
664
|
|
445
|
-
static
|
665
|
+
static const YY_CHAR yy_ec[256] =
|
446
666
|
{ 0,
|
447
667
|
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
|
448
668
|
1, 2, 4, 1, 1, 1, 1, 1, 1, 1,
|
@@ -474,7 +694,7 @@ static yyconst flex_int32_t yy_ec[256] =
|
|
474
694
|
30, 30, 30, 30, 30
|
475
695
|
} ;
|
476
696
|
|
477
|
-
static
|
697
|
+
static const YY_CHAR yy_meta[40] =
|
478
698
|
{ 0,
|
479
699
|
1, 1, 2, 2, 3, 4, 5, 3, 3, 6,
|
480
700
|
1, 7, 3, 3, 1, 7, 8, 8, 1, 3,
|
@@ -482,7 +702,7 @@ static yyconst flex_int32_t yy_meta[40] =
|
|
482
702
|
10, 10, 10, 10, 10, 11, 10, 10, 10
|
483
703
|
} ;
|
484
704
|
|
485
|
-
static
|
705
|
+
static const flex_int16_t yy_base[376] =
|
486
706
|
{ 0,
|
487
707
|
0, 0, 486, 484, 35, 55, 483, 475, 466, 465,
|
488
708
|
42, 51, 458, 450, 39, 55, 449, 448, 86, 123,
|
@@ -527,7 +747,7 @@ static yyconst flex_int16_t yy_base[376] =
|
|
527
747
|
1196, 1205, 1216, 1227, 1238
|
528
748
|
} ;
|
529
749
|
|
530
|
-
static
|
750
|
+
static const flex_int16_t yy_def[376] =
|
531
751
|
{ 0,
|
532
752
|
308, 1, 309, 309, 310, 310, 311, 311, 312, 312,
|
533
753
|
313, 313, 314, 314, 315, 315, 311, 311, 316, 316,
|
@@ -572,7 +792,7 @@ static yyconst flex_int16_t yy_def[376] =
|
|
572
792
|
308, 308, 308, 308, 308
|
573
793
|
} ;
|
574
794
|
|
575
|
-
static
|
795
|
+
static const flex_int16_t yy_nxt[1290] =
|
576
796
|
{ 0,
|
577
797
|
28, 29, 30, 29, 31, 32, 33, 34, 35, 36,
|
578
798
|
37, 38, 34, 39, 40, 41, 42, 42, 43, 44,
|
@@ -717,7 +937,7 @@ static yyconst flex_int16_t yy_nxt[1290] =
|
|
717
937
|
308, 308, 308, 308, 308, 308, 308, 308, 308
|
718
938
|
} ;
|
719
939
|
|
720
|
-
static
|
940
|
+
static const flex_int16_t yy_chk[1290] =
|
721
941
|
{ 0,
|
722
942
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
723
943
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
@@ -898,7 +1118,7 @@ bool standard_conforming_strings = true;
|
|
898
1118
|
#define YY_EXTRA_TYPE core_yy_extra_type *
|
899
1119
|
|
900
1120
|
/*
|
901
|
-
* Each call to
|
1121
|
+
* Each call to yylex must set yylloc to the location of the found token
|
902
1122
|
* (expressed as a byte offset from the start of the input text).
|
903
1123
|
* When we parse a token that requires multiple lexer rules to process,
|
904
1124
|
* this should be done in the first such rule, else yylloc will point
|
@@ -940,6 +1160,7 @@ static void check_escape_warning(core_yyscan_t yyscanner);
|
|
940
1160
|
extern int core_yyget_column(yyscan_t yyscanner);
|
941
1161
|
extern void core_yyset_column(int column_no, yyscan_t yyscanner);
|
942
1162
|
|
1163
|
+
#line 1162 "third_party/libpg_query/src_backend_parser_scan.cpp"
|
943
1164
|
#define YY_NO_INPUT 1
|
944
1165
|
/*
|
945
1166
|
* OK, here is a short description of lex/flex rules behavior.
|
@@ -969,17 +1190,6 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
|
|
969
1190
|
* The default one is probably not the right thing.
|
970
1191
|
*/
|
971
1192
|
|
972
|
-
|
973
|
-
|
974
|
-
|
975
|
-
|
976
|
-
|
977
|
-
|
978
|
-
|
979
|
-
|
980
|
-
|
981
|
-
|
982
|
-
|
983
1193
|
/*
|
984
1194
|
* In order to make the world safe for Windows and Mac clients as well as
|
985
1195
|
* Unix ones, we accept either \n or \r as a newline. A DOS-style \r\n
|
@@ -1104,7 +1314,7 @@ extern void core_yyset_column(int column_no, yyscan_t yyscanner);
|
|
1104
1314
|
* Note that xcstart must appear before operator, as explained above!
|
1105
1315
|
* Also whitespace (comment) must appear before operator.
|
1106
1316
|
*/
|
1107
|
-
#line
|
1317
|
+
#line 1316 "third_party/libpg_query/src_backend_parser_scan.cpp"
|
1108
1318
|
|
1109
1319
|
#define INITIAL 0
|
1110
1320
|
#define xb 1
|
@@ -1162,7 +1372,7 @@ struct yyguts_t
|
|
1162
1372
|
|
1163
1373
|
}; /* end struct yyguts_t */
|
1164
1374
|
|
1165
|
-
static int yy_init_globals (yyscan_t yyscanner );
|
1375
|
+
static int yy_init_globals ( yyscan_t yyscanner );
|
1166
1376
|
|
1167
1377
|
/* This must go here because YYSTYPE and YYLTYPE are included
|
1168
1378
|
* from bison output in section 1.*/
|
@@ -1170,46 +1380,50 @@ static int yy_init_globals (yyscan_t yyscanner );
|
|
1170
1380
|
|
1171
1381
|
# define yylloc yyg->yylloc_r
|
1172
1382
|
|
1173
|
-
int
|
1383
|
+
int yylex_init (yyscan_t* scanner);
|
1174
1384
|
|
1175
|
-
int
|
1385
|
+
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
|
1176
1386
|
|
1177
1387
|
/* Accessor methods to globals.
|
1178
1388
|
These are made visible to non-reentrant scanners for convenience. */
|
1179
1389
|
|
1180
|
-
int
|
1390
|
+
int yylex_destroy ( yyscan_t yyscanner );
|
1181
1391
|
|
1182
|
-
int
|
1392
|
+
int yyget_debug ( yyscan_t yyscanner );
|
1183
1393
|
|
1184
|
-
void
|
1394
|
+
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
|
1185
1395
|
|
1186
|
-
YY_EXTRA_TYPE
|
1396
|
+
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
|
1187
1397
|
|
1188
|
-
void
|
1398
|
+
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
|
1189
1399
|
|
1190
|
-
FILE *
|
1400
|
+
FILE *yyget_in ( yyscan_t yyscanner );
|
1191
1401
|
|
1192
|
-
void
|
1402
|
+
void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
|
1193
1403
|
|
1194
|
-
FILE *
|
1404
|
+
FILE *yyget_out ( yyscan_t yyscanner );
|
1195
1405
|
|
1196
|
-
void
|
1406
|
+
void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
|
1197
1407
|
|
1198
|
-
yy_size_t
|
1408
|
+
yy_size_t yyget_leng ( yyscan_t yyscanner );
|
1199
1409
|
|
1200
|
-
char *
|
1410
|
+
char *yyget_text ( yyscan_t yyscanner );
|
1201
1411
|
|
1202
|
-
int
|
1412
|
+
int yyget_lineno ( yyscan_t yyscanner );
|
1203
1413
|
|
1204
|
-
void
|
1414
|
+
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
|
1205
1415
|
|
1206
|
-
|
1416
|
+
int yyget_column ( yyscan_t yyscanner );
|
1207
1417
|
|
1208
|
-
void
|
1418
|
+
void yyset_column ( int _column_no , yyscan_t yyscanner );
|
1209
1419
|
|
1210
|
-
|
1420
|
+
YYSTYPE * yyget_lval ( yyscan_t yyscanner );
|
1421
|
+
|
1422
|
+
void yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
|
1423
|
+
|
1424
|
+
YYLTYPE *yyget_lloc ( yyscan_t yyscanner );
|
1211
1425
|
|
1212
|
-
void
|
1426
|
+
void yyset_lloc ( YYLTYPE * yylloc_param , yyscan_t yyscanner );
|
1213
1427
|
|
1214
1428
|
/* Macros after this point can all be overridden by user definitions in
|
1215
1429
|
* section 1.
|
@@ -1217,33 +1431,41 @@ void core_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
|
|
1217
1431
|
|
1218
1432
|
#ifndef YY_SKIP_YYWRAP
|
1219
1433
|
#ifdef __cplusplus
|
1220
|
-
extern "C" int
|
1434
|
+
extern "C" int yywrap ( yyscan_t yyscanner );
|
1221
1435
|
#else
|
1222
|
-
extern int
|
1436
|
+
extern int yywrap ( yyscan_t yyscanner );
|
1437
|
+
#endif
|
1223
1438
|
#endif
|
1439
|
+
|
1440
|
+
#ifndef YY_NO_UNPUT
|
1441
|
+
|
1224
1442
|
#endif
|
1225
1443
|
|
1226
1444
|
#ifndef yytext_ptr
|
1227
|
-
static void yy_flex_strncpy (char *,
|
1445
|
+
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
|
1228
1446
|
#endif
|
1229
1447
|
|
1230
1448
|
#ifdef YY_NEED_STRLEN
|
1231
|
-
static int yy_flex_strlen (
|
1449
|
+
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
|
1232
1450
|
#endif
|
1233
1451
|
|
1234
1452
|
#ifndef YY_NO_INPUT
|
1235
|
-
|
1236
1453
|
#ifdef __cplusplus
|
1237
|
-
static int yyinput (yyscan_t yyscanner );
|
1454
|
+
static int yyinput ( yyscan_t yyscanner );
|
1238
1455
|
#else
|
1239
|
-
static int input (yyscan_t yyscanner );
|
1456
|
+
static int input ( yyscan_t yyscanner );
|
1240
1457
|
#endif
|
1241
1458
|
|
1242
1459
|
#endif
|
1243
1460
|
|
1244
1461
|
/* Amount of stuff to slurp up with each read. */
|
1245
1462
|
#ifndef YY_READ_BUF_SIZE
|
1463
|
+
#ifdef __ia64__
|
1464
|
+
/* On IA-64, the buffer size is 16k, not 8k */
|
1465
|
+
#define YY_READ_BUF_SIZE 16384
|
1466
|
+
#else
|
1246
1467
|
#define YY_READ_BUF_SIZE 8192
|
1468
|
+
#endif /* __ia64__ */
|
1247
1469
|
#endif
|
1248
1470
|
|
1249
1471
|
/* Copy whatever the last rule matched to the standard output. */
|
@@ -1251,7 +1473,7 @@ static int input (yyscan_t yyscanner );
|
|
1251
1473
|
/* This used to be an fputs(), but since the string might contain NUL's,
|
1252
1474
|
* we now use fwrite().
|
1253
1475
|
*/
|
1254
|
-
#define ECHO fwrite( yytext, yyleng, 1, yyout )
|
1476
|
+
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
|
1255
1477
|
#endif
|
1256
1478
|
|
1257
1479
|
/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
|
@@ -1275,7 +1497,7 @@ static int input (yyscan_t yyscanner );
|
|
1275
1497
|
else \
|
1276
1498
|
{ \
|
1277
1499
|
errno=0; \
|
1278
|
-
while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
|
1500
|
+
while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
|
1279
1501
|
{ \
|
1280
1502
|
if( errno != EINTR) \
|
1281
1503
|
{ \
|
@@ -1316,10 +1538,10 @@ static int input (yyscan_t yyscanner );
|
|
1316
1538
|
#ifndef YY_DECL
|
1317
1539
|
#define YY_DECL_IS_OURS 1
|
1318
1540
|
|
1319
|
-
extern int
|
1320
|
-
(YYSTYPE * yylval_param,YYLTYPE * yylloc_param ,yyscan_t yyscanner);
|
1541
|
+
extern int yylex \
|
1542
|
+
(YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner);
|
1321
1543
|
|
1322
|
-
#define YY_DECL int
|
1544
|
+
#define YY_DECL int yylex \
|
1323
1545
|
(YYSTYPE * yylval_param, YYLTYPE * yylloc_param , yyscan_t yyscanner)
|
1324
1546
|
#endif /* !YY_DECL */
|
1325
1547
|
|
@@ -1332,7 +1554,7 @@ extern int core_yylex \
|
|
1332
1554
|
|
1333
1555
|
/* Code executed at the end of each rule. */
|
1334
1556
|
#ifndef YY_BREAK
|
1335
|
-
#define YY_BREAK break;
|
1557
|
+
#define YY_BREAK /*LINTED*/break;
|
1336
1558
|
#endif
|
1337
1559
|
|
1338
1560
|
#define YY_RULE_SETUP \
|
@@ -1347,11 +1569,6 @@ YY_DECL
|
|
1347
1569
|
int yy_act;
|
1348
1570
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
1349
1571
|
|
1350
|
-
#line 404 "third_party/libpg_query/scan.l"
|
1351
|
-
|
1352
|
-
|
1353
|
-
#line 1353 "third_party/libpg_query/src_backend_parser_scan.cpp"
|
1354
|
-
|
1355
1572
|
yylval = yylval_param;
|
1356
1573
|
|
1357
1574
|
yylloc = yylloc_param;
|
@@ -1367,15 +1584,21 @@ YY_DECL
|
|
1367
1584
|
if ( ! yyg->yy_start )
|
1368
1585
|
yyg->yy_start = 1; /* first start state */
|
1369
1586
|
if ( ! YY_CURRENT_BUFFER ) {
|
1370
|
-
|
1587
|
+
yyensure_buffer_stack (yyscanner);
|
1371
1588
|
YY_CURRENT_BUFFER_LVALUE =
|
1372
|
-
|
1589
|
+
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
|
1373
1590
|
}
|
1374
1591
|
|
1375
|
-
|
1592
|
+
yy_load_buffer_state( yyscanner );
|
1376
1593
|
}
|
1377
1594
|
|
1378
|
-
|
1595
|
+
{
|
1596
|
+
#line 404 "third_party/libpg_query/scan.l"
|
1597
|
+
|
1598
|
+
|
1599
|
+
#line 1605 "third_party/libpg_query/src_backend_parser_scan.cpp"
|
1600
|
+
|
1601
|
+
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
1379
1602
|
{
|
1380
1603
|
yy_cp = yyg->yy_c_buf_p;
|
1381
1604
|
|
@@ -1391,7 +1614,7 @@ YY_DECL
|
|
1391
1614
|
yy_match:
|
1392
1615
|
do
|
1393
1616
|
{
|
1394
|
-
YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
|
1617
|
+
YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
|
1395
1618
|
if ( yy_accept[yy_current_state] )
|
1396
1619
|
{
|
1397
1620
|
yyg->yy_last_accepting_state = yy_current_state;
|
@@ -1401,9 +1624,9 @@ yy_match:
|
|
1401
1624
|
{
|
1402
1625
|
yy_current_state = (int) yy_def[yy_current_state];
|
1403
1626
|
if ( yy_current_state >= 309 )
|
1404
|
-
yy_c = yy_meta[
|
1627
|
+
yy_c = yy_meta[yy_c];
|
1405
1628
|
}
|
1406
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
1629
|
+
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
1407
1630
|
++yy_cp;
|
1408
1631
|
}
|
1409
1632
|
while ( yy_current_state != 308 );
|
@@ -2444,7 +2667,7 @@ YY_RULE_SETUP
|
|
2444
2667
|
#line 1089 "third_party/libpg_query/scan.l"
|
2445
2668
|
YY_FATAL_ERROR( "flex scanner jammed" );
|
2446
2669
|
YY_BREAK
|
2447
|
-
#line
|
2670
|
+
#line 2676 "third_party/libpg_query/src_backend_parser_scan.cpp"
|
2448
2671
|
|
2449
2672
|
case YY_END_OF_BUFFER:
|
2450
2673
|
{
|
@@ -2460,7 +2683,7 @@ YY_FATAL_ERROR( "flex scanner jammed" );
|
|
2460
2683
|
/* We're scanning a new file or input source. It's
|
2461
2684
|
* possible that this happened because the user
|
2462
2685
|
* just pointed yyin at a new source and called
|
2463
|
-
*
|
2686
|
+
* yylex(). If so, then we have to assure
|
2464
2687
|
* consistency between YY_CURRENT_BUFFER and our
|
2465
2688
|
* globals. Here is the right place to do so, because
|
2466
2689
|
* this is the first action (other than possibly a
|
@@ -2521,7 +2744,7 @@ YY_FATAL_ERROR( "flex scanner jammed" );
|
|
2521
2744
|
{
|
2522
2745
|
yyg->yy_did_buffer_switch_on_eof = 0;
|
2523
2746
|
|
2524
|
-
if (
|
2747
|
+
if ( yywrap( yyscanner ) )
|
2525
2748
|
{
|
2526
2749
|
/* Note: because we've taken care in
|
2527
2750
|
* yy_get_next_buffer() to have set up
|
@@ -2574,7 +2797,8 @@ YY_FATAL_ERROR( "flex scanner jammed" );
|
|
2574
2797
|
"fatal flex scanner internal error--no action found" );
|
2575
2798
|
} /* end of action switch */
|
2576
2799
|
} /* end of scanning one token */
|
2577
|
-
} /* end of
|
2800
|
+
} /* end of user's declarations */
|
2801
|
+
} /* end of yylex */
|
2578
2802
|
|
2579
2803
|
/* yy_get_next_buffer - try to read in a new buffer
|
2580
2804
|
*
|
@@ -2617,7 +2841,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2617
2841
|
/* Try to read more data. */
|
2618
2842
|
|
2619
2843
|
/* First move last chars to start of buffer. */
|
2620
|
-
number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr
|
2844
|
+
number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
|
2621
2845
|
|
2622
2846
|
for ( i = 0; i < number_to_move; ++i )
|
2623
2847
|
*(dest++) = *(source++);
|
@@ -2637,7 +2861,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2637
2861
|
{ /* Not enough room in the buffer - grow it. */
|
2638
2862
|
|
2639
2863
|
/* just a shorter name for the current buffer */
|
2640
|
-
YY_BUFFER_STATE b =
|
2864
|
+
YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
|
2641
2865
|
|
2642
2866
|
int yy_c_buf_p_offset =
|
2643
2867
|
(int) (yyg->yy_c_buf_p - b->yy_ch_buf);
|
@@ -2653,11 +2877,12 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2653
2877
|
|
2654
2878
|
b->yy_ch_buf = (char *)
|
2655
2879
|
/* Include room in for 2 EOB chars. */
|
2656
|
-
|
2880
|
+
yyrealloc( (void *) b->yy_ch_buf,
|
2881
|
+
(yy_size_t) (b->yy_buf_size + 2) , yyscanner );
|
2657
2882
|
}
|
2658
2883
|
else
|
2659
2884
|
/* Can't grow it, we don't own it. */
|
2660
|
-
b->yy_ch_buf =
|
2885
|
+
b->yy_ch_buf = NULL;
|
2661
2886
|
|
2662
2887
|
if ( ! b->yy_ch_buf )
|
2663
2888
|
YY_FATAL_ERROR(
|
@@ -2685,7 +2910,7 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2685
2910
|
if ( number_to_move == YY_MORE_ADJ )
|
2686
2911
|
{
|
2687
2912
|
ret_val = EOB_ACT_END_OF_FILE;
|
2688
|
-
|
2913
|
+
yyrestart( yyin , yyscanner);
|
2689
2914
|
}
|
2690
2915
|
|
2691
2916
|
else
|
@@ -2699,12 +2924,15 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2699
2924
|
else
|
2700
2925
|
ret_val = EOB_ACT_CONTINUE_SCAN;
|
2701
2926
|
|
2702
|
-
if ((
|
2927
|
+
if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
|
2703
2928
|
/* Extend the array by 50%, plus the number we really need. */
|
2704
2929
|
yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
|
2705
|
-
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *)
|
2930
|
+
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
|
2931
|
+
(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
|
2706
2932
|
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
|
2707
2933
|
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
|
2934
|
+
/* "- 2" to take care of EOB's */
|
2935
|
+
YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
|
2708
2936
|
}
|
2709
2937
|
|
2710
2938
|
yyg->yy_n_chars += number_to_move;
|
@@ -2738,9 +2966,9 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2738
2966
|
{
|
2739
2967
|
yy_current_state = (int) yy_def[yy_current_state];
|
2740
2968
|
if ( yy_current_state >= 309 )
|
2741
|
-
yy_c = yy_meta[
|
2969
|
+
yy_c = yy_meta[yy_c];
|
2742
2970
|
}
|
2743
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
2971
|
+
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
2744
2972
|
}
|
2745
2973
|
|
2746
2974
|
return yy_current_state;
|
@@ -2767,14 +2995,19 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2767
2995
|
{
|
2768
2996
|
yy_current_state = (int) yy_def[yy_current_state];
|
2769
2997
|
if ( yy_current_state >= 309 )
|
2770
|
-
yy_c = yy_meta[
|
2998
|
+
yy_c = yy_meta[yy_c];
|
2771
2999
|
}
|
2772
|
-
yy_current_state = yy_nxt[yy_base[yy_current_state] +
|
3000
|
+
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
2773
3001
|
yy_is_jam = (yy_current_state == 308);
|
2774
3002
|
|
3003
|
+
(void)yyg;
|
2775
3004
|
return yy_is_jam ? 0 : yy_current_state;
|
2776
3005
|
}
|
2777
3006
|
|
3007
|
+
#ifndef YY_NO_UNPUT
|
3008
|
+
|
3009
|
+
#endif
|
3010
|
+
|
2778
3011
|
#ifndef YY_NO_INPUT
|
2779
3012
|
#ifdef __cplusplus
|
2780
3013
|
static int yyinput (yyscan_t yyscanner)
|
@@ -2817,13 +3050,13 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2817
3050
|
*/
|
2818
3051
|
|
2819
3052
|
/* Reset buffer status. */
|
2820
|
-
|
3053
|
+
yyrestart( yyin , yyscanner);
|
2821
3054
|
|
2822
3055
|
/*FALLTHROUGH*/
|
2823
3056
|
|
2824
3057
|
case EOB_ACT_END_OF_FILE:
|
2825
3058
|
{
|
2826
|
-
if (
|
3059
|
+
if ( yywrap( yyscanner ) )
|
2827
3060
|
return 0;
|
2828
3061
|
|
2829
3062
|
if ( ! yyg->yy_did_buffer_switch_on_eof )
|
@@ -2855,34 +3088,34 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2855
3088
|
* @param yyscanner The scanner object.
|
2856
3089
|
* @note This function does not reset the start condition to @c INITIAL .
|
2857
3090
|
*/
|
2858
|
-
void
|
3091
|
+
void yyrestart (FILE * input_file , yyscan_t yyscanner)
|
2859
3092
|
{
|
2860
3093
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
2861
3094
|
|
2862
3095
|
if ( ! YY_CURRENT_BUFFER ){
|
2863
|
-
|
3096
|
+
yyensure_buffer_stack (yyscanner);
|
2864
3097
|
YY_CURRENT_BUFFER_LVALUE =
|
2865
|
-
|
3098
|
+
yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
|
2866
3099
|
}
|
2867
3100
|
|
2868
|
-
|
2869
|
-
|
3101
|
+
yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
|
3102
|
+
yy_load_buffer_state( yyscanner );
|
2870
3103
|
}
|
2871
3104
|
|
2872
3105
|
/** Switch to a different input buffer.
|
2873
3106
|
* @param new_buffer The new input buffer.
|
2874
3107
|
* @param yyscanner The scanner object.
|
2875
3108
|
*/
|
2876
|
-
void
|
3109
|
+
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
2877
3110
|
{
|
2878
3111
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
2879
3112
|
|
2880
3113
|
/* TODO. We should be able to replace this entire function body
|
2881
3114
|
* with
|
2882
|
-
*
|
2883
|
-
*
|
3115
|
+
* yypop_buffer_state();
|
3116
|
+
* yypush_buffer_state(new_buffer);
|
2884
3117
|
*/
|
2885
|
-
|
3118
|
+
yyensure_buffer_stack (yyscanner);
|
2886
3119
|
if ( YY_CURRENT_BUFFER == new_buffer )
|
2887
3120
|
return;
|
2888
3121
|
|
@@ -2895,17 +3128,17 @@ static int yy_get_next_buffer (yyscan_t yyscanner)
|
|
2895
3128
|
}
|
2896
3129
|
|
2897
3130
|
YY_CURRENT_BUFFER_LVALUE = new_buffer;
|
2898
|
-
|
3131
|
+
yy_load_buffer_state( yyscanner );
|
2899
3132
|
|
2900
3133
|
/* We don't actually know whether we did this switch during
|
2901
|
-
* EOF (
|
2902
|
-
* is looked at is after
|
3134
|
+
* EOF (yywrap()) processing, but the only time this flag
|
3135
|
+
* is looked at is after yywrap() is called, so it's safe
|
2903
3136
|
* to go ahead and always set it.
|
2904
3137
|
*/
|
2905
3138
|
yyg->yy_did_buffer_switch_on_eof = 1;
|
2906
3139
|
}
|
2907
3140
|
|
2908
|
-
static void
|
3141
|
+
static void yy_load_buffer_state (yyscan_t yyscanner)
|
2909
3142
|
{
|
2910
3143
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
2911
3144
|
yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
|
@@ -2920,35 +3153,35 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
|
|
2920
3153
|
* @param yyscanner The scanner object.
|
2921
3154
|
* @return the allocated buffer state.
|
2922
3155
|
*/
|
2923
|
-
YY_BUFFER_STATE
|
3156
|
+
YY_BUFFER_STATE yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
|
2924
3157
|
{
|
2925
3158
|
YY_BUFFER_STATE b;
|
2926
3159
|
|
2927
|
-
b = (YY_BUFFER_STATE)
|
3160
|
+
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
|
2928
3161
|
if ( ! b )
|
2929
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
3162
|
+
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
|
2930
3163
|
|
2931
3164
|
b->yy_buf_size = size;
|
2932
3165
|
|
2933
3166
|
/* yy_ch_buf has to be 2 characters longer than the size given because
|
2934
3167
|
* we need to put in 2 end-of-buffer characters.
|
2935
3168
|
*/
|
2936
|
-
b->yy_ch_buf = (char *)
|
3169
|
+
b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
|
2937
3170
|
if ( ! b->yy_ch_buf )
|
2938
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
3171
|
+
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
|
2939
3172
|
|
2940
3173
|
b->yy_is_our_buffer = 1;
|
2941
3174
|
|
2942
|
-
|
3175
|
+
yy_init_buffer( b, file , yyscanner);
|
2943
3176
|
|
2944
3177
|
return b;
|
2945
3178
|
}
|
2946
3179
|
|
2947
3180
|
/** Destroy the buffer.
|
2948
|
-
* @param b a buffer created with
|
3181
|
+
* @param b a buffer created with yy_create_buffer()
|
2949
3182
|
* @param yyscanner The scanner object.
|
2950
3183
|
*/
|
2951
|
-
void
|
3184
|
+
void yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
|
2952
3185
|
{
|
2953
3186
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
2954
3187
|
|
@@ -2959,28 +3192,28 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
|
|
2959
3192
|
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
|
2960
3193
|
|
2961
3194
|
if ( b->yy_is_our_buffer )
|
2962
|
-
|
3195
|
+
yyfree( (void *) b->yy_ch_buf , yyscanner );
|
2963
3196
|
|
2964
|
-
|
3197
|
+
yyfree( (void *) b , yyscanner );
|
2965
3198
|
}
|
2966
3199
|
|
2967
3200
|
/* Initializes or reinitializes a buffer.
|
2968
3201
|
* This function is sometimes called more than once on the same buffer,
|
2969
|
-
* such as during a
|
3202
|
+
* such as during a yyrestart() or at EOF.
|
2970
3203
|
*/
|
2971
|
-
static void
|
3204
|
+
static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
|
2972
3205
|
|
2973
3206
|
{
|
2974
3207
|
int oerrno = errno;
|
2975
3208
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
2976
3209
|
|
2977
|
-
|
3210
|
+
yy_flush_buffer( b , yyscanner);
|
2978
3211
|
|
2979
3212
|
b->yy_input_file = file;
|
2980
3213
|
b->yy_fill_buffer = 1;
|
2981
3214
|
|
2982
|
-
/* If b is the current buffer, then
|
2983
|
-
* called from
|
3215
|
+
/* If b is the current buffer, then yy_init_buffer was _probably_
|
3216
|
+
* called from yyrestart() or through yy_get_next_buffer.
|
2984
3217
|
* In that case, we don't want to reset the lineno or column.
|
2985
3218
|
*/
|
2986
3219
|
if (b != YY_CURRENT_BUFFER){
|
@@ -2997,7 +3230,7 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
|
|
2997
3230
|
* @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
|
2998
3231
|
* @param yyscanner The scanner object.
|
2999
3232
|
*/
|
3000
|
-
void
|
3233
|
+
void yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
|
3001
3234
|
{
|
3002
3235
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3003
3236
|
if ( ! b )
|
@@ -3018,7 +3251,7 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
|
|
3018
3251
|
b->yy_buffer_status = YY_BUFFER_NEW;
|
3019
3252
|
|
3020
3253
|
if ( b == YY_CURRENT_BUFFER )
|
3021
|
-
|
3254
|
+
yy_load_buffer_state( yyscanner );
|
3022
3255
|
}
|
3023
3256
|
|
3024
3257
|
/** Pushes the new state onto the stack. The new state becomes
|
@@ -3027,15 +3260,15 @@ static void core_yy_load_buffer_state (yyscan_t yyscanner)
|
|
3027
3260
|
* @param new_buffer The new state.
|
3028
3261
|
* @param yyscanner The scanner object.
|
3029
3262
|
*/
|
3030
|
-
void
|
3263
|
+
void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
3031
3264
|
{
|
3032
3265
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3033
3266
|
if (new_buffer == NULL)
|
3034
3267
|
return;
|
3035
3268
|
|
3036
|
-
|
3269
|
+
yyensure_buffer_stack(yyscanner);
|
3037
3270
|
|
3038
|
-
/* This block is copied from
|
3271
|
+
/* This block is copied from yy_switch_to_buffer. */
|
3039
3272
|
if ( YY_CURRENT_BUFFER )
|
3040
3273
|
{
|
3041
3274
|
/* Flush out information for old buffer. */
|
@@ -3049,8 +3282,8 @@ void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
|
3049
3282
|
yyg->yy_buffer_stack_top++;
|
3050
3283
|
YY_CURRENT_BUFFER_LVALUE = new_buffer;
|
3051
3284
|
|
3052
|
-
/* copied from
|
3053
|
-
|
3285
|
+
/* copied from yy_switch_to_buffer. */
|
3286
|
+
yy_load_buffer_state( yyscanner );
|
3054
3287
|
yyg->yy_did_buffer_switch_on_eof = 1;
|
3055
3288
|
}
|
3056
3289
|
|
@@ -3058,19 +3291,19 @@ void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
|
|
3058
3291
|
* The next element becomes the new top.
|
3059
3292
|
* @param yyscanner The scanner object.
|
3060
3293
|
*/
|
3061
|
-
void
|
3294
|
+
void yypop_buffer_state (yyscan_t yyscanner)
|
3062
3295
|
{
|
3063
3296
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3064
3297
|
if (!YY_CURRENT_BUFFER)
|
3065
3298
|
return;
|
3066
3299
|
|
3067
|
-
|
3300
|
+
yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
|
3068
3301
|
YY_CURRENT_BUFFER_LVALUE = NULL;
|
3069
3302
|
if (yyg->yy_buffer_stack_top > 0)
|
3070
3303
|
--yyg->yy_buffer_stack_top;
|
3071
3304
|
|
3072
3305
|
if (YY_CURRENT_BUFFER) {
|
3073
|
-
|
3306
|
+
yy_load_buffer_state( yyscanner );
|
3074
3307
|
yyg->yy_did_buffer_switch_on_eof = 1;
|
3075
3308
|
}
|
3076
3309
|
}
|
@@ -3078,7 +3311,7 @@ void core_yypop_buffer_state (yyscan_t yyscanner)
|
|
3078
3311
|
/* Allocates the stack if it does not exist.
|
3079
3312
|
* Guarantees space for at least one push.
|
3080
3313
|
*/
|
3081
|
-
static void
|
3314
|
+
static void yyensure_buffer_stack (yyscan_t yyscanner)
|
3082
3315
|
{
|
3083
3316
|
yy_size_t num_to_alloc;
|
3084
3317
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
@@ -3089,15 +3322,15 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
|
|
3089
3322
|
* scanner will even need a stack. We use 2 instead of 1 to avoid an
|
3090
3323
|
* immediate realloc on the next call.
|
3091
3324
|
*/
|
3092
|
-
|
3093
|
-
yyg->yy_buffer_stack = (struct yy_buffer_state**)
|
3325
|
+
num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
|
3326
|
+
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
|
3094
3327
|
(num_to_alloc * sizeof(struct yy_buffer_state*)
|
3095
3328
|
, yyscanner);
|
3096
3329
|
if ( ! yyg->yy_buffer_stack )
|
3097
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
3098
|
-
|
3330
|
+
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
|
3331
|
+
|
3099
3332
|
memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
|
3100
|
-
|
3333
|
+
|
3101
3334
|
yyg->yy_buffer_stack_max = num_to_alloc;
|
3102
3335
|
yyg->yy_buffer_stack_top = 0;
|
3103
3336
|
return;
|
@@ -3106,15 +3339,15 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
|
|
3106
3339
|
if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
|
3107
3340
|
|
3108
3341
|
/* Increase the buffer to prepare for a possible push. */
|
3109
|
-
|
3342
|
+
yy_size_t grow_size = 8 /* arbitrary grow size */;
|
3110
3343
|
|
3111
3344
|
num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
|
3112
|
-
yyg->yy_buffer_stack = (struct yy_buffer_state**)
|
3345
|
+
yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
|
3113
3346
|
(yyg->yy_buffer_stack,
|
3114
3347
|
num_to_alloc * sizeof(struct yy_buffer_state*)
|
3115
3348
|
, yyscanner);
|
3116
3349
|
if ( ! yyg->yy_buffer_stack )
|
3117
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
3350
|
+
YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
|
3118
3351
|
|
3119
3352
|
/* zero only the new slots.*/
|
3120
3353
|
memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
|
@@ -3126,9 +3359,9 @@ static void core_yyensure_buffer_stack (yyscan_t yyscanner)
|
|
3126
3359
|
* @param base the character buffer
|
3127
3360
|
* @param size the size in bytes of the character buffer
|
3128
3361
|
* @param yyscanner The scanner object.
|
3129
|
-
* @return the newly allocated buffer state object.
|
3362
|
+
* @return the newly allocated buffer state object.
|
3130
3363
|
*/
|
3131
|
-
YY_BUFFER_STATE
|
3364
|
+
YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
|
3132
3365
|
{
|
3133
3366
|
YY_BUFFER_STATE b;
|
3134
3367
|
|
@@ -3136,68 +3369,69 @@ YY_BUFFER_STATE core_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yy
|
|
3136
3369
|
base[size-2] != YY_END_OF_BUFFER_CHAR ||
|
3137
3370
|
base[size-1] != YY_END_OF_BUFFER_CHAR )
|
3138
3371
|
/* They forgot to leave room for the EOB's. */
|
3139
|
-
return
|
3372
|
+
return NULL;
|
3140
3373
|
|
3141
|
-
b = (YY_BUFFER_STATE)
|
3374
|
+
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
|
3142
3375
|
if ( ! b )
|
3143
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
3376
|
+
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
|
3144
3377
|
|
3145
|
-
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
|
3378
|
+
b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
|
3146
3379
|
b->yy_buf_pos = b->yy_ch_buf = base;
|
3147
3380
|
b->yy_is_our_buffer = 0;
|
3148
|
-
b->yy_input_file =
|
3381
|
+
b->yy_input_file = NULL;
|
3149
3382
|
b->yy_n_chars = b->yy_buf_size;
|
3150
3383
|
b->yy_is_interactive = 0;
|
3151
3384
|
b->yy_at_bol = 1;
|
3152
3385
|
b->yy_fill_buffer = 0;
|
3153
3386
|
b->yy_buffer_status = YY_BUFFER_NEW;
|
3154
3387
|
|
3155
|
-
|
3388
|
+
yy_switch_to_buffer( b , yyscanner );
|
3156
3389
|
|
3157
3390
|
return b;
|
3158
3391
|
}
|
3159
3392
|
|
3160
|
-
/** Setup the input buffer state to scan a string. The next call to
|
3393
|
+
/** Setup the input buffer state to scan a string. The next call to yylex() will
|
3161
3394
|
* scan from a @e copy of @a str.
|
3162
3395
|
* @param yystr a NUL-terminated string to scan
|
3163
3396
|
* @param yyscanner The scanner object.
|
3164
3397
|
* @return the newly allocated buffer state object.
|
3165
3398
|
* @note If you want to scan bytes that may contain NUL values, then use
|
3166
|
-
*
|
3399
|
+
* yy_scan_bytes() instead.
|
3167
3400
|
*/
|
3168
|
-
YY_BUFFER_STATE
|
3401
|
+
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
|
3169
3402
|
{
|
3170
3403
|
|
3171
|
-
return
|
3404
|
+
return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
|
3172
3405
|
}
|
3173
3406
|
|
3174
|
-
/** Setup the input buffer state to scan the given bytes. The next call to
|
3407
|
+
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
|
3175
3408
|
* scan from a @e copy of @a bytes.
|
3176
|
-
* @param
|
3177
|
-
* @param
|
3409
|
+
* @param yybytes the byte buffer to scan
|
3410
|
+
* @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
|
3178
3411
|
* @param yyscanner The scanner object.
|
3179
3412
|
* @return the newly allocated buffer state object.
|
3180
3413
|
*/
|
3181
|
-
YY_BUFFER_STATE
|
3414
|
+
YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
|
3182
3415
|
{
|
3183
3416
|
YY_BUFFER_STATE b;
|
3184
3417
|
char *buf;
|
3185
|
-
yy_size_t n
|
3418
|
+
yy_size_t n;
|
3419
|
+
yy_size_t i;
|
3186
3420
|
|
3187
3421
|
/* Get memory for full buffer, including space for trailing EOB's. */
|
3188
|
-
n = _yybytes_len + 2;
|
3189
|
-
buf = (char *)
|
3422
|
+
n = (yy_size_t) (_yybytes_len + 2);
|
3423
|
+
buf = (char *) yyalloc( n , yyscanner );
|
3190
3424
|
if ( ! buf )
|
3191
|
-
YY_FATAL_ERROR( "out of dynamic memory in
|
3425
|
+
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
|
3192
3426
|
|
3193
3427
|
for ( i = 0; i < _yybytes_len; ++i )
|
3194
3428
|
buf[i] = yybytes[i];
|
3195
3429
|
|
3196
3430
|
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
|
3197
3431
|
|
3198
|
-
b =
|
3432
|
+
b = yy_scan_buffer( buf, n , yyscanner);
|
3199
3433
|
if ( ! b )
|
3200
|
-
YY_FATAL_ERROR( "bad buffer in
|
3434
|
+
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
|
3201
3435
|
|
3202
3436
|
/* It's okay to grow etc. this buffer, and we should throw it
|
3203
3437
|
* away when we're done.
|
@@ -3211,9 +3445,11 @@ YY_BUFFER_STATE core_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes
|
|
3211
3445
|
#define YY_EXIT_FAILURE 2
|
3212
3446
|
#endif
|
3213
3447
|
|
3214
|
-
static void yy_fatal_error (
|
3448
|
+
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
|
3215
3449
|
{
|
3216
|
-
|
3450
|
+
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3451
|
+
(void)yyg;
|
3452
|
+
//( stderr, "%s\n", msg );
|
3217
3453
|
throw std::runtime_error(msg); // YY_EXIT_FAILURE );
|
3218
3454
|
}
|
3219
3455
|
|
@@ -3224,7 +3460,7 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
|
|
3224
3460
|
do \
|
3225
3461
|
{ \
|
3226
3462
|
/* Undo effects of setting up yytext. */ \
|
3227
|
-
|
3463
|
+
yy_size_t yyless_macro_arg = (n); \
|
3228
3464
|
YY_LESS_LINENO(yyless_macro_arg);\
|
3229
3465
|
yytext[yyleng] = yyg->yy_hold_char; \
|
3230
3466
|
yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
|
@@ -3239,7 +3475,7 @@ static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner)
|
|
3239
3475
|
/** Get the user-defined data for this scanner.
|
3240
3476
|
* @param yyscanner The scanner object.
|
3241
3477
|
*/
|
3242
|
-
YY_EXTRA_TYPE
|
3478
|
+
YY_EXTRA_TYPE yyget_extra (yyscan_t yyscanner)
|
3243
3479
|
{
|
3244
3480
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3245
3481
|
return yyextra;
|
@@ -3248,10 +3484,10 @@ YY_EXTRA_TYPE core_yyget_extra (yyscan_t yyscanner)
|
|
3248
3484
|
/** Get the current line number.
|
3249
3485
|
* @param yyscanner The scanner object.
|
3250
3486
|
*/
|
3251
|
-
int
|
3487
|
+
int yyget_lineno (yyscan_t yyscanner)
|
3252
3488
|
{
|
3253
3489
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3254
|
-
|
3490
|
+
|
3255
3491
|
if (! YY_CURRENT_BUFFER)
|
3256
3492
|
return 0;
|
3257
3493
|
|
@@ -3261,10 +3497,10 @@ int core_yyget_lineno (yyscan_t yyscanner)
|
|
3261
3497
|
/** Get the current column number.
|
3262
3498
|
* @param yyscanner The scanner object.
|
3263
3499
|
*/
|
3264
|
-
int
|
3500
|
+
int yyget_column (yyscan_t yyscanner)
|
3265
3501
|
{
|
3266
3502
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3267
|
-
|
3503
|
+
|
3268
3504
|
if (! YY_CURRENT_BUFFER)
|
3269
3505
|
return 0;
|
3270
3506
|
|
@@ -3274,7 +3510,7 @@ int core_yyget_column (yyscan_t yyscanner)
|
|
3274
3510
|
/** Get the input stream.
|
3275
3511
|
* @param yyscanner The scanner object.
|
3276
3512
|
*/
|
3277
|
-
FILE *
|
3513
|
+
FILE *yyget_in (yyscan_t yyscanner)
|
3278
3514
|
{
|
3279
3515
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3280
3516
|
return yyin;
|
@@ -3283,7 +3519,7 @@ FILE *core_yyget_in (yyscan_t yyscanner)
|
|
3283
3519
|
/** Get the output stream.
|
3284
3520
|
* @param yyscanner The scanner object.
|
3285
3521
|
*/
|
3286
|
-
FILE *
|
3522
|
+
FILE *yyget_out (yyscan_t yyscanner)
|
3287
3523
|
{
|
3288
3524
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3289
3525
|
return yyout;
|
@@ -3292,7 +3528,7 @@ FILE *core_yyget_out (yyscan_t yyscanner)
|
|
3292
3528
|
/** Get the length of the current token.
|
3293
3529
|
* @param yyscanner The scanner object.
|
3294
3530
|
*/
|
3295
|
-
yy_size_t
|
3531
|
+
yy_size_t yyget_leng (yyscan_t yyscanner)
|
3296
3532
|
{
|
3297
3533
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3298
3534
|
return yyleng;
|
@@ -3302,7 +3538,7 @@ yy_size_t core_yyget_leng (yyscan_t yyscanner)
|
|
3302
3538
|
* @param yyscanner The scanner object.
|
3303
3539
|
*/
|
3304
3540
|
|
3305
|
-
char *
|
3541
|
+
char *yyget_text (yyscan_t yyscanner)
|
3306
3542
|
{
|
3307
3543
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3308
3544
|
return yytext;
|
@@ -3312,93 +3548,93 @@ char *core_yyget_text (yyscan_t yyscanner)
|
|
3312
3548
|
* @param user_defined The data to be associated with this scanner.
|
3313
3549
|
* @param yyscanner The scanner object.
|
3314
3550
|
*/
|
3315
|
-
void
|
3551
|
+
void yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
|
3316
3552
|
{
|
3317
3553
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3318
3554
|
yyextra = user_defined ;
|
3319
3555
|
}
|
3320
3556
|
|
3321
3557
|
/** Set the current line number.
|
3322
|
-
* @param
|
3558
|
+
* @param _line_number line number
|
3323
3559
|
* @param yyscanner The scanner object.
|
3324
3560
|
*/
|
3325
|
-
void
|
3561
|
+
void yyset_lineno (int _line_number , yyscan_t yyscanner)
|
3326
3562
|
{
|
3327
3563
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3328
3564
|
|
3329
3565
|
/* lineno is only valid if an input buffer exists. */
|
3330
3566
|
if (! YY_CURRENT_BUFFER )
|
3331
|
-
|
3567
|
+
YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
|
3332
3568
|
|
3333
|
-
yylineno =
|
3569
|
+
yylineno = _line_number;
|
3334
3570
|
}
|
3335
3571
|
|
3336
3572
|
/** Set the current column.
|
3337
|
-
* @param
|
3573
|
+
* @param _column_no column number
|
3338
3574
|
* @param yyscanner The scanner object.
|
3339
3575
|
*/
|
3340
|
-
void
|
3576
|
+
void yyset_column (int _column_no , yyscan_t yyscanner)
|
3341
3577
|
{
|
3342
3578
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3343
3579
|
|
3344
3580
|
/* column is only valid if an input buffer exists. */
|
3345
3581
|
if (! YY_CURRENT_BUFFER )
|
3346
|
-
|
3582
|
+
YY_FATAL_ERROR( "yyset_column called with no buffer" );
|
3347
3583
|
|
3348
|
-
yycolumn =
|
3584
|
+
yycolumn = _column_no;
|
3349
3585
|
}
|
3350
3586
|
|
3351
3587
|
/** Set the input stream. This does not discard the current
|
3352
3588
|
* input buffer.
|
3353
|
-
* @param
|
3589
|
+
* @param _in_str A readable stream.
|
3354
3590
|
* @param yyscanner The scanner object.
|
3355
|
-
* @see
|
3591
|
+
* @see yy_switch_to_buffer
|
3356
3592
|
*/
|
3357
|
-
void
|
3593
|
+
void yyset_in (FILE * _in_str , yyscan_t yyscanner)
|
3358
3594
|
{
|
3359
3595
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3360
|
-
yyin =
|
3596
|
+
yyin = _in_str ;
|
3361
3597
|
}
|
3362
3598
|
|
3363
|
-
void
|
3599
|
+
void yyset_out (FILE * _out_str , yyscan_t yyscanner)
|
3364
3600
|
{
|
3365
3601
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3366
|
-
yyout =
|
3602
|
+
yyout = _out_str ;
|
3367
3603
|
}
|
3368
3604
|
|
3369
|
-
int
|
3605
|
+
int yyget_debug (yyscan_t yyscanner)
|
3370
3606
|
{
|
3371
3607
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3372
3608
|
return yy_flex_debug;
|
3373
3609
|
}
|
3374
3610
|
|
3375
|
-
void
|
3611
|
+
void yyset_debug (int _bdebug , yyscan_t yyscanner)
|
3376
3612
|
{
|
3377
3613
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3378
|
-
yy_flex_debug =
|
3614
|
+
yy_flex_debug = _bdebug ;
|
3379
3615
|
}
|
3380
3616
|
|
3381
3617
|
/* Accessor methods for yylval and yylloc */
|
3382
3618
|
|
3383
|
-
YYSTYPE *
|
3619
|
+
YYSTYPE * yyget_lval (yyscan_t yyscanner)
|
3384
3620
|
{
|
3385
3621
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3386
3622
|
return yylval;
|
3387
3623
|
}
|
3388
3624
|
|
3389
|
-
void
|
3625
|
+
void yyset_lval (YYSTYPE * yylval_param , yyscan_t yyscanner)
|
3390
3626
|
{
|
3391
3627
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3392
3628
|
yylval = yylval_param;
|
3393
3629
|
}
|
3394
3630
|
|
3395
|
-
YYLTYPE *
|
3631
|
+
YYLTYPE *yyget_lloc (yyscan_t yyscanner)
|
3396
3632
|
{
|
3397
3633
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3398
3634
|
return yylloc;
|
3399
3635
|
}
|
3400
3636
|
|
3401
|
-
void
|
3637
|
+
void yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
|
3402
3638
|
{
|
3403
3639
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3404
3640
|
yylloc = yylloc_param;
|
@@ -3406,20 +3642,18 @@ void core_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
|
|
3406
3642
|
|
3407
3643
|
/* User-visible API */
|
3408
3644
|
|
3409
|
-
/*
|
3645
|
+
/* yylex_init is special because it creates the scanner itself, so it is
|
3410
3646
|
* the ONLY reentrant function that doesn't take the scanner as the last argument.
|
3411
3647
|
* That's why we explicitly handle the declaration, instead of using our macros.
|
3412
3648
|
*/
|
3413
|
-
|
3414
|
-
int core_yylex_init(yyscan_t* ptr_yy_globals)
|
3415
|
-
|
3649
|
+
int yylex_init(yyscan_t* ptr_yy_globals)
|
3416
3650
|
{
|
3417
3651
|
if (ptr_yy_globals == NULL){
|
3418
3652
|
errno = EINVAL;
|
3419
3653
|
return 1;
|
3420
3654
|
}
|
3421
3655
|
|
3422
|
-
*ptr_yy_globals = (yyscan_t)
|
3656
|
+
*ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
|
3423
3657
|
|
3424
3658
|
if (*ptr_yy_globals == NULL){
|
3425
3659
|
errno = ENOMEM;
|
@@ -3432,39 +3666,37 @@ int core_yylex_init(yyscan_t* ptr_yy_globals)
|
|
3432
3666
|
return yy_init_globals ( *ptr_yy_globals );
|
3433
3667
|
}
|
3434
3668
|
|
3435
|
-
/*
|
3669
|
+
/* yylex_init_extra has the same functionality as yylex_init, but follows the
|
3436
3670
|
* convention of taking the scanner as the last argument. Note however, that
|
3437
3671
|
* this is a *pointer* to a scanner, as it will be allocated by this call (and
|
3438
3672
|
* is the reason, too, why this function also must handle its own declaration).
|
3439
|
-
* The user defined value in the first argument will be available to
|
3673
|
+
* The user defined value in the first argument will be available to yyalloc in
|
3440
3674
|
* the yyextra field.
|
3441
3675
|
*/
|
3442
|
-
|
3443
|
-
int core_yylex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals )
|
3444
|
-
|
3676
|
+
int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
|
3445
3677
|
{
|
3446
3678
|
struct yyguts_t dummy_yyguts;
|
3447
3679
|
|
3448
|
-
|
3680
|
+
yyset_extra (yy_user_defined, &dummy_yyguts);
|
3449
3681
|
|
3450
3682
|
if (ptr_yy_globals == NULL){
|
3451
3683
|
errno = EINVAL;
|
3452
3684
|
return 1;
|
3453
3685
|
}
|
3454
|
-
|
3455
|
-
*ptr_yy_globals = (yyscan_t)
|
3456
|
-
|
3686
|
+
|
3687
|
+
*ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
|
3688
|
+
|
3457
3689
|
if (*ptr_yy_globals == NULL){
|
3458
3690
|
errno = ENOMEM;
|
3459
3691
|
return 1;
|
3460
3692
|
}
|
3461
|
-
|
3693
|
+
|
3462
3694
|
/* By setting to 0xAA, we expose bugs in
|
3463
3695
|
yy_init_globals. Leave at 0x00 for releases. */
|
3464
3696
|
memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
|
3465
|
-
|
3466
|
-
|
3467
|
-
|
3697
|
+
|
3698
|
+
yyset_extra (yy_user_defined, *ptr_yy_globals);
|
3699
|
+
|
3468
3700
|
return yy_init_globals ( *ptr_yy_globals );
|
3469
3701
|
}
|
3470
3702
|
|
@@ -3472,13 +3704,13 @@ static int yy_init_globals (yyscan_t yyscanner)
|
|
3472
3704
|
{
|
3473
3705
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3474
3706
|
/* Initialization is the same as for the non-reentrant scanner.
|
3475
|
-
* This function is called from
|
3707
|
+
* This function is called from yylex_destroy(), so don't allocate here.
|
3476
3708
|
*/
|
3477
3709
|
|
3478
|
-
yyg->yy_buffer_stack =
|
3710
|
+
yyg->yy_buffer_stack = NULL;
|
3479
3711
|
yyg->yy_buffer_stack_top = 0;
|
3480
3712
|
yyg->yy_buffer_stack_max = 0;
|
3481
|
-
yyg->yy_c_buf_p =
|
3713
|
+
yyg->yy_c_buf_p = NULL;
|
3482
3714
|
yyg->yy_init = 0;
|
3483
3715
|
yyg->yy_start = 0;
|
3484
3716
|
|
@@ -3487,41 +3719,46 @@ static int yy_init_globals (yyscan_t yyscanner)
|
|
3487
3719
|
yyg->yy_start_stack = NULL;
|
3488
3720
|
|
3489
3721
|
/* Defined in main.c */
|
3490
|
-
|
3491
|
-
|
3722
|
+
#ifdef YY_STDINIT
|
3723
|
+
yyin = stdin;
|
3724
|
+
yyout = stdout;
|
3725
|
+
#else
|
3726
|
+
yyin = NULL;
|
3727
|
+
yyout = NULL;
|
3728
|
+
#endif
|
3492
3729
|
|
3493
3730
|
/* For future reference: Set errno on error, since we are called by
|
3494
|
-
*
|
3731
|
+
* yylex_init()
|
3495
3732
|
*/
|
3496
3733
|
return 0;
|
3497
3734
|
}
|
3498
3735
|
|
3499
|
-
/*
|
3500
|
-
int
|
3736
|
+
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
|
3737
|
+
int yylex_destroy (yyscan_t yyscanner)
|
3501
3738
|
{
|
3502
3739
|
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3503
3740
|
|
3504
3741
|
/* Pop the buffer stack, destroying each element. */
|
3505
3742
|
while(YY_CURRENT_BUFFER){
|
3506
|
-
|
3743
|
+
yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
|
3507
3744
|
YY_CURRENT_BUFFER_LVALUE = NULL;
|
3508
|
-
|
3745
|
+
yypop_buffer_state(yyscanner);
|
3509
3746
|
}
|
3510
3747
|
|
3511
3748
|
/* Destroy the stack itself. */
|
3512
|
-
|
3749
|
+
yyfree(yyg->yy_buffer_stack , yyscanner);
|
3513
3750
|
yyg->yy_buffer_stack = NULL;
|
3514
3751
|
|
3515
3752
|
/* Destroy the start condition stack. */
|
3516
|
-
|
3753
|
+
yyfree( yyg->yy_start_stack , yyscanner );
|
3517
3754
|
yyg->yy_start_stack = NULL;
|
3518
3755
|
|
3519
3756
|
/* Reset the globals. This is important in a non-reentrant scanner so the next time
|
3520
|
-
*
|
3757
|
+
* yylex() is called, initialization will occur. */
|
3521
3758
|
yy_init_globals( yyscanner);
|
3522
3759
|
|
3523
3760
|
/* Destroy the main struct (reentrant only). */
|
3524
|
-
|
3761
|
+
yyfree ( yyscanner , yyscanner );
|
3525
3762
|
yyscanner = NULL;
|
3526
3763
|
return 0;
|
3527
3764
|
}
|
@@ -3531,8 +3768,11 @@ int core_yylex_destroy (yyscan_t yyscanner)
|
|
3531
3768
|
*/
|
3532
3769
|
|
3533
3770
|
#ifndef yytext_ptr
|
3534
|
-
static void yy_flex_strncpy (char* s1,
|
3771
|
+
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
|
3535
3772
|
{
|
3773
|
+
struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
|
3774
|
+
(void)yyg;
|
3775
|
+
|
3536
3776
|
int i;
|
3537
3777
|
for ( i = 0; i < n; ++i )
|
3538
3778
|
s1[i] = s2[i];
|
@@ -3540,7 +3780,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yysca
|
|
3540
3780
|
#endif
|
3541
3781
|
|
3542
3782
|
#ifdef YY_NEED_STRLEN
|
3543
|
-
static int yy_flex_strlen (
|
3783
|
+
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
|
3544
3784
|
{
|
3545
3785
|
int n;
|
3546
3786
|
for ( n = 0; s[n]; ++n )
|
@@ -3555,11 +3795,10 @@ static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner)
|
|
3555
3795
|
#line 1089 "third_party/libpg_query/scan.l"
|
3556
3796
|
|
3557
3797
|
|
3558
|
-
|
3559
3798
|
/* LCOV_EXCL_STOP */
|
3560
3799
|
|
3561
3800
|
/*
|
3562
|
-
* Arrange access to yyextra for subroutines of the main
|
3801
|
+
* Arrange access to yyextra for subroutines of the main yylex() function.
|
3563
3802
|
* We expect each subroutine to have a yyscanner parameter. Rather than
|
3564
3803
|
* use the yyget_xxx functions, which might or might not get inlined by the
|
3565
3804
|
* compiler, we cheat just a bit and cast yyscanner to the right type.
|
@@ -3604,7 +3843,7 @@ scanner_errposition(int location, core_yyscan_t yyscanner)
|
|
3604
3843
|
* Report a lexer or grammar error.
|
3605
3844
|
*
|
3606
3845
|
* The message's cursor position is whatever YYLLOC was last set to,
|
3607
|
-
* ie, the start of the current token if called within
|
3846
|
+
* ie, the start of the current token if called within yylex(), or the
|
3608
3847
|
* most recently lexed token if called from the grammar.
|
3609
3848
|
* This is OK for syntax error messages from the Bison parser, because Bison
|
3610
3849
|
* parsers report error as soon as the first unparsable token is reached.
|
@@ -3647,8 +3886,8 @@ scanner_init(const char *str,
|
|
3647
3886
|
PGSize slen = strlen(str);
|
3648
3887
|
yyscan_t scanner;
|
3649
3888
|
|
3650
|
-
if (
|
3651
|
-
elog(ERROR, "
|
3889
|
+
if (yylex_init(&scanner) != 0)
|
3890
|
+
elog(ERROR, "yylex_init() failed: %m");
|
3652
3891
|
|
3653
3892
|
core_yyset_extra(yyext, scanner);
|
3654
3893
|
|
@@ -3666,7 +3905,7 @@ scanner_init(const char *str,
|
|
3666
3905
|
yyext->scanbuflen = slen;
|
3667
3906
|
memcpy(yyext->scanbuf, str, slen);
|
3668
3907
|
yyext->scanbuf[slen] = yyext->scanbuf[slen + 1] = YY_END_OF_BUFFER_CHAR;
|
3669
|
-
|
3908
|
+
yy_scan_buffer(yyext->scanbuf, slen + 2, scanner);
|
3670
3909
|
|
3671
3910
|
/* initialize literal buffer to a reasonable but expansible size */
|
3672
3911
|
yyext->literalalloc = 1024;
|
@@ -3684,7 +3923,7 @@ void
|
|
3684
3923
|
scanner_finish(core_yyscan_t yyscanner)
|
3685
3924
|
{
|
3686
3925
|
/*
|
3687
|
-
* We don't bother to call
|
3926
|
+
* We don't bother to call yylex_destroy(), because all it would do is
|
3688
3927
|
* pfree a small amount of control storage. It's cheaper to leak the
|
3689
3928
|
* storage until the parsing context is destroyed. The amount of space
|
3690
3929
|
* involved is usually negligible compared to the output parse tree
|