duckdb 1.0.1-dev22.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.
Files changed (1389) hide show
  1. package/.github/workflows/NodeJS.yml +1 -1
  2. package/binding.gyp +41 -0
  3. package/package.json +1 -1
  4. package/src/duckdb/extension/icu/icu-dateadd.cpp +4 -2
  5. package/src/duckdb/extension/icu/icu-datefunc.cpp +6 -2
  6. package/src/duckdb/extension/icu/icu-datesub.cpp +13 -2
  7. package/src/duckdb/extension/icu/icu-strptime.cpp +6 -6
  8. package/src/duckdb/extension/icu/icu-table-range.cpp +92 -73
  9. package/src/duckdb/extension/icu/icu-timebucket.cpp +12 -2
  10. package/src/duckdb/extension/icu/icu-timezone.cpp +3 -3
  11. package/src/duckdb/extension/icu/icu_extension.cpp +61 -9
  12. package/src/duckdb/extension/json/include/json_executors.hpp +20 -23
  13. package/src/duckdb/extension/json/include/json_functions.hpp +4 -0
  14. package/src/duckdb/extension/json/include/json_scan.hpp +6 -2
  15. package/src/duckdb/extension/json/include/json_structure.hpp +12 -9
  16. package/src/duckdb/extension/json/json_common.cpp +66 -10
  17. package/src/duckdb/extension/json/json_extension.cpp +13 -5
  18. package/src/duckdb/extension/json/json_functions/json_array_length.cpp +1 -1
  19. package/src/duckdb/extension/json/json_functions/json_create.cpp +21 -4
  20. package/src/duckdb/extension/json/json_functions/json_exists.cpp +32 -0
  21. package/src/duckdb/extension/json/json_functions/json_extract.cpp +2 -2
  22. package/src/duckdb/extension/json/json_functions/json_keys.cpp +1 -1
  23. package/src/duckdb/extension/json/json_functions/json_pretty.cpp +32 -0
  24. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +5 -1
  25. package/src/duckdb/extension/json/json_functions/json_structure.cpp +305 -94
  26. package/src/duckdb/extension/json/json_functions/json_transform.cpp +1 -1
  27. package/src/duckdb/extension/json/json_functions/json_type.cpp +3 -3
  28. package/src/duckdb/extension/json/json_functions/json_value.cpp +42 -0
  29. package/src/duckdb/extension/json/json_functions/read_json.cpp +16 -2
  30. package/src/duckdb/extension/json/json_functions/read_json_objects.cpp +3 -2
  31. package/src/duckdb/extension/json/json_functions.cpp +5 -1
  32. package/src/duckdb/extension/json/json_scan.cpp +13 -12
  33. package/src/duckdb/extension/json/serialize_json.cpp +5 -3
  34. package/src/duckdb/extension/parquet/column_reader.cpp +206 -43
  35. package/src/duckdb/extension/parquet/column_writer.cpp +133 -62
  36. package/src/duckdb/extension/parquet/geo_parquet.cpp +391 -0
  37. package/src/duckdb/extension/parquet/include/boolean_column_reader.hpp +16 -5
  38. package/src/duckdb/extension/parquet/include/column_reader.hpp +37 -12
  39. package/src/duckdb/extension/parquet/include/column_writer.hpp +10 -11
  40. package/src/duckdb/extension/parquet/include/expression_column_reader.hpp +52 -0
  41. package/src/duckdb/extension/parquet/include/geo_parquet.hpp +139 -0
  42. package/src/duckdb/extension/parquet/include/parquet_crypto.hpp +13 -8
  43. package/src/duckdb/extension/parquet/include/parquet_decimal_utils.hpp +3 -0
  44. package/src/duckdb/extension/parquet/include/parquet_file_metadata_cache.hpp +7 -3
  45. package/src/duckdb/extension/parquet/include/parquet_reader.hpp +55 -8
  46. package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +3 -3
  47. package/src/duckdb/extension/parquet/include/parquet_rle_bp_encoder.hpp +1 -1
  48. package/src/duckdb/extension/parquet/include/parquet_timestamp.hpp +8 -0
  49. package/src/duckdb/extension/parquet/include/parquet_writer.hpp +21 -7
  50. package/src/duckdb/extension/parquet/include/resizable_buffer.hpp +33 -11
  51. package/src/duckdb/extension/parquet/include/string_column_reader.hpp +5 -2
  52. package/src/duckdb/extension/parquet/include/templated_column_reader.hpp +48 -14
  53. package/src/duckdb/extension/parquet/parquet_crypto.cpp +109 -61
  54. package/src/duckdb/extension/parquet/parquet_extension.cpp +305 -72
  55. package/src/duckdb/extension/parquet/parquet_metadata.cpp +4 -4
  56. package/src/duckdb/extension/parquet/parquet_reader.cpp +151 -40
  57. package/src/duckdb/extension/parquet/parquet_statistics.cpp +50 -16
  58. package/src/duckdb/extension/parquet/parquet_timestamp.cpp +42 -1
  59. package/src/duckdb/extension/parquet/parquet_writer.cpp +67 -75
  60. package/src/duckdb/extension/parquet/serialize_parquet.cpp +3 -1
  61. package/src/duckdb/extension/parquet/zstd_file_system.cpp +5 -1
  62. package/src/duckdb/src/catalog/catalog.cpp +14 -16
  63. package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +14 -11
  64. package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +39 -19
  65. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +92 -78
  66. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +10 -2
  67. package/src/duckdb/src/catalog/catalog_entry/macro_catalog_entry.cpp +10 -3
  68. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +3 -3
  69. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +7 -7
  70. package/src/duckdb/src/catalog/catalog_entry.cpp +6 -3
  71. package/src/duckdb/src/catalog/catalog_set.cpp +14 -19
  72. package/src/duckdb/src/catalog/default/default_functions.cpp +179 -166
  73. package/src/duckdb/src/catalog/default/default_generator.cpp +24 -0
  74. package/src/duckdb/src/catalog/default/default_schemas.cpp +4 -3
  75. package/src/duckdb/src/catalog/default/default_table_functions.cpp +148 -0
  76. package/src/duckdb/src/catalog/default/default_views.cpp +7 -3
  77. package/src/duckdb/src/catalog/duck_catalog.cpp +7 -1
  78. package/src/duckdb/src/common/adbc/adbc.cpp +120 -58
  79. package/src/duckdb/src/common/allocator.cpp +71 -6
  80. package/src/duckdb/src/common/arrow/appender/bool_data.cpp +8 -7
  81. package/src/duckdb/src/common/arrow/appender/fixed_size_list_data.cpp +1 -1
  82. package/src/duckdb/src/common/arrow/appender/union_data.cpp +4 -5
  83. package/src/duckdb/src/common/arrow/arrow_appender.cpp +55 -21
  84. package/src/duckdb/src/common/arrow/arrow_converter.cpp +85 -10
  85. package/src/duckdb/src/common/arrow/arrow_merge_event.cpp +142 -0
  86. package/src/duckdb/src/common/arrow/arrow_query_result.cpp +56 -0
  87. package/src/duckdb/src/common/arrow/physical_arrow_batch_collector.cpp +37 -0
  88. package/src/duckdb/src/common/arrow/physical_arrow_collector.cpp +128 -0
  89. package/src/duckdb/src/common/arrow/schema_metadata.cpp +101 -0
  90. package/src/duckdb/src/common/cgroups.cpp +189 -0
  91. package/src/duckdb/src/common/compressed_file_system.cpp +6 -3
  92. package/src/duckdb/src/common/encryption_state.cpp +38 -0
  93. package/src/duckdb/src/common/enum_util.cpp +682 -14
  94. package/src/duckdb/src/common/enums/file_compression_type.cpp +24 -0
  95. package/src/duckdb/src/common/enums/metric_type.cpp +208 -0
  96. package/src/duckdb/src/common/enums/optimizer_type.cpp +8 -2
  97. package/src/duckdb/src/common/enums/physical_operator_type.cpp +2 -0
  98. package/src/duckdb/src/common/enums/relation_type.cpp +4 -0
  99. package/src/duckdb/src/common/enums/statement_type.cpp +15 -0
  100. package/src/duckdb/src/common/error_data.cpp +22 -20
  101. package/src/duckdb/src/common/exception/binder_exception.cpp +5 -0
  102. package/src/duckdb/src/common/exception.cpp +11 -1
  103. package/src/duckdb/src/common/extra_type_info.cpp +3 -0
  104. package/src/duckdb/src/common/file_buffer.cpp +1 -1
  105. package/src/duckdb/src/common/file_system.cpp +25 -3
  106. package/src/duckdb/src/common/filename_pattern.cpp +1 -0
  107. package/src/duckdb/src/common/fsst.cpp +15 -14
  108. package/src/duckdb/src/common/gzip_file_system.cpp +3 -1
  109. package/src/duckdb/src/common/hive_partitioning.cpp +103 -43
  110. package/src/duckdb/src/common/http_util.cpp +25 -0
  111. package/src/duckdb/src/common/local_file_system.cpp +48 -27
  112. package/src/duckdb/src/common/multi_file_list.cpp +113 -22
  113. package/src/duckdb/src/common/multi_file_reader.cpp +59 -58
  114. package/src/duckdb/src/common/operator/cast_operators.cpp +133 -34
  115. package/src/duckdb/src/common/operator/string_cast.cpp +42 -11
  116. package/src/duckdb/src/common/progress_bar/progress_bar.cpp +2 -2
  117. package/src/duckdb/src/common/progress_bar/terminal_progress_bar_display.cpp +1 -1
  118. package/src/duckdb/src/common/radix_partitioning.cpp +31 -21
  119. package/src/duckdb/src/common/random_engine.cpp +4 -0
  120. package/src/duckdb/src/common/re2_regex.cpp +47 -12
  121. package/src/duckdb/src/common/render_tree.cpp +243 -0
  122. package/src/duckdb/src/common/row_operations/row_aggregate.cpp +1 -1
  123. package/src/duckdb/src/common/row_operations/row_gather.cpp +2 -2
  124. package/src/duckdb/src/common/row_operations/row_matcher.cpp +58 -5
  125. package/src/duckdb/src/common/row_operations/row_radix_scatter.cpp +79 -43
  126. package/src/duckdb/src/common/serializer/binary_deserializer.cpp +1 -1
  127. package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +6 -4
  128. package/src/duckdb/src/common/serializer/buffered_file_writer.cpp +18 -9
  129. package/src/duckdb/src/common/serializer/memory_stream.cpp +1 -0
  130. package/src/duckdb/src/common/sort/partition_state.cpp +33 -18
  131. package/src/duckdb/src/common/sort/radix_sort.cpp +22 -15
  132. package/src/duckdb/src/common/sort/sort_state.cpp +19 -16
  133. package/src/duckdb/src/common/sort/sorted_block.cpp +11 -10
  134. package/src/duckdb/src/common/string_util.cpp +167 -10
  135. package/src/duckdb/src/common/tree_renderer/graphviz_tree_renderer.cpp +108 -0
  136. package/src/duckdb/src/common/tree_renderer/html_tree_renderer.cpp +267 -0
  137. package/src/duckdb/src/common/tree_renderer/json_tree_renderer.cpp +116 -0
  138. package/src/duckdb/src/common/tree_renderer/text_tree_renderer.cpp +482 -0
  139. package/src/duckdb/src/common/tree_renderer/tree_renderer.cpp +12 -0
  140. package/src/duckdb/src/common/tree_renderer.cpp +16 -508
  141. package/src/duckdb/src/common/types/batched_data_collection.cpp +78 -9
  142. package/src/duckdb/src/common/types/bit.cpp +24 -22
  143. package/src/duckdb/src/common/types/blob.cpp +15 -11
  144. package/src/duckdb/src/common/types/column/column_data_allocator.cpp +18 -9
  145. package/src/duckdb/src/common/types/column/column_data_collection.cpp +4 -4
  146. package/src/duckdb/src/common/types/column/column_data_collection_segment.cpp +3 -4
  147. package/src/duckdb/src/common/types/column/column_data_consumer.cpp +2 -2
  148. package/src/duckdb/src/common/types/column/partitioned_column_data.cpp +70 -21
  149. package/src/duckdb/src/common/types/data_chunk.cpp +10 -1
  150. package/src/duckdb/src/common/types/date.cpp +8 -19
  151. package/src/duckdb/src/common/types/decimal.cpp +3 -2
  152. package/src/duckdb/src/common/types/hugeint.cpp +11 -3
  153. package/src/duckdb/src/common/types/hyperloglog.cpp +212 -227
  154. package/src/duckdb/src/common/types/interval.cpp +1 -1
  155. package/src/duckdb/src/common/types/list_segment.cpp +83 -49
  156. package/src/duckdb/src/common/types/row/partitioned_tuple_data.cpp +22 -83
  157. package/src/duckdb/src/common/types/row/row_data_collection.cpp +2 -2
  158. package/src/duckdb/src/common/types/row/row_data_collection_scanner.cpp +20 -4
  159. package/src/duckdb/src/common/types/row/tuple_data_allocator.cpp +28 -7
  160. package/src/duckdb/src/common/types/row/tuple_data_collection.cpp +29 -14
  161. package/src/duckdb/src/common/types/row/tuple_data_scatter_gather.cpp +152 -102
  162. package/src/duckdb/src/common/types/row/tuple_data_segment.cpp +4 -1
  163. package/src/duckdb/src/common/types/selection_vector.cpp +17 -1
  164. package/src/duckdb/src/common/types/time.cpp +62 -31
  165. package/src/duckdb/src/common/types/timestamp.cpp +70 -12
  166. package/src/duckdb/src/common/types/uuid.cpp +1 -1
  167. package/src/duckdb/src/common/types/validity_mask.cpp +40 -5
  168. package/src/duckdb/src/common/types/value.cpp +50 -8
  169. package/src/duckdb/src/common/types/varint.cpp +295 -0
  170. package/src/duckdb/src/common/types/vector.cpp +165 -54
  171. package/src/duckdb/src/common/types/vector_buffer.cpp +5 -4
  172. package/src/duckdb/src/common/types.cpp +106 -26
  173. package/src/duckdb/src/common/vector_operations/vector_copy.cpp +13 -25
  174. package/src/duckdb/src/common/vector_operations/vector_hash.cpp +6 -0
  175. package/src/duckdb/src/common/virtual_file_system.cpp +3 -3
  176. package/src/duckdb/src/core_functions/aggregate/distributive/approx_count.cpp +35 -82
  177. package/src/duckdb/src/core_functions/aggregate/distributive/arg_min_max.cpp +283 -46
  178. package/src/duckdb/src/core_functions/aggregate/distributive/bitagg.cpp +4 -4
  179. package/src/duckdb/src/core_functions/aggregate/distributive/entropy.cpp +3 -2
  180. package/src/duckdb/src/core_functions/aggregate/distributive/minmax.cpp +226 -338
  181. package/src/duckdb/src/core_functions/aggregate/distributive/sum.cpp +2 -0
  182. package/src/duckdb/src/core_functions/aggregate/holistic/approx_top_k.cpp +388 -0
  183. package/src/duckdb/src/core_functions/aggregate/holistic/approximate_quantile.cpp +63 -21
  184. package/src/duckdb/src/core_functions/aggregate/holistic/mad.cpp +330 -0
  185. package/src/duckdb/src/core_functions/aggregate/holistic/mode.cpp +136 -97
  186. package/src/duckdb/src/core_functions/aggregate/holistic/quantile.cpp +601 -1485
  187. package/src/duckdb/src/core_functions/aggregate/nested/binned_histogram.cpp +405 -0
  188. package/src/duckdb/src/core_functions/aggregate/nested/histogram.cpp +136 -165
  189. package/src/duckdb/src/core_functions/function_list.cpp +35 -8
  190. package/src/duckdb/src/core_functions/lambda_functions.cpp +5 -7
  191. package/src/duckdb/src/core_functions/scalar/array/array_functions.cpp +172 -198
  192. package/src/duckdb/src/core_functions/scalar/blob/create_sort_key.cpp +341 -54
  193. package/src/duckdb/src/core_functions/scalar/date/date_diff.cpp +2 -2
  194. package/src/duckdb/src/core_functions/scalar/date/date_part.cpp +89 -29
  195. package/src/duckdb/src/core_functions/scalar/date/date_trunc.cpp +1 -1
  196. package/src/duckdb/src/core_functions/scalar/date/make_date.cpp +2 -2
  197. package/src/duckdb/src/core_functions/scalar/date/strftime.cpp +133 -71
  198. package/src/duckdb/src/core_functions/scalar/date/to_interval.cpp +1 -1
  199. package/src/duckdb/src/core_functions/scalar/enum/enum_functions.cpp +1 -1
  200. package/src/duckdb/src/core_functions/scalar/generic/can_implicitly_cast.cpp +40 -0
  201. package/src/duckdb/src/core_functions/scalar/generic/error.cpp +1 -1
  202. package/src/duckdb/src/core_functions/scalar/generic/least.cpp +161 -58
  203. package/src/duckdb/src/core_functions/scalar/generic/typeof.cpp +13 -0
  204. package/src/duckdb/src/core_functions/scalar/list/array_slice.cpp +1 -1
  205. package/src/duckdb/src/core_functions/scalar/list/list_aggregates.cpp +59 -75
  206. package/src/duckdb/src/core_functions/scalar/list/list_distance.cpp +93 -40
  207. package/src/duckdb/src/core_functions/scalar/list/list_has_any_or_all.cpp +227 -0
  208. package/src/duckdb/src/core_functions/scalar/list/list_reduce.cpp +20 -19
  209. package/src/duckdb/src/core_functions/scalar/list/list_sort.cpp +0 -2
  210. package/src/duckdb/src/core_functions/scalar/list/list_value.cpp +106 -8
  211. package/src/duckdb/src/core_functions/scalar/map/map_contains.cpp +56 -0
  212. package/src/duckdb/src/core_functions/scalar/map/map_extract.cpp +73 -118
  213. package/src/duckdb/src/core_functions/scalar/math/numeric.cpp +98 -2
  214. package/src/duckdb/src/core_functions/scalar/operators/bitwise.cpp +1 -2
  215. package/src/duckdb/src/core_functions/scalar/random/setseed.cpp +1 -1
  216. package/src/duckdb/src/core_functions/scalar/string/bar.cpp +1 -1
  217. package/src/duckdb/src/core_functions/scalar/string/hex.cpp +5 -1
  218. package/src/duckdb/src/core_functions/scalar/string/md5.cpp +10 -37
  219. package/src/duckdb/src/core_functions/scalar/string/printf.cpp +18 -2
  220. package/src/duckdb/src/core_functions/scalar/string/repeat.cpp +45 -0
  221. package/src/duckdb/src/core_functions/scalar/string/reverse.cpp +4 -5
  222. package/src/duckdb/src/core_functions/scalar/string/sha1.cpp +35 -0
  223. package/src/duckdb/src/core_functions/scalar/string/sha256.cpp +5 -2
  224. package/src/duckdb/src/core_functions/scalar/string/url_encode.cpp +49 -0
  225. package/src/duckdb/src/core_functions/scalar/struct/struct_pack.cpp +1 -2
  226. package/src/duckdb/src/core_functions/scalar/union/union_extract.cpp +4 -2
  227. package/src/duckdb/src/execution/adaptive_filter.cpp +30 -11
  228. package/src/duckdb/src/execution/aggregate_hashtable.cpp +13 -18
  229. package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +4 -9
  230. package/src/duckdb/src/execution/expression_executor.cpp +1 -1
  231. package/src/duckdb/src/execution/index/art/art.cpp +683 -670
  232. package/src/duckdb/src/execution/index/art/art_key.cpp +121 -38
  233. package/src/duckdb/src/execution/index/art/base_leaf.cpp +168 -0
  234. package/src/duckdb/src/execution/index/art/base_node.cpp +163 -0
  235. package/src/duckdb/src/execution/index/art/iterator.cpp +148 -77
  236. package/src/duckdb/src/execution/index/art/leaf.cpp +159 -263
  237. package/src/duckdb/src/execution/index/art/node.cpp +493 -247
  238. package/src/duckdb/src/execution/index/art/node256.cpp +31 -91
  239. package/src/duckdb/src/execution/index/art/node256_leaf.cpp +71 -0
  240. package/src/duckdb/src/execution/index/art/node48.cpp +75 -143
  241. package/src/duckdb/src/execution/index/art/prefix.cpp +424 -244
  242. package/src/duckdb/src/execution/index/bound_index.cpp +7 -1
  243. package/src/duckdb/src/execution/index/fixed_size_allocator.cpp +22 -18
  244. package/src/duckdb/src/execution/index/fixed_size_buffer.cpp +22 -73
  245. package/src/duckdb/src/execution/join_hashtable.cpp +637 -179
  246. package/src/duckdb/src/execution/operator/aggregate/aggregate_object.cpp +4 -4
  247. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +15 -10
  248. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +13 -8
  249. package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +525 -132
  250. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +147 -138
  251. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +531 -312
  252. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer.cpp +1 -1
  253. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_buffer_manager.cpp +4 -3
  254. package/src/duckdb/src/execution/operator/csv_scanner/buffer_manager/csv_file_handle.cpp +9 -2
  255. package/src/duckdb/src/execution/operator/csv_scanner/scanner/base_scanner.cpp +13 -17
  256. package/src/duckdb/src/execution/operator/csv_scanner/scanner/column_count_scanner.cpp +60 -16
  257. package/src/duckdb/src/execution/operator/csv_scanner/scanner/csv_schema.cpp +105 -0
  258. package/src/duckdb/src/execution/operator/csv_scanner/scanner/scanner_boundary.cpp +24 -24
  259. package/src/duckdb/src/execution/operator/csv_scanner/scanner/skip_scanner.cpp +25 -2
  260. package/src/duckdb/src/execution/operator/csv_scanner/scanner/string_value_scanner.cpp +275 -112
  261. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/csv_sniffer.cpp +106 -11
  262. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/dialect_detection.cpp +253 -115
  263. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/header_detection.cpp +93 -52
  264. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_detection.cpp +116 -76
  265. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_refinement.cpp +29 -14
  266. package/src/duckdb/src/execution/operator/csv_scanner/sniffer/type_replacement.cpp +1 -1
  267. package/src/duckdb/src/execution/operator/csv_scanner/state_machine/csv_state_machine_cache.cpp +70 -26
  268. package/src/duckdb/src/execution/operator/csv_scanner/table_function/csv_file_scanner.cpp +81 -60
  269. package/src/duckdb/src/execution/operator/csv_scanner/table_function/global_csv_state.cpp +88 -50
  270. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_error.cpp +161 -51
  271. package/src/duckdb/src/execution/operator/csv_scanner/util/csv_reader_options.cpp +59 -17
  272. package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +5 -5
  273. package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +0 -21
  274. package/src/duckdb/src/execution/operator/helper/physical_buffered_batch_collector.cpp +109 -0
  275. package/src/duckdb/src/execution/operator/helper/physical_buffered_collector.cpp +5 -13
  276. package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +1 -1
  277. package/src/duckdb/src/execution/operator/helper/physical_load.cpp +12 -4
  278. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +0 -16
  279. package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +4 -2
  280. package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +5 -0
  281. package/src/duckdb/src/execution/operator/helper/physical_result_collector.cpp +3 -1
  282. package/src/duckdb/src/execution/operator/helper/physical_set_variable.cpp +39 -0
  283. package/src/duckdb/src/execution/operator/helper/physical_streaming_sample.cpp +4 -2
  284. package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +16 -5
  285. package/src/duckdb/src/execution/operator/join/outer_join_marker.cpp +1 -1
  286. package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +1 -1
  287. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +1 -1
  288. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +5 -4
  289. package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +59 -21
  290. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +7 -4
  291. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +333 -176
  292. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +57 -34
  293. package/src/duckdb/src/execution/operator/join/physical_join.cpp +16 -8
  294. package/src/duckdb/src/execution/operator/join/physical_left_delim_join.cpp +10 -4
  295. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +2 -5
  296. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +3 -3
  297. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +5 -5
  298. package/src/duckdb/src/execution/operator/join/physical_right_delim_join.cpp +7 -2
  299. package/src/duckdb/src/execution/operator/order/physical_order.cpp +17 -12
  300. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +12 -9
  301. package/src/duckdb/src/execution/operator/persistent/physical_batch_copy_to_file.cpp +35 -17
  302. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +17 -11
  303. package/src/duckdb/src/execution/operator/persistent/physical_copy_database.cpp +5 -1
  304. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +156 -47
  305. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +10 -2
  306. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +1 -3
  307. package/src/duckdb/src/execution/operator/projection/physical_pivot.cpp +2 -2
  308. package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +13 -6
  309. package/src/duckdb/src/execution/operator/projection/physical_tableinout_function.cpp +22 -3
  310. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +19 -3
  311. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +37 -22
  312. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +77 -21
  313. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +27 -55
  314. package/src/duckdb/src/execution/operator/schema/physical_create_art_index.cpp +41 -44
  315. package/src/duckdb/src/execution/operator/set/physical_cte.cpp +4 -6
  316. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +4 -6
  317. package/src/duckdb/src/execution/operator/set/physical_union.cpp +18 -4
  318. package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +3 -2
  319. package/src/duckdb/src/execution/physical_operator.cpp +45 -4
  320. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +18 -7
  321. package/src/duckdb/src/execution/physical_plan/plan_copy_to_file.cpp +8 -3
  322. package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +13 -6
  323. package/src/duckdb/src/execution/physical_plan/plan_explain.cpp +3 -3
  324. package/src/duckdb/src/execution/physical_plan/plan_get.cpp +111 -19
  325. package/src/duckdb/src/execution/physical_plan/plan_limit.cpp +19 -2
  326. package/src/duckdb/src/execution/physical_plan/plan_set.cpp +9 -0
  327. package/src/duckdb/src/execution/physical_plan/plan_window.cpp +3 -1
  328. package/src/duckdb/src/execution/physical_plan_generator.cpp +3 -3
  329. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +49 -49
  330. package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
  331. package/src/duckdb/src/execution/window_executor.cpp +556 -318
  332. package/src/duckdb/src/execution/window_segment_tree.cpp +1058 -485
  333. package/src/duckdb/src/function/aggregate/distributive/count.cpp +5 -5
  334. package/src/duckdb/src/function/aggregate/distributive/first.cpp +92 -95
  335. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +10 -9
  336. package/src/duckdb/src/function/aggregate_function.cpp +8 -0
  337. package/src/duckdb/src/function/cast/cast_function_set.cpp +10 -1
  338. package/src/duckdb/src/function/cast/decimal_cast.cpp +10 -1
  339. package/src/duckdb/src/function/cast/default_casts.cpp +2 -0
  340. package/src/duckdb/src/function/cast/numeric_casts.cpp +3 -0
  341. package/src/duckdb/src/function/cast/string_cast.cpp +8 -5
  342. package/src/duckdb/src/function/cast/time_casts.cpp +2 -2
  343. package/src/duckdb/src/function/cast/union_casts.cpp +1 -1
  344. package/src/duckdb/src/function/cast/varint_casts.cpp +283 -0
  345. package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +3 -1
  346. package/src/duckdb/src/function/cast_rules.cpp +104 -15
  347. package/src/duckdb/src/function/compression_config.cpp +35 -33
  348. package/src/duckdb/src/function/copy_function.cpp +27 -0
  349. package/src/duckdb/src/function/function_binder.cpp +39 -11
  350. package/src/duckdb/src/function/macro_function.cpp +75 -32
  351. package/src/duckdb/src/function/pragma/pragma_queries.cpp +10 -0
  352. package/src/duckdb/src/function/scalar/compressed_materialization/compress_string.cpp +1 -0
  353. package/src/duckdb/src/function/scalar/generic/binning.cpp +507 -0
  354. package/src/duckdb/src/function/scalar/generic/getvariable.cpp +58 -0
  355. package/src/duckdb/src/function/scalar/generic_functions.cpp +1 -0
  356. package/src/duckdb/src/function/scalar/list/contains_or_position.cpp +33 -47
  357. package/src/duckdb/src/function/scalar/list/list_extract.cpp +70 -143
  358. package/src/duckdb/src/function/scalar/list/list_resize.cpp +93 -84
  359. package/src/duckdb/src/function/scalar/list/list_zip.cpp +3 -0
  360. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +24 -11
  361. package/src/duckdb/src/function/scalar/sequence/nextval.cpp +4 -4
  362. package/src/duckdb/src/function/scalar/strftime_format.cpp +196 -57
  363. package/src/duckdb/src/function/scalar/string/caseconvert.cpp +9 -7
  364. package/src/duckdb/src/function/scalar/string/concat.cpp +239 -123
  365. package/src/duckdb/src/function/scalar/string/concat_ws.cpp +149 -0
  366. package/src/duckdb/src/function/scalar/string/contains.cpp +18 -7
  367. package/src/duckdb/src/function/scalar/string/like.cpp +2 -2
  368. package/src/duckdb/src/function/scalar/string/substring.cpp +6 -11
  369. package/src/duckdb/src/function/scalar/string_functions.cpp +1 -0
  370. package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +7 -3
  371. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +5 -5
  372. package/src/duckdb/src/function/scalar_function.cpp +5 -2
  373. package/src/duckdb/src/function/scalar_macro_function.cpp +2 -2
  374. package/src/duckdb/src/function/table/arrow/arrow_duck_schema.cpp +20 -39
  375. package/src/duckdb/src/function/table/arrow/arrow_type_info.cpp +135 -0
  376. package/src/duckdb/src/function/table/arrow.cpp +194 -52
  377. package/src/duckdb/src/function/table/arrow_conversion.cpp +212 -69
  378. package/src/duckdb/src/function/table/copy_csv.cpp +43 -14
  379. package/src/duckdb/src/function/table/query_function.cpp +80 -0
  380. package/src/duckdb/src/function/table/range.cpp +222 -142
  381. package/src/duckdb/src/function/table/read_csv.cpp +25 -13
  382. package/src/duckdb/src/function/table/sniff_csv.cpp +55 -35
  383. package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +141 -129
  384. package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +25 -14
  385. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +20 -14
  386. package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +15 -1
  387. package/src/duckdb/src/function/table/system/duckdb_variables.cpp +84 -0
  388. package/src/duckdb/src/function/table/system/test_all_types.cpp +1 -0
  389. package/src/duckdb/src/function/table/system/test_vector_types.cpp +33 -3
  390. package/src/duckdb/src/function/table/system_functions.cpp +1 -0
  391. package/src/duckdb/src/function/table/table_scan.cpp +45 -22
  392. package/src/duckdb/src/function/table/unnest.cpp +2 -2
  393. package/src/duckdb/src/function/table/version/pragma_version.cpp +4 -4
  394. package/src/duckdb/src/function/table_function.cpp +5 -4
  395. package/src/duckdb/src/function/table_macro_function.cpp +2 -2
  396. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +8 -4
  397. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +5 -2
  398. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +3 -0
  399. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +2 -2
  400. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/macro_catalog_entry.hpp +3 -4
  401. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +5 -5
  402. package/src/duckdb/src/include/duckdb/catalog/default/builtin_types/types.hpp +2 -1
  403. package/src/duckdb/src/include/duckdb/catalog/default/default_functions.hpp +4 -5
  404. package/src/duckdb/src/include/duckdb/catalog/default/default_generator.hpp +4 -5
  405. package/src/duckdb/src/include/duckdb/catalog/default/default_schemas.hpp +2 -1
  406. package/src/duckdb/src/include/duckdb/catalog/default/default_table_functions.hpp +47 -0
  407. package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +2 -0
  408. package/src/duckdb/src/include/duckdb/catalog/similar_catalog_entry.hpp +2 -2
  409. package/src/duckdb/src/include/duckdb/common/allocator.hpp +9 -1
  410. package/src/duckdb/src/include/duckdb/common/array_ptr.hpp +120 -0
  411. package/src/duckdb/src/include/duckdb/common/arrow/appender/append_data.hpp +37 -11
  412. package/src/duckdb/src/include/duckdb/common/arrow/appender/enum_data.hpp +9 -8
  413. package/src/duckdb/src/include/duckdb/common/arrow/appender/list.hpp +1 -0
  414. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_data.hpp +6 -4
  415. package/src/duckdb/src/include/duckdb/common/arrow/appender/list_view_data.hpp +92 -0
  416. package/src/duckdb/src/include/duckdb/common/arrow/appender/map_data.hpp +2 -2
  417. package/src/duckdb/src/include/duckdb/common/arrow/appender/scalar_data.hpp +26 -4
  418. package/src/duckdb/src/include/duckdb/common/arrow/appender/varchar_data.hpp +90 -11
  419. package/src/duckdb/src/include/duckdb/common/arrow/arrow_appender.hpp +6 -6
  420. package/src/duckdb/src/include/duckdb/common/arrow/arrow_buffer.hpp +8 -1
  421. package/src/duckdb/src/include/duckdb/common/arrow/arrow_merge_event.hpp +62 -0
  422. package/src/duckdb/src/include/duckdb/common/arrow/arrow_query_result.hpp +52 -0
  423. package/src/duckdb/src/include/duckdb/common/arrow/arrow_types_extension.hpp +42 -0
  424. package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_batch_collector.hpp +30 -0
  425. package/src/duckdb/src/include/duckdb/common/arrow/physical_arrow_collector.hpp +65 -0
  426. package/src/duckdb/src/include/duckdb/common/arrow/schema_metadata.hpp +43 -0
  427. package/src/duckdb/src/include/duckdb/common/bswap.hpp +18 -16
  428. package/src/duckdb/src/include/duckdb/common/cgroups.hpp +30 -0
  429. package/src/duckdb/src/include/duckdb/common/compressed_file_system.hpp +3 -0
  430. package/src/duckdb/src/include/duckdb/common/dl.hpp +8 -1
  431. package/src/duckdb/src/include/duckdb/common/encryption_state.hpp +48 -0
  432. package/src/duckdb/src/include/duckdb/common/enum_util.hpp +88 -0
  433. package/src/duckdb/src/include/duckdb/common/enums/checkpoint_type.hpp +2 -2
  434. package/src/duckdb/src/include/duckdb/common/enums/copy_overwrite_mode.hpp +6 -1
  435. package/src/duckdb/src/include/duckdb/common/enums/destroy_buffer_upon.hpp +21 -0
  436. package/src/duckdb/src/include/duckdb/common/enums/explain_format.hpp +17 -0
  437. package/src/duckdb/src/include/duckdb/common/enums/file_compression_type.hpp +4 -0
  438. package/src/duckdb/src/include/duckdb/common/enums/join_type.hpp +2 -2
  439. package/src/duckdb/src/include/duckdb/common/enums/metric_type.hpp +88 -0
  440. package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +6 -1
  441. package/src/duckdb/src/include/duckdb/common/enums/pending_execution_result.hpp +2 -1
  442. package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +1 -0
  443. package/src/duckdb/src/include/duckdb/common/enums/profiler_format.hpp +1 -1
  444. package/src/duckdb/src/include/duckdb/common/enums/relation_type.hpp +3 -1
  445. package/src/duckdb/src/include/duckdb/common/enums/set_scope.hpp +2 -1
  446. package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +23 -2
  447. package/src/duckdb/src/include/duckdb/common/enums/stream_execution_result.hpp +25 -0
  448. package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +2 -1
  449. package/src/duckdb/src/include/duckdb/common/enums/wal_type.hpp +1 -0
  450. package/src/duckdb/src/include/duckdb/common/error_data.hpp +5 -2
  451. package/src/duckdb/src/include/duckdb/common/exception/binder_exception.hpp +1 -0
  452. package/src/duckdb/src/include/duckdb/common/exception.hpp +20 -2
  453. package/src/duckdb/src/include/duckdb/common/extra_operator_info.hpp +12 -0
  454. package/src/duckdb/src/include/duckdb/common/file_buffer.hpp +2 -0
  455. package/src/duckdb/src/include/duckdb/common/file_open_flags.hpp +16 -0
  456. package/src/duckdb/src/include/duckdb/common/file_opener.hpp +18 -0
  457. package/src/duckdb/src/include/duckdb/common/file_system.hpp +3 -0
  458. package/src/duckdb/src/include/duckdb/common/filename_pattern.hpp +4 -0
  459. package/src/duckdb/src/include/duckdb/common/fixed_size_map.hpp +160 -96
  460. package/src/duckdb/src/include/duckdb/common/fsst.hpp +9 -2
  461. package/src/duckdb/src/include/duckdb/common/helper.hpp +22 -8
  462. package/src/duckdb/src/include/duckdb/common/hive_partitioning.hpp +16 -7
  463. package/src/duckdb/src/include/duckdb/common/http_util.hpp +19 -0
  464. package/src/duckdb/src/include/duckdb/common/insertion_order_preserving_map.hpp +19 -6
  465. package/src/duckdb/src/include/duckdb/common/limits.hpp +9 -2
  466. package/src/duckdb/src/include/duckdb/common/multi_file_list.hpp +38 -6
  467. package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +9 -2
  468. package/src/duckdb/src/include/duckdb/common/multi_file_reader_options.hpp +5 -1
  469. package/src/duckdb/src/include/duckdb/common/numeric_utils.hpp +82 -50
  470. package/src/duckdb/src/include/duckdb/common/operator/abs.hpp +11 -0
  471. package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +7 -3
  472. package/src/duckdb/src/include/duckdb/common/operator/decimal_cast_operators.hpp +23 -1
  473. package/src/duckdb/src/include/duckdb/common/operator/double_cast_operator.hpp +2 -1
  474. package/src/duckdb/src/include/duckdb/common/operator/integer_cast_operator.hpp +1 -1
  475. package/src/duckdb/src/include/duckdb/common/operator/numeric_cast.hpp +4 -0
  476. package/src/duckdb/src/include/duckdb/common/operator/string_cast.hpp +2 -0
  477. package/src/duckdb/src/include/duckdb/common/optional_ptr.hpp +10 -5
  478. package/src/duckdb/src/include/duckdb/common/optionally_owned_ptr.hpp +1 -0
  479. package/src/duckdb/src/include/duckdb/common/owning_string_map.hpp +155 -0
  480. package/src/duckdb/src/include/duckdb/common/perfect_map_set.hpp +2 -3
  481. package/src/duckdb/src/include/duckdb/common/platform.hpp +58 -0
  482. package/src/duckdb/src/include/duckdb/common/radix.hpp +172 -27
  483. package/src/duckdb/src/include/duckdb/common/radix_partitioning.hpp +5 -1
  484. package/src/duckdb/src/include/duckdb/common/random_engine.hpp +1 -0
  485. package/src/duckdb/src/include/duckdb/common/re2_regex.hpp +1 -1
  486. package/src/duckdb/src/include/duckdb/common/render_tree.hpp +77 -0
  487. package/src/duckdb/src/include/duckdb/common/row_operations/row_matcher.hpp +12 -0
  488. package/src/duckdb/src/include/duckdb/common/serializer/binary_serializer.hpp +6 -2
  489. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_writer.hpp +5 -3
  490. package/src/duckdb/src/include/duckdb/common/serializer/deserializer.hpp +15 -7
  491. package/src/duckdb/src/include/duckdb/common/serializer/memory_stream.hpp +3 -1
  492. package/src/duckdb/src/include/duckdb/common/serializer/serialization_data.hpp +245 -0
  493. package/src/duckdb/src/include/duckdb/common/serializer/serializer.hpp +10 -0
  494. package/src/duckdb/src/include/duckdb/common/sort/duckdb_pdqsort.hpp +10 -11
  495. package/src/duckdb/src/include/duckdb/common/sort/partition_state.hpp +12 -6
  496. package/src/duckdb/src/include/duckdb/common/string_util.hpp +37 -7
  497. package/src/duckdb/src/include/duckdb/common/tree_renderer/graphviz_tree_renderer.hpp +44 -0
  498. package/src/duckdb/src/include/duckdb/common/tree_renderer/html_tree_renderer.hpp +44 -0
  499. package/src/duckdb/src/include/duckdb/common/tree_renderer/json_tree_renderer.hpp +44 -0
  500. package/src/duckdb/src/include/duckdb/common/tree_renderer/text_tree_renderer.hpp +119 -0
  501. package/src/duckdb/src/include/duckdb/common/tree_renderer.hpp +9 -123
  502. package/src/duckdb/src/include/duckdb/common/type_visitor.hpp +96 -0
  503. package/src/duckdb/src/include/duckdb/common/typedefs.hpp +11 -1
  504. package/src/duckdb/src/include/duckdb/common/types/arrow_string_view_type.hpp +84 -0
  505. package/src/duckdb/src/include/duckdb/common/types/batched_data_collection.hpp +36 -1
  506. package/src/duckdb/src/include/duckdb/common/types/bit.hpp +1 -1
  507. package/src/duckdb/src/include/duckdb/common/types/cast_helpers.hpp +2 -2
  508. package/src/duckdb/src/include/duckdb/common/types/column/column_data_allocator.hpp +4 -2
  509. package/src/duckdb/src/include/duckdb/common/types/column/partitioned_column_data.hpp +52 -0
  510. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +2 -0
  511. package/src/duckdb/src/include/duckdb/common/types/date.hpp +0 -3
  512. package/src/duckdb/src/include/duckdb/common/types/date_lookup_cache.hpp +65 -0
  513. package/src/duckdb/src/include/duckdb/common/types/datetime.hpp +5 -2
  514. package/src/duckdb/src/include/duckdb/common/types/hyperloglog.hpp +49 -40
  515. package/src/duckdb/src/include/duckdb/common/types/interval.hpp +5 -1
  516. package/src/duckdb/src/include/duckdb/common/types/list_segment.hpp +2 -1
  517. package/src/duckdb/src/include/duckdb/common/types/row/partitioned_tuple_data.hpp +41 -9
  518. package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection.hpp +4 -3
  519. package/src/duckdb/src/include/duckdb/common/types/row/row_data_collection_scanner.hpp +3 -1
  520. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_allocator.hpp +4 -0
  521. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_collection.hpp +4 -0
  522. package/src/duckdb/src/include/duckdb/common/types/row/tuple_data_states.hpp +1 -1
  523. package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +4 -0
  524. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +4 -1
  525. package/src/duckdb/src/include/duckdb/common/types/time.hpp +11 -6
  526. package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +13 -3
  527. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +103 -12
  528. package/src/duckdb/src/include/duckdb/common/types/value.hpp +12 -3
  529. package/src/duckdb/src/include/duckdb/common/types/varint.hpp +107 -0
  530. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +5 -1
  531. package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +7 -2
  532. package/src/duckdb/src/include/duckdb/common/types.hpp +6 -39
  533. package/src/duckdb/src/include/duckdb/common/union_by_name.hpp +42 -10
  534. package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +29 -0
  535. package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +0 -7
  536. package/src/duckdb/src/include/duckdb/common/vector_operations/vector_operations.hpp +2 -0
  537. package/src/duckdb/src/include/duckdb/common/winapi.hpp +8 -0
  538. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/covar.hpp +8 -4
  539. package/src/duckdb/src/include/duckdb/core_functions/aggregate/algebraic/stddev.hpp +8 -4
  540. package/src/duckdb/src/include/duckdb/core_functions/aggregate/distributive_functions.hpp +4 -2
  541. package/src/duckdb/src/include/duckdb/core_functions/aggregate/histogram_helpers.hpp +99 -0
  542. package/src/duckdb/src/include/duckdb/core_functions/aggregate/holistic_functions.hpp +16 -7
  543. package/src/duckdb/src/include/duckdb/core_functions/aggregate/minmax_n_helpers.hpp +396 -0
  544. package/src/duckdb/src/include/duckdb/core_functions/aggregate/nested_functions.hpp +10 -0
  545. package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_helpers.hpp +65 -0
  546. package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_sort_tree.hpp +349 -0
  547. package/src/duckdb/src/include/duckdb/core_functions/aggregate/quantile_state.hpp +300 -0
  548. package/src/duckdb/src/include/duckdb/core_functions/aggregate/regression/regr_slope.hpp +1 -1
  549. package/src/duckdb/src/include/duckdb/core_functions/aggregate/sort_key_helpers.hpp +55 -0
  550. package/src/duckdb/src/include/duckdb/core_functions/array_kernels.hpp +107 -0
  551. package/src/duckdb/src/include/duckdb/core_functions/create_sort_key.hpp +55 -0
  552. package/src/duckdb/src/include/duckdb/core_functions/lambda_functions.hpp +1 -2
  553. package/src/duckdb/src/include/duckdb/core_functions/scalar/array_functions.hpp +24 -0
  554. package/src/duckdb/src/include/duckdb/core_functions/scalar/date_functions.hpp +9 -0
  555. package/src/duckdb/src/include/duckdb/core_functions/scalar/generic_functions.hpp +27 -0
  556. package/src/duckdb/src/include/duckdb/core_functions/scalar/list_functions.hpp +80 -8
  557. package/src/duckdb/src/include/duckdb/core_functions/scalar/map_functions.hpp +9 -0
  558. package/src/duckdb/src/include/duckdb/core_functions/scalar/math_functions.hpp +54 -0
  559. package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +30 -21
  560. package/src/duckdb/src/include/duckdb/execution/adaptive_filter.hpp +25 -14
  561. package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +2 -48
  562. package/src/duckdb/src/include/duckdb/execution/executor.hpp +25 -2
  563. package/src/duckdb/src/include/duckdb/execution/ht_entry.hpp +102 -0
  564. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +94 -101
  565. package/src/duckdb/src/include/duckdb/execution/index/art/art_key.hpp +43 -25
  566. package/src/duckdb/src/include/duckdb/execution/index/art/base_leaf.hpp +109 -0
  567. package/src/duckdb/src/include/duckdb/execution/index/art/base_node.hpp +140 -0
  568. package/src/duckdb/src/include/duckdb/execution/index/art/iterator.hpp +43 -24
  569. package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +41 -52
  570. package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +133 -74
  571. package/src/duckdb/src/include/duckdb/execution/index/art/node256.hpp +46 -29
  572. package/src/duckdb/src/include/duckdb/execution/index/art/node256_leaf.hpp +53 -0
  573. package/src/duckdb/src/include/duckdb/execution/index/art/node48.hpp +52 -35
  574. package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +96 -57
  575. package/src/duckdb/src/include/duckdb/execution/index/bound_index.hpp +9 -4
  576. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_allocator.hpp +48 -10
  577. package/src/duckdb/src/include/duckdb/execution/index/fixed_size_buffer.hpp +0 -2
  578. package/src/duckdb/src/include/duckdb/execution/index/index_pointer.hpp +4 -2
  579. package/src/duckdb/src/include/duckdb/execution/join_hashtable.hpp +114 -36
  580. package/src/duckdb/src/include/duckdb/execution/merge_sort_tree.hpp +158 -67
  581. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/aggregate_object.hpp +1 -1
  582. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +1 -1
  583. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
  584. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_streaming_window.hpp +19 -2
  585. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +1 -1
  586. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +1 -1
  587. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/ungrouped_aggregate_state.hpp +75 -0
  588. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/base_scanner.hpp +81 -23
  589. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/column_count_scanner.hpp +27 -8
  590. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_buffer_manager.hpp +2 -1
  591. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_error.hpp +31 -22
  592. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_handle.hpp +4 -2
  593. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_file_scanner.hpp +48 -5
  594. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_option.hpp +7 -3
  595. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_reader_options.hpp +22 -12
  596. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_schema.hpp +35 -0
  597. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_sniffer.hpp +81 -39
  598. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state.hpp +2 -1
  599. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine.hpp +18 -1
  600. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/csv_state_machine_cache.hpp +9 -7
  601. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/global_csv_state.hpp +5 -4
  602. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/header_value.hpp +26 -0
  603. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/scanner_boundary.hpp +6 -9
  604. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/skip_scanner.hpp +3 -0
  605. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/state_machine_options.hpp +5 -3
  606. package/src/duckdb/src/include/duckdb/execution/operator/csv_scanner/string_value_scanner.hpp +36 -19
  607. package/src/duckdb/src/include/duckdb/execution/operator/filter/physical_filter.hpp +1 -1
  608. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +21 -0
  609. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_batch_collector.hpp +53 -0
  610. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_buffered_collector.hpp +3 -0
  611. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +6 -2
  612. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +18 -0
  613. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +1 -1
  614. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_result_collector.hpp +6 -0
  615. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +2 -2
  616. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set_variable.hpp +43 -0
  617. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_streaming_sample.hpp +1 -1
  618. package/src/duckdb/src/include/duckdb/execution/operator/join/join_filter_pushdown.hpp +59 -0
  619. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +1 -1
  620. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_comparison_join.hpp +8 -1
  621. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +5 -2
  622. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +4 -2
  623. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -0
  624. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_join.hpp +1 -1
  625. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_left_delim_join.hpp +3 -1
  626. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_range_join.hpp +4 -1
  627. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_right_delim_join.hpp +3 -1
  628. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +1 -1
  629. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +1 -1
  630. package/src/duckdb/src/include/duckdb/execution/operator/persistent/batch_memory_manager.hpp +5 -37
  631. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_copy_to_file.hpp +5 -4
  632. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +8 -2
  633. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_projection.hpp +1 -1
  634. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_tableinout_function.hpp +2 -0
  635. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +9 -3
  636. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +8 -6
  637. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_art_index.hpp +2 -2
  638. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_cte.hpp +1 -1
  639. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +1 -1
  640. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +21 -6
  641. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +3 -2
  642. package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +3 -0
  643. package/src/duckdb/src/include/duckdb/execution/window_executor.hpp +137 -110
  644. package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +57 -126
  645. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +21 -4
  646. package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +1 -1
  647. package/src/duckdb/src/include/duckdb/function/compression/compression.hpp +10 -10
  648. package/src/duckdb/src/include/duckdb/function/compression_function.hpp +37 -7
  649. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +24 -11
  650. package/src/duckdb/src/include/duckdb/function/function_binder.hpp +4 -4
  651. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +41 -1
  652. package/src/duckdb/src/include/duckdb/function/macro_function.hpp +15 -5
  653. package/src/duckdb/src/include/duckdb/function/pragma/pragma_functions.hpp +1 -0
  654. package/src/duckdb/src/include/duckdb/function/replacement_scan.hpp +20 -4
  655. package/src/duckdb/src/include/duckdb/function/scalar/generic_functions.hpp +6 -0
  656. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +77 -109
  657. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +1 -1
  658. package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +6 -3
  659. package/src/duckdb/src/include/duckdb/function/scalar/strftime_format.hpp +25 -12
  660. package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +9 -8
  661. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +38 -4
  662. package/src/duckdb/src/include/duckdb/function/scalar_macro_function.hpp +1 -1
  663. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_duck_schema.hpp +11 -57
  664. package/src/duckdb/src/include/duckdb/function/table/arrow/arrow_type_info.hpp +142 -0
  665. package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_datetime_type.hpp +18 -0
  666. package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_type_info_type.hpp +7 -0
  667. package/src/duckdb/src/include/duckdb/function/table/arrow/enum/arrow_variable_size_type.hpp +10 -0
  668. package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +2 -0
  669. package/src/duckdb/src/include/duckdb/function/table/range.hpp +4 -0
  670. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +4 -1
  671. package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +4 -0
  672. package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +5 -5
  673. package/src/duckdb/src/include/duckdb/function/table_function.hpp +14 -2
  674. package/src/duckdb/src/include/duckdb/function/table_macro_function.hpp +1 -1
  675. package/src/duckdb/src/include/duckdb/main/appender.hpp +14 -4
  676. package/src/duckdb/src/include/duckdb/main/attached_database.hpp +25 -7
  677. package/src/duckdb/src/include/duckdb/main/buffered_data/batched_buffered_data.hpp +79 -0
  678. package/src/duckdb/src/include/duckdb/main/buffered_data/buffered_data.hpp +10 -20
  679. package/src/duckdb/src/include/duckdb/main/buffered_data/simple_buffered_data.hpp +11 -12
  680. package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +7 -2
  681. package/src/duckdb/src/include/duckdb/main/capi/cast/generic.hpp +1 -1
  682. package/src/duckdb/src/include/duckdb/main/capi/cast/utils.hpp +2 -2
  683. package/src/duckdb/src/include/duckdb/main/capi/extension_api.hpp +809 -0
  684. package/src/duckdb/src/include/duckdb/main/chunk_scan_state/batched_data_collection.hpp +35 -0
  685. package/src/duckdb/src/include/duckdb/main/client_config.hpp +68 -2
  686. package/src/duckdb/src/include/duckdb/main/client_context.hpp +30 -22
  687. package/src/duckdb/src/include/duckdb/main/client_context_state.hpp +79 -1
  688. package/src/duckdb/src/include/duckdb/main/client_properties.hpp +9 -3
  689. package/src/duckdb/src/include/duckdb/main/config.hpp +55 -7
  690. package/src/duckdb/src/include/duckdb/main/connection.hpp +5 -1
  691. package/src/duckdb/src/include/duckdb/main/database.hpp +16 -5
  692. package/src/duckdb/src/include/duckdb/main/database_manager.hpp +9 -8
  693. package/src/duckdb/src/include/duckdb/main/db_instance_cache.hpp +21 -6
  694. package/src/duckdb/src/include/duckdb/main/extension.hpp +20 -0
  695. package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +25 -0
  696. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +29 -23
  697. package/src/duckdb/src/include/duckdb/main/extension_install_info.hpp +6 -0
  698. package/src/duckdb/src/include/duckdb/main/extension_util.hpp +3 -0
  699. package/src/duckdb/src/include/duckdb/main/pending_query_result.hpp +4 -2
  700. package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +5 -6
  701. package/src/duckdb/src/include/duckdb/main/prepared_statement_data.hpp +2 -5
  702. package/src/duckdb/src/include/duckdb/main/profiling_info.hpp +87 -0
  703. package/src/duckdb/src/include/duckdb/main/profiling_node.hpp +60 -0
  704. package/src/duckdb/src/include/duckdb/main/query_profiler.hpp +72 -34
  705. package/src/duckdb/src/include/duckdb/main/query_result.hpp +1 -1
  706. package/src/duckdb/src/include/duckdb/main/relation/create_table_relation.hpp +2 -1
  707. package/src/duckdb/src/include/duckdb/main/relation/delim_get_relation.hpp +30 -0
  708. package/src/duckdb/src/include/duckdb/main/relation/explain_relation.hpp +3 -1
  709. package/src/duckdb/src/include/duckdb/main/relation/join_relation.hpp +3 -0
  710. package/src/duckdb/src/include/duckdb/main/relation/materialized_relation.hpp +1 -4
  711. package/src/duckdb/src/include/duckdb/main/relation/query_relation.hpp +4 -1
  712. package/src/duckdb/src/include/duckdb/main/relation/read_json_relation.hpp +6 -0
  713. package/src/duckdb/src/include/duckdb/main/relation/table_function_relation.hpp +1 -0
  714. package/src/duckdb/src/include/duckdb/main/relation/view_relation.hpp +2 -0
  715. package/src/duckdb/src/include/duckdb/main/relation.hpp +7 -4
  716. package/src/duckdb/src/include/duckdb/main/secret/default_secrets.hpp +36 -0
  717. package/src/duckdb/src/include/duckdb/main/secret/secret.hpp +108 -0
  718. package/src/duckdb/src/include/duckdb/main/secret/secret_manager.hpp +14 -4
  719. package/src/duckdb/src/include/duckdb/main/settings.hpp +227 -3
  720. package/src/duckdb/src/include/duckdb/main/stream_query_result.hpp +8 -0
  721. package/src/duckdb/src/include/duckdb/optimizer/build_probe_side_optimizer.hpp +51 -0
  722. package/src/duckdb/src/include/duckdb/optimizer/compressed_materialization.hpp +7 -0
  723. package/src/duckdb/src/include/duckdb/optimizer/cte_filter_pusher.hpp +46 -0
  724. package/src/duckdb/src/include/duckdb/optimizer/filter_combiner.hpp +1 -1
  725. package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +7 -0
  726. package/src/duckdb/src/include/duckdb/optimizer/join_filter_pushdown_optimizer.hpp +31 -0
  727. package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +51 -10
  728. package/src/duckdb/src/include/duckdb/optimizer/join_order/cost_model.hpp +1 -0
  729. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +17 -5
  730. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph.hpp +1 -1
  731. package/src/duckdb/src/include/duckdb/optimizer/join_order/query_graph_manager.hpp +15 -13
  732. package/src/duckdb/src/include/duckdb/optimizer/join_order/relation_manager.hpp +9 -4
  733. package/src/duckdb/src/include/duckdb/optimizer/limit_pushdown.hpp +25 -0
  734. package/src/duckdb/src/include/duckdb/optimizer/optimizer.hpp +1 -0
  735. package/src/duckdb/src/include/duckdb/optimizer/rule/join_dependent_filter.hpp +37 -0
  736. package/src/duckdb/src/include/duckdb/parallel/executor_task.hpp +6 -1
  737. package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +54 -2
  738. package/src/duckdb/src/include/duckdb/parallel/meta_pipeline.hpp +27 -8
  739. package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +1 -0
  740. package/src/duckdb/src/include/duckdb/parallel/pipeline_prepare_finish_event.hpp +25 -0
  741. package/src/duckdb/src/include/duckdb/parallel/task_executor.hpp +63 -0
  742. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +10 -1
  743. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +4 -1
  744. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +5 -0
  745. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +5 -0
  746. package/src/duckdb/src/include/duckdb/parser/parsed_data/attach_info.hpp +5 -0
  747. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_index_info.hpp +2 -0
  748. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +11 -1
  749. package/src/duckdb/src/include/duckdb/parser/parsed_data/transaction_info.hpp +9 -0
  750. package/src/duckdb/src/include/duckdb/parser/parsed_expression_iterator.hpp +13 -6
  751. package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +1 -1
  752. package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +1 -3
  753. package/src/duckdb/src/include/duckdb/parser/statement/copy_statement.hpp +2 -0
  754. package/src/duckdb/src/include/duckdb/parser/statement/explain_statement.hpp +5 -1
  755. package/src/duckdb/src/include/duckdb/parser/statement/set_statement.hpp +2 -2
  756. package/src/duckdb/src/include/duckdb/parser/statement/transaction_statement.hpp +1 -1
  757. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +0 -2
  758. package/src/duckdb/src/include/duckdb/parser/tableref/column_data_ref.hpp +9 -7
  759. package/src/duckdb/src/include/duckdb/parser/tableref/delimgetref.hpp +37 -0
  760. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +4 -0
  761. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +0 -2
  762. package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +0 -2
  763. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +0 -1
  764. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +3 -1
  765. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +17 -9
  766. package/src/duckdb/src/include/duckdb/planner/binder.hpp +24 -14
  767. package/src/duckdb/src/include/duckdb/planner/collation_binding.hpp +44 -0
  768. package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +1 -1
  769. package/src/duckdb/src/include/duckdb/planner/expression/bound_between_expression.hpp +1 -1
  770. package/src/duckdb/src/include/duckdb/planner/expression/bound_case_expression.hpp +1 -1
  771. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +1 -1
  772. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +1 -1
  773. package/src/duckdb/src/include/duckdb/planner/expression/bound_comparison_expression.hpp +1 -1
  774. package/src/duckdb/src/include/duckdb/planner/expression/bound_conjunction_expression.hpp +1 -1
  775. package/src/duckdb/src/include/duckdb/planner/expression/bound_constant_expression.hpp +1 -1
  776. package/src/duckdb/src/include/duckdb/planner/expression/bound_default_expression.hpp +1 -1
  777. package/src/duckdb/src/include/duckdb/planner/expression/bound_expanded_expression.hpp +1 -1
  778. package/src/duckdb/src/include/duckdb/planner/expression/bound_function_expression.hpp +1 -1
  779. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambda_expression.hpp +1 -1
  780. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +1 -1
  781. package/src/duckdb/src/include/duckdb/planner/expression/bound_operator_expression.hpp +1 -1
  782. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +2 -0
  783. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_expression.hpp +1 -1
  784. package/src/duckdb/src/include/duckdb/planner/expression/bound_reference_expression.hpp +1 -1
  785. package/src/duckdb/src/include/duckdb/planner/expression/bound_subquery_expression.hpp +2 -2
  786. package/src/duckdb/src/include/duckdb/planner/expression/bound_unnest_expression.hpp +1 -1
  787. package/src/duckdb/src/include/duckdb/planner/expression/bound_window_expression.hpp +1 -1
  788. package/src/duckdb/src/include/duckdb/planner/expression.hpp +2 -2
  789. package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +2 -0
  790. package/src/duckdb/src/include/duckdb/planner/expression_binder/group_binder.hpp +1 -0
  791. package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +6 -5
  792. package/src/duckdb/src/include/duckdb/planner/expression_binder/where_binder.hpp +1 -0
  793. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +19 -11
  794. package/src/duckdb/src/include/duckdb/planner/filter/conjunction_filter.hpp +4 -0
  795. package/src/duckdb/src/include/duckdb/planner/filter/constant_filter.hpp +2 -0
  796. package/src/duckdb/src/include/duckdb/planner/filter/null_filter.hpp +4 -0
  797. package/src/duckdb/src/include/duckdb/planner/filter/struct_filter.hpp +2 -0
  798. package/src/duckdb/src/include/duckdb/planner/logical_operator.hpp +7 -2
  799. package/src/duckdb/src/include/duckdb/planner/logical_operator_visitor.hpp +2 -1
  800. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +1 -1
  801. package/src/duckdb/src/include/duckdb/planner/operator/logical_any_join.hpp +1 -1
  802. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +6 -1
  803. package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +10 -2
  804. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +1 -0
  805. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +1 -1
  806. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +1 -1
  807. package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +1 -1
  808. package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +4 -2
  809. package/src/duckdb/src/include/duckdb/planner/operator/logical_get.hpp +15 -5
  810. package/src/duckdb/src/include/duckdb/planner/operator/logical_materialized_cte.hpp +1 -0
  811. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +1 -1
  812. package/src/duckdb/src/include/duckdb/planner/subquery/flatten_dependent_join.hpp +2 -1
  813. package/src/duckdb/src/include/duckdb/planner/table_filter.hpp +24 -2
  814. package/src/duckdb/src/include/duckdb/planner/tableref/bound_delimgetref.hpp +26 -0
  815. package/src/duckdb/src/include/duckdb/planner/tableref/bound_joinref.hpp +6 -0
  816. package/src/duckdb/src/include/duckdb/planner/tableref/bound_subqueryref.hpp +1 -1
  817. package/src/duckdb/src/include/duckdb/planner/tableref/bound_table_function.hpp +2 -0
  818. package/src/duckdb/src/include/duckdb/planner/tableref/list.hpp +2 -0
  819. package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +2 -1
  820. package/src/duckdb/src/include/duckdb/storage/block.hpp +4 -2
  821. package/src/duckdb/src/include/duckdb/storage/block_manager.hpp +48 -3
  822. package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +21 -7
  823. package/src/duckdb/src/include/duckdb/storage/buffer/buffer_pool.hpp +65 -51
  824. package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +14 -5
  825. package/src/duckdb/src/include/duckdb/storage/checkpoint/row_group_writer.hpp +0 -4
  826. package/src/duckdb/src/include/duckdb/storage/checkpoint/string_checkpoint_state.hpp +3 -2
  827. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +1 -0
  828. package/src/duckdb/src/include/duckdb/storage/checkpoint/write_overflow_strings_to_disk.hpp +3 -4
  829. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +2 -0
  830. package/src/duckdb/src/include/duckdb/storage/compression/alp/algorithm/alp.hpp +4 -4
  831. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_analyze.hpp +6 -4
  832. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_compress.hpp +19 -17
  833. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_constants.hpp +2 -2
  834. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_scan.hpp +3 -4
  835. package/src/duckdb/src/include/duckdb/storage/compression/alp/alp_utils.hpp +3 -2
  836. package/src/duckdb/src/include/duckdb/storage/compression/alprd/algorithm/alprd.hpp +3 -2
  837. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_analyze.hpp +13 -11
  838. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_compress.hpp +19 -19
  839. package/src/duckdb/src/include/duckdb/storage/compression/alprd/alprd_scan.hpp +3 -4
  840. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +1 -1
  841. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_scan.hpp +1 -1
  842. package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +10 -2
  843. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +3 -2
  844. package/src/duckdb/src/include/duckdb/storage/in_memory_block_manager.hpp +15 -0
  845. package/src/duckdb/src/include/duckdb/storage/index_storage_info.hpp +14 -10
  846. package/src/duckdb/src/include/duckdb/storage/metadata/metadata_manager.hpp +6 -8
  847. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +7 -4
  848. package/src/duckdb/src/include/duckdb/storage/segment/uncompressed.hpp +4 -7
  849. package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +29 -4
  850. package/src/duckdb/src/include/duckdb/storage/standard_buffer_manager.hpp +22 -7
  851. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +15 -2
  852. package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +8 -2
  853. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +5 -16
  854. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +51 -13
  855. package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +6 -3
  856. package/src/duckdb/src/include/duckdb/storage/storage_info.hpp +29 -19
  857. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +23 -7
  858. package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +27 -18
  859. package/src/duckdb/src/include/duckdb/storage/table/append_state.hpp +6 -3
  860. package/src/duckdb/src/include/duckdb/storage/table/array_column_data.hpp +5 -2
  861. package/src/duckdb/src/include/duckdb/storage/table/chunk_info.hpp +3 -0
  862. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +5 -1
  863. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +77 -6
  864. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +23 -11
  865. package/src/duckdb/src/include/duckdb/storage/table/data_table_info.hpp +3 -0
  866. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +5 -2
  867. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +18 -4
  868. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +7 -1
  869. package/src/duckdb/src/include/duckdb/storage/table/row_version_manager.hpp +2 -1
  870. package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +89 -14
  871. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +4 -2
  872. package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +4 -2
  873. package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +2 -2
  874. package/src/duckdb/src/include/duckdb/storage/table/validity_column_data.hpp +1 -1
  875. package/src/duckdb/src/include/duckdb/storage/temporary_memory_manager.hpp +33 -15
  876. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +9 -9
  877. package/src/duckdb/src/include/duckdb/transaction/cleanup_state.hpp +3 -1
  878. package/src/duckdb/src/include/duckdb/transaction/commit_state.hpp +4 -16
  879. package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +27 -4
  880. package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +11 -0
  881. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +6 -2
  882. package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +5 -5
  883. package/src/duckdb/src/include/duckdb/transaction/transaction_context.hpp +6 -2
  884. package/src/duckdb/src/include/duckdb/transaction/undo_buffer.hpp +5 -3
  885. package/src/duckdb/src/include/duckdb/transaction/wal_write_state.hpp +48 -0
  886. package/src/duckdb/src/include/duckdb.h +1779 -739
  887. package/src/duckdb/src/include/duckdb_extension.h +921 -0
  888. package/src/duckdb/src/main/appender.cpp +53 -7
  889. package/src/duckdb/src/main/attached_database.cpp +87 -17
  890. package/src/duckdb/src/main/buffered_data/batched_buffered_data.cpp +226 -0
  891. package/src/duckdb/src/main/buffered_data/buffered_data.cpp +35 -0
  892. package/src/duckdb/src/main/buffered_data/simple_buffered_data.cpp +48 -23
  893. package/src/duckdb/src/main/capi/aggregate_function-c.cpp +327 -0
  894. package/src/duckdb/src/main/capi/appender-c.cpp +18 -0
  895. package/src/duckdb/src/main/capi/cast/utils-c.cpp +2 -2
  896. package/src/duckdb/src/main/capi/cast_function-c.cpp +210 -0
  897. package/src/duckdb/src/main/capi/config-c.cpp +3 -3
  898. package/src/duckdb/src/main/capi/data_chunk-c.cpp +18 -7
  899. package/src/duckdb/src/main/capi/duckdb_value-c.cpp +223 -24
  900. package/src/duckdb/src/main/capi/helper-c.cpp +51 -11
  901. package/src/duckdb/src/main/capi/logical_types-c.cpp +105 -46
  902. package/src/duckdb/src/main/capi/pending-c.cpp +7 -6
  903. package/src/duckdb/src/main/capi/prepared-c.cpp +18 -7
  904. package/src/duckdb/src/main/capi/profiling_info-c.cpp +84 -0
  905. package/src/duckdb/src/main/capi/result-c.cpp +139 -37
  906. package/src/duckdb/src/main/capi/scalar_function-c.cpp +269 -0
  907. package/src/duckdb/src/main/capi/table_description-c.cpp +82 -0
  908. package/src/duckdb/src/main/capi/table_function-c.cpp +161 -95
  909. package/src/duckdb/src/main/capi/value-c.cpp +2 -2
  910. package/src/duckdb/src/main/chunk_scan_state/batched_data_collection.cpp +57 -0
  911. package/src/duckdb/src/main/client_config.cpp +17 -0
  912. package/src/duckdb/src/main/client_context.cpp +67 -52
  913. package/src/duckdb/src/main/client_data.cpp +3 -3
  914. package/src/duckdb/src/main/config.cpp +120 -62
  915. package/src/duckdb/src/main/connection.cpp +14 -2
  916. package/src/duckdb/src/main/database.cpp +96 -35
  917. package/src/duckdb/src/main/database_manager.cpp +25 -23
  918. package/src/duckdb/src/main/database_path_and_type.cpp +2 -2
  919. package/src/duckdb/src/main/db_instance_cache.cpp +54 -19
  920. package/src/duckdb/src/main/extension/extension_helper.cpp +47 -42
  921. package/src/duckdb/src/main/extension/extension_install.cpp +155 -87
  922. package/src/duckdb/src/main/extension/extension_load.cpp +180 -26
  923. package/src/duckdb/src/main/extension/extension_util.cpp +8 -0
  924. package/src/duckdb/src/main/extension.cpp +72 -5
  925. package/src/duckdb/src/main/pending_query_result.cpp +20 -12
  926. package/src/duckdb/src/main/prepared_statement.cpp +6 -6
  927. package/src/duckdb/src/main/prepared_statement_data.cpp +28 -17
  928. package/src/duckdb/src/main/profiling_info.cpp +196 -0
  929. package/src/duckdb/src/main/query_profiler.cpp +413 -224
  930. package/src/duckdb/src/main/query_result.cpp +1 -1
  931. package/src/duckdb/src/main/relation/create_table_relation.cpp +4 -2
  932. package/src/duckdb/src/main/relation/create_view_relation.cpp +0 -6
  933. package/src/duckdb/src/main/relation/delim_get_relation.cpp +44 -0
  934. package/src/duckdb/src/main/relation/explain_relation.cpp +4 -3
  935. package/src/duckdb/src/main/relation/join_relation.cpp +5 -0
  936. package/src/duckdb/src/main/relation/limit_relation.cpp +1 -1
  937. package/src/duckdb/src/main/relation/materialized_relation.cpp +3 -3
  938. package/src/duckdb/src/main/relation/query_relation.cpp +42 -15
  939. package/src/duckdb/src/main/relation/read_csv_relation.cpp +7 -14
  940. package/src/duckdb/src/main/relation/read_json_relation.cpp +20 -0
  941. package/src/duckdb/src/main/relation/setop_relation.cpp +1 -1
  942. package/src/duckdb/src/main/relation/table_function_relation.cpp +6 -0
  943. package/src/duckdb/src/main/relation/view_relation.cpp +10 -0
  944. package/src/duckdb/src/main/relation.cpp +12 -8
  945. package/src/duckdb/src/main/secret/default_secrets.cpp +108 -0
  946. package/src/duckdb/src/main/secret/secret.cpp +145 -2
  947. package/src/duckdb/src/main/secret/secret_manager.cpp +85 -35
  948. package/src/duckdb/src/main/secret/secret_storage.cpp +29 -17
  949. package/src/duckdb/src/main/settings/settings.cpp +503 -11
  950. package/src/duckdb/src/main/stream_query_result.cpp +75 -2
  951. package/src/duckdb/src/optimizer/build_probe_side_optimizer.cpp +248 -0
  952. package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +28 -6
  953. package/src/duckdb/src/optimizer/compressed_materialization/compress_comparison_join.cpp +152 -0
  954. package/src/duckdb/src/optimizer/compressed_materialization.cpp +11 -1
  955. package/src/duckdb/src/optimizer/cse_optimizer.cpp +3 -0
  956. package/src/duckdb/src/optimizer/cte_filter_pusher.cpp +117 -0
  957. package/src/duckdb/src/optimizer/filter_combiner.cpp +30 -9
  958. package/src/duckdb/src/optimizer/filter_pullup.cpp +54 -2
  959. package/src/duckdb/src/optimizer/filter_pushdown.cpp +71 -3
  960. package/src/duckdb/src/optimizer/join_filter_pushdown_optimizer.cpp +154 -0
  961. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +245 -114
  962. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +42 -20
  963. package/src/duckdb/src/optimizer/join_order/join_relation_set.cpp +6 -2
  964. package/src/duckdb/src/optimizer/join_order/plan_enumerator.cpp +32 -10
  965. package/src/duckdb/src/optimizer/join_order/query_graph_manager.cpp +97 -131
  966. package/src/duckdb/src/optimizer/join_order/relation_manager.cpp +265 -51
  967. package/src/duckdb/src/optimizer/join_order/relation_statistics_helper.cpp +21 -17
  968. package/src/duckdb/src/optimizer/limit_pushdown.cpp +42 -0
  969. package/src/duckdb/src/optimizer/optimizer.cpp +51 -8
  970. package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +17 -17
  971. package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +22 -4
  972. package/src/duckdb/src/optimizer/pushdown/pushdown_get.cpp +1 -18
  973. package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +6 -0
  974. package/src/duckdb/src/optimizer/pushdown/pushdown_mark_join.cpp +4 -2
  975. package/src/duckdb/src/optimizer/pushdown/pushdown_window.cpp +91 -0
  976. package/src/duckdb/src/optimizer/remove_unused_columns.cpp +21 -25
  977. package/src/duckdb/src/optimizer/rule/comparison_simplification.cpp +1 -0
  978. package/src/duckdb/src/optimizer/rule/empty_needle_removal.cpp +3 -0
  979. package/src/duckdb/src/optimizer/rule/equal_or_null_simplification.cpp +2 -2
  980. package/src/duckdb/src/optimizer/rule/in_clause_simplification_rule.cpp +8 -2
  981. package/src/duckdb/src/optimizer/rule/join_dependent_filter.cpp +135 -0
  982. package/src/duckdb/src/optimizer/rule/like_optimizations.cpp +1 -1
  983. package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +1 -1
  984. package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +6 -1
  985. package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +7 -6
  986. package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +1 -1
  987. package/src/duckdb/src/optimizer/topn_optimizer.cpp +46 -7
  988. package/src/duckdb/src/parallel/executor.cpp +129 -51
  989. package/src/duckdb/src/parallel/executor_task.cpp +16 -3
  990. package/src/duckdb/src/parallel/meta_pipeline.cpp +98 -29
  991. package/src/duckdb/src/parallel/pipeline.cpp +17 -3
  992. package/src/duckdb/src/parallel/pipeline_executor.cpp +14 -2
  993. package/src/duckdb/src/parallel/pipeline_prepare_finish_event.cpp +34 -0
  994. package/src/duckdb/src/parallel/task_executor.cpp +84 -0
  995. package/src/duckdb/src/parallel/task_scheduler.cpp +94 -16
  996. package/src/duckdb/src/parallel/thread_context.cpp +1 -1
  997. package/src/duckdb/src/parser/expression/function_expression.cpp +14 -0
  998. package/src/duckdb/src/parser/expression/star_expression.cpp +35 -2
  999. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +5 -1
  1000. package/src/duckdb/src/parser/parsed_data/attach_info.cpp +17 -0
  1001. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +37 -28
  1002. package/src/duckdb/src/parser/parsed_data/create_macro_info.cpp +44 -2
  1003. package/src/duckdb/src/parser/parsed_data/transaction_info.cpp +21 -1
  1004. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +29 -25
  1005. package/src/duckdb/src/parser/parser.cpp +41 -1
  1006. package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +1 -0
  1007. package/src/duckdb/src/parser/statement/explain_statement.cpp +28 -13
  1008. package/src/duckdb/src/parser/statement/relation_statement.cpp +5 -0
  1009. package/src/duckdb/src/parser/statement/set_statement.cpp +4 -2
  1010. package/src/duckdb/src/parser/statement/transaction_statement.cpp +3 -3
  1011. package/src/duckdb/src/parser/tableref/column_data_ref.cpp +1 -27
  1012. package/src/duckdb/src/parser/tableref/delimgetref.cpp +30 -0
  1013. package/src/duckdb/src/parser/tableref/joinref.cpp +4 -0
  1014. package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +35 -29
  1015. package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +32 -32
  1016. package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +2 -1
  1017. package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +17 -0
  1018. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +5 -0
  1019. package/src/duckdb/src/parser/transform/expression/transform_multi_assign_reference.cpp +36 -34
  1020. package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +30 -14
  1021. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +1 -1
  1022. package/src/duckdb/src/parser/transform/helpers/transform_alias.cpp +2 -1
  1023. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +27 -19
  1024. package/src/duckdb/src/parser/transform/helpers/transform_orderby.cpp +31 -28
  1025. package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +25 -27
  1026. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +1 -1
  1027. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +53 -42
  1028. package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +6 -6
  1029. package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +1 -1
  1030. package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +1 -1
  1031. package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +1 -1
  1032. package/src/duckdb/src/parser/transform/statement/transform_explain.cpp +38 -3
  1033. package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +1 -2
  1034. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +1 -1
  1035. package/src/duckdb/src/parser/transform/statement/transform_prepare.cpp +1 -1
  1036. package/src/duckdb/src/parser/transform/statement/transform_select.cpp +26 -21
  1037. package/src/duckdb/src/parser/transform/statement/transform_set.cpp +8 -8
  1038. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +5 -2
  1039. package/src/duckdb/src/parser/transform/statement/transform_show_select.cpp +6 -4
  1040. package/src/duckdb/src/parser/transform/statement/transform_transaction.cpp +27 -6
  1041. package/src/duckdb/src/parser/transform/statement/transform_update.cpp +8 -9
  1042. package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +11 -12
  1043. package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +3 -3
  1044. package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +16 -10
  1045. package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +1 -1
  1046. package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +1 -1
  1047. package/src/duckdb/src/parser/transformer.cpp +11 -7
  1048. package/src/duckdb/src/planner/bind_context.cpp +3 -3
  1049. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +22 -7
  1050. package/src/duckdb/src/planner/binder/expression/bind_between_expression.cpp +3 -3
  1051. package/src/duckdb/src/planner/binder/expression/bind_collate_expression.cpp +3 -2
  1052. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +11 -4
  1053. package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +9 -54
  1054. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +3 -5
  1055. package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +24 -27
  1056. package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +7 -7
  1057. package/src/duckdb/src/planner/binder/expression/bind_parameter_expression.cpp +9 -2
  1058. package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +26 -7
  1059. package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +5 -0
  1060. package/src/duckdb/src/planner/binder/expression/bind_unpacked_star_expression.cpp +91 -0
  1061. package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +2 -2
  1062. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +11 -8
  1063. package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +1 -1
  1064. package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +6 -10
  1065. package/src/duckdb/src/planner/binder/query_node/plan_cte_node.cpp +14 -10
  1066. package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +3 -3
  1067. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +46 -7
  1068. package/src/duckdb/src/planner/binder/statement/bind_call.cpp +13 -20
  1069. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +105 -13
  1070. package/src/duckdb/src/planner/binder/statement/bind_copy_database.cpp +7 -3
  1071. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +75 -55
  1072. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +1 -1
  1073. package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +5 -4
  1074. package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +2 -2
  1075. package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +24 -8
  1076. package/src/duckdb/src/planner/binder/statement/bind_explain.cpp +2 -2
  1077. package/src/duckdb/src/planner/binder/statement/bind_export.cpp +5 -105
  1078. package/src/duckdb/src/planner/binder/statement/bind_extension.cpp +2 -2
  1079. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +109 -41
  1080. package/src/duckdb/src/planner/binder/statement/bind_set.cpp +23 -7
  1081. package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +4 -1
  1082. package/src/duckdb/src/planner/binder/statement/bind_summarize.cpp +17 -3
  1083. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +5 -4
  1084. package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +8 -6
  1085. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +55 -42
  1086. package/src/duckdb/src/planner/binder/tableref/bind_column_data_ref.cpp +3 -2
  1087. package/src/duckdb/src/planner/binder/tableref/bind_delimgetref.cpp +16 -0
  1088. package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +31 -1
  1089. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +6 -0
  1090. package/src/duckdb/src/planner/binder/tableref/bind_showref.cpp +2 -0
  1091. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +106 -46
  1092. package/src/duckdb/src/planner/binder/tableref/plan_delimgetref.cpp +11 -0
  1093. package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +15 -2
  1094. package/src/duckdb/src/planner/binder/tableref/plan_table_function.cpp +4 -0
  1095. package/src/duckdb/src/planner/binder.cpp +172 -15
  1096. package/src/duckdb/src/planner/collation_binding.cpp +99 -0
  1097. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +10 -4
  1098. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +1 -1
  1099. package/src/duckdb/src/planner/expression/bound_case_expression.cpp +1 -1
  1100. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +14 -12
  1101. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +1 -1
  1102. package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +1 -1
  1103. package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +1 -1
  1104. package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +1 -1
  1105. package/src/duckdb/src/planner/expression/bound_expanded_expression.cpp +1 -1
  1106. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -2
  1107. package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +1 -1
  1108. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +1 -1
  1109. package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +1 -1
  1110. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +1 -1
  1111. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +1 -1
  1112. package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
  1113. package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +1 -1
  1114. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +6 -6
  1115. package/src/duckdb/src/planner/expression_binder/aggregate_binder.cpp +1 -1
  1116. package/src/duckdb/src/planner/expression_binder/alter_binder.cpp +2 -2
  1117. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +1 -1
  1118. package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +7 -0
  1119. package/src/duckdb/src/planner/expression_binder/constant_binder.cpp +3 -3
  1120. package/src/duckdb/src/planner/expression_binder/group_binder.cpp +26 -22
  1121. package/src/duckdb/src/planner/expression_binder/having_binder.cpp +7 -1
  1122. package/src/duckdb/src/planner/expression_binder/index_binder.cpp +2 -2
  1123. package/src/duckdb/src/planner/expression_binder/insert_binder.cpp +2 -2
  1124. package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +2 -2
  1125. package/src/duckdb/src/planner/expression_binder/order_binder.cpp +61 -43
  1126. package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +2 -2
  1127. package/src/duckdb/src/planner/expression_binder/relation_binder.cpp +4 -4
  1128. package/src/duckdb/src/planner/expression_binder/returning_binder.cpp +3 -2
  1129. package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +10 -3
  1130. package/src/duckdb/src/planner/expression_binder/update_binder.cpp +1 -1
  1131. package/src/duckdb/src/planner/expression_binder/where_binder.cpp +9 -2
  1132. package/src/duckdb/src/planner/expression_binder.cpp +121 -21
  1133. package/src/duckdb/src/planner/expression_iterator.cpp +26 -1
  1134. package/src/duckdb/src/planner/filter/conjunction_filter.cpp +33 -0
  1135. package/src/duckdb/src/planner/filter/constant_filter.cpp +15 -0
  1136. package/src/duckdb/src/planner/filter/null_filter.cpp +22 -0
  1137. package/src/duckdb/src/planner/filter/struct_filter.cpp +16 -0
  1138. package/src/duckdb/src/planner/logical_operator.cpp +24 -7
  1139. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +13 -7
  1140. package/src/duckdb/src/planner/operator/logical_any_join.cpp +5 -2
  1141. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +13 -5
  1142. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +64 -8
  1143. package/src/duckdb/src/planner/operator/logical_cteref.cpp +7 -0
  1144. package/src/duckdb/src/planner/operator/logical_distinct.cpp +6 -5
  1145. package/src/duckdb/src/planner/operator/logical_get.cpp +60 -18
  1146. package/src/duckdb/src/planner/operator/logical_materialized_cte.cpp +7 -0
  1147. package/src/duckdb/src/planner/operator/logical_order.cpp +7 -4
  1148. package/src/duckdb/src/planner/operator/logical_top_n.cpp +2 -2
  1149. package/src/duckdb/src/planner/operator/logical_vacuum.cpp +1 -1
  1150. package/src/duckdb/src/planner/planner.cpp +2 -3
  1151. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +27 -10
  1152. package/src/duckdb/src/planner/table_filter.cpp +51 -0
  1153. package/src/duckdb/src/storage/arena_allocator.cpp +28 -10
  1154. package/src/duckdb/src/storage/block.cpp +3 -2
  1155. package/src/duckdb/src/storage/buffer/block_handle.cpp +29 -14
  1156. package/src/duckdb/src/storage/buffer/block_manager.cpp +6 -5
  1157. package/src/duckdb/src/storage/buffer/buffer_handle.cpp +1 -1
  1158. package/src/duckdb/src/storage/buffer/buffer_pool.cpp +264 -125
  1159. package/src/duckdb/src/storage/buffer_manager.cpp +5 -1
  1160. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +0 -6
  1161. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +26 -3
  1162. package/src/duckdb/src/storage/checkpoint/write_overflow_strings_to_disk.cpp +21 -9
  1163. package/src/duckdb/src/storage/checkpoint_manager.cpp +49 -24
  1164. package/src/duckdb/src/storage/compression/alp/alp.cpp +6 -11
  1165. package/src/duckdb/src/storage/compression/alprd.cpp +5 -9
  1166. package/src/duckdb/src/storage/compression/bitpacking.cpp +35 -31
  1167. package/src/duckdb/src/storage/compression/chimp/chimp.cpp +6 -8
  1168. package/src/duckdb/src/storage/compression/dictionary_compression.cpp +71 -58
  1169. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +15 -13
  1170. package/src/duckdb/src/storage/compression/fsst.cpp +66 -53
  1171. package/src/duckdb/src/storage/compression/numeric_constant.cpp +4 -5
  1172. package/src/duckdb/src/storage/compression/patas.cpp +6 -17
  1173. package/src/duckdb/src/storage/compression/rle.cpp +20 -18
  1174. package/src/duckdb/src/storage/compression/string_uncompressed.cpp +71 -52
  1175. package/src/duckdb/src/storage/compression/uncompressed.cpp +2 -2
  1176. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +8 -7
  1177. package/src/duckdb/src/storage/data_pointer.cpp +22 -0
  1178. package/src/duckdb/src/storage/data_table.cpp +41 -12
  1179. package/src/duckdb/src/storage/local_storage.cpp +22 -8
  1180. package/src/duckdb/src/storage/metadata/metadata_manager.cpp +33 -17
  1181. package/src/duckdb/src/storage/metadata/metadata_reader.cpp +4 -4
  1182. package/src/duckdb/src/storage/metadata/metadata_writer.cpp +3 -3
  1183. package/src/duckdb/src/storage/partial_block_manager.cpp +19 -8
  1184. package/src/duckdb/src/storage/serialization/serialize_create_info.cpp +11 -8
  1185. package/src/duckdb/src/storage/serialization/serialize_expression.cpp +1 -1
  1186. package/src/duckdb/src/storage/serialization/serialize_extension_install_info.cpp +2 -0
  1187. package/src/duckdb/src/storage/serialization/serialize_logical_operator.cpp +3 -3
  1188. package/src/duckdb/src/storage/serialization/serialize_nodes.cpp +19 -5
  1189. package/src/duckdb/src/storage/serialization/serialize_parse_info.cpp +21 -1
  1190. package/src/duckdb/src/storage/serialization/serialize_parsed_expression.cpp +4 -2
  1191. package/src/duckdb/src/storage/serialization/serialize_query_node.cpp +2 -2
  1192. package/src/duckdb/src/storage/serialization/serialize_storage.cpp +2 -0
  1193. package/src/duckdb/src/storage/serialization/serialize_tableref.cpp +8 -4
  1194. package/src/duckdb/src/storage/serialization/serialize_types.cpp +4 -4
  1195. package/src/duckdb/src/storage/single_file_block_manager.cpp +170 -34
  1196. package/src/duckdb/src/storage/standard_buffer_manager.cpp +221 -64
  1197. package/src/duckdb/src/storage/statistics/column_statistics.cpp +4 -3
  1198. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +36 -26
  1199. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +4 -15
  1200. package/src/duckdb/src/storage/statistics/string_stats.cpp +14 -8
  1201. package/src/duckdb/src/storage/statistics/struct_stats.cpp +2 -1
  1202. package/src/duckdb/src/storage/storage_info.cpp +34 -9
  1203. package/src/duckdb/src/storage/storage_manager.cpp +147 -74
  1204. package/src/duckdb/src/storage/table/array_column_data.cpp +37 -17
  1205. package/src/duckdb/src/storage/table/chunk_info.cpp +38 -0
  1206. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +10 -6
  1207. package/src/duckdb/src/storage/table/column_data.cpp +252 -31
  1208. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +2 -12
  1209. package/src/duckdb/src/storage/table/column_segment.cpp +63 -34
  1210. package/src/duckdb/src/storage/table/list_column_data.cpp +34 -15
  1211. package/src/duckdb/src/storage/table/row_group.cpp +228 -120
  1212. package/src/duckdb/src/storage/table/row_group_collection.cpp +122 -120
  1213. package/src/duckdb/src/storage/table/row_version_manager.cpp +27 -1
  1214. package/src/duckdb/src/storage/table/scan_state.cpp +101 -18
  1215. package/src/duckdb/src/storage/table/standard_column_data.cpp +20 -34
  1216. package/src/duckdb/src/storage/table/struct_column_data.cpp +39 -42
  1217. package/src/duckdb/src/storage/table/table_statistics.cpp +2 -1
  1218. package/src/duckdb/src/storage/table/update_segment.cpp +9 -8
  1219. package/src/duckdb/src/storage/table/validity_column_data.cpp +2 -2
  1220. package/src/duckdb/src/storage/table_index_list.cpp +8 -7
  1221. package/src/duckdb/src/storage/temporary_file_manager.cpp +11 -9
  1222. package/src/duckdb/src/storage/temporary_memory_manager.cpp +227 -39
  1223. package/src/duckdb/src/storage/wal_replay.cpp +68 -28
  1224. package/src/duckdb/src/storage/write_ahead_log.cpp +56 -47
  1225. package/src/duckdb/src/transaction/cleanup_state.cpp +9 -1
  1226. package/src/duckdb/src/transaction/commit_state.cpp +7 -170
  1227. package/src/duckdb/src/transaction/duck_transaction.cpp +87 -19
  1228. package/src/duckdb/src/transaction/duck_transaction_manager.cpp +65 -10
  1229. package/src/duckdb/src/transaction/meta_transaction.cpp +18 -3
  1230. package/src/duckdb/src/transaction/transaction_context.cpp +21 -17
  1231. package/src/duckdb/src/transaction/undo_buffer.cpp +20 -14
  1232. package/src/duckdb/src/transaction/wal_write_state.cpp +292 -0
  1233. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +0 -1
  1234. package/src/duckdb/third_party/brotli/common/brotli_constants.h +204 -0
  1235. package/src/duckdb/third_party/brotli/common/brotli_platform.h +543 -0
  1236. package/src/duckdb/third_party/brotli/common/constants.cpp +17 -0
  1237. package/src/duckdb/third_party/brotli/common/context.cpp +156 -0
  1238. package/src/duckdb/third_party/brotli/common/context.h +110 -0
  1239. package/src/duckdb/third_party/brotli/common/dictionary.cpp +5912 -0
  1240. package/src/duckdb/third_party/brotli/common/dictionary.h +60 -0
  1241. package/src/duckdb/third_party/brotli/common/platform.cpp +24 -0
  1242. package/src/duckdb/third_party/brotli/common/shared_dictionary.cpp +517 -0
  1243. package/src/duckdb/third_party/brotli/common/shared_dictionary_internal.h +71 -0
  1244. package/src/duckdb/third_party/brotli/common/transform.cpp +287 -0
  1245. package/src/duckdb/third_party/brotli/common/transform.h +77 -0
  1246. package/src/duckdb/third_party/brotli/common/version.h +51 -0
  1247. package/src/duckdb/third_party/brotli/dec/bit_reader.cpp +74 -0
  1248. package/src/duckdb/third_party/brotli/dec/bit_reader.h +419 -0
  1249. package/src/duckdb/third_party/brotli/dec/decode.cpp +2758 -0
  1250. package/src/duckdb/third_party/brotli/dec/huffman.cpp +338 -0
  1251. package/src/duckdb/third_party/brotli/dec/huffman.h +118 -0
  1252. package/src/duckdb/third_party/brotli/dec/prefix.h +733 -0
  1253. package/src/duckdb/third_party/brotli/dec/state.cpp +178 -0
  1254. package/src/duckdb/third_party/brotli/dec/state.h +386 -0
  1255. package/src/duckdb/third_party/brotli/enc/backward_references.cpp +3775 -0
  1256. package/src/duckdb/third_party/brotli/enc/backward_references.h +36 -0
  1257. package/src/duckdb/third_party/brotli/enc/backward_references_hq.cpp +935 -0
  1258. package/src/duckdb/third_party/brotli/enc/backward_references_hq.h +92 -0
  1259. package/src/duckdb/third_party/brotli/enc/bit_cost.cpp +410 -0
  1260. package/src/duckdb/third_party/brotli/enc/bit_cost.h +60 -0
  1261. package/src/duckdb/third_party/brotli/enc/block_splitter.cpp +1653 -0
  1262. package/src/duckdb/third_party/brotli/enc/block_splitter.h +48 -0
  1263. package/src/duckdb/third_party/brotli/enc/brotli_bit_stream.cpp +1431 -0
  1264. package/src/duckdb/third_party/brotli/enc/brotli_bit_stream.h +85 -0
  1265. package/src/duckdb/third_party/brotli/enc/brotli_hash.h +4352 -0
  1266. package/src/duckdb/third_party/brotli/enc/brotli_params.h +47 -0
  1267. package/src/duckdb/third_party/brotli/enc/cluster.cpp +1025 -0
  1268. package/src/duckdb/third_party/brotli/enc/cluster.h +1017 -0
  1269. package/src/duckdb/third_party/brotli/enc/command.cpp +24 -0
  1270. package/src/duckdb/third_party/brotli/enc/command.h +187 -0
  1271. package/src/duckdb/third_party/brotli/enc/compound_dictionary.cpp +209 -0
  1272. package/src/duckdb/third_party/brotli/enc/compound_dictionary.h +75 -0
  1273. package/src/duckdb/third_party/brotli/enc/compress_fragment.cpp +796 -0
  1274. package/src/duckdb/third_party/brotli/enc/compress_fragment.h +82 -0
  1275. package/src/duckdb/third_party/brotli/enc/compress_fragment_two_pass.cpp +653 -0
  1276. package/src/duckdb/third_party/brotli/enc/compress_fragment_two_pass.h +68 -0
  1277. package/src/duckdb/third_party/brotli/enc/dictionary_hash.cpp +1844 -0
  1278. package/src/duckdb/third_party/brotli/enc/dictionary_hash.h +21 -0
  1279. package/src/duckdb/third_party/brotli/enc/encode.cpp +1990 -0
  1280. package/src/duckdb/third_party/brotli/enc/encoder_dict.cpp +636 -0
  1281. package/src/duckdb/third_party/brotli/enc/encoder_dict.h +153 -0
  1282. package/src/duckdb/third_party/brotli/enc/entropy_encode.cpp +500 -0
  1283. package/src/duckdb/third_party/brotli/enc/entropy_encode.h +119 -0
  1284. package/src/duckdb/third_party/brotli/enc/entropy_encode_static.h +538 -0
  1285. package/src/duckdb/third_party/brotli/enc/fast_log.cpp +101 -0
  1286. package/src/duckdb/third_party/brotli/enc/fast_log.h +63 -0
  1287. package/src/duckdb/third_party/brotli/enc/find_match_length.h +68 -0
  1288. package/src/duckdb/third_party/brotli/enc/histogram.cpp +96 -0
  1289. package/src/duckdb/third_party/brotli/enc/histogram.h +210 -0
  1290. package/src/duckdb/third_party/brotli/enc/literal_cost.cpp +176 -0
  1291. package/src/duckdb/third_party/brotli/enc/literal_cost.h +28 -0
  1292. package/src/duckdb/third_party/brotli/enc/memory.cpp +190 -0
  1293. package/src/duckdb/third_party/brotli/enc/memory.h +127 -0
  1294. package/src/duckdb/third_party/brotli/enc/metablock.cpp +1225 -0
  1295. package/src/duckdb/third_party/brotli/enc/metablock.h +102 -0
  1296. package/src/duckdb/third_party/brotli/enc/prefix.h +50 -0
  1297. package/src/duckdb/third_party/brotli/enc/quality.h +202 -0
  1298. package/src/duckdb/third_party/brotli/enc/ringbuffer.h +164 -0
  1299. package/src/duckdb/third_party/brotli/enc/state.h +106 -0
  1300. package/src/duckdb/third_party/brotli/enc/static_dict.cpp +538 -0
  1301. package/src/duckdb/third_party/brotli/enc/static_dict.h +37 -0
  1302. package/src/duckdb/third_party/brotli/enc/static_dict_lut.h +5862 -0
  1303. package/src/duckdb/third_party/brotli/enc/utf8_util.cpp +81 -0
  1304. package/src/duckdb/third_party/brotli/enc/utf8_util.h +29 -0
  1305. package/src/duckdb/third_party/brotli/enc/write_bits.h +84 -0
  1306. package/src/duckdb/third_party/brotli/include/brotli/decode.h +405 -0
  1307. package/src/duckdb/third_party/brotli/include/brotli/encode.h +489 -0
  1308. package/src/duckdb/third_party/brotli/include/brotli/port.h +238 -0
  1309. package/src/duckdb/third_party/brotli/include/brotli/shared_dictionary.h +96 -0
  1310. package/src/duckdb/third_party/brotli/include/brotli/types.h +83 -0
  1311. package/src/duckdb/third_party/fast_float/fast_float/fast_float.h +20 -4
  1312. package/src/duckdb/third_party/fmt/include/fmt/format.h +54 -10
  1313. package/src/duckdb/third_party/fsst/fsst.h +2 -2
  1314. package/src/duckdb/third_party/fsst/libfsst.hpp +2 -2
  1315. package/src/duckdb/third_party/httplib/httplib.hpp +6763 -5580
  1316. package/src/duckdb/third_party/hyperloglog/hyperloglog.cpp +13 -30
  1317. package/src/duckdb/third_party/hyperloglog/hyperloglog.hpp +8 -2
  1318. package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +1 -0
  1319. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +22 -9
  1320. package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +1041 -554
  1321. package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +1 -0
  1322. package/src/duckdb/third_party/libpg_query/postgres_parser.cpp +2 -1
  1323. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +21605 -21752
  1324. package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +538 -299
  1325. package/src/duckdb/third_party/mbedtls/include/mbedtls/mbedtls_config.h +1 -0
  1326. package/src/duckdb/third_party/mbedtls/include/mbedtls_wrapper.hpp +36 -12
  1327. package/src/duckdb/third_party/mbedtls/library/md.cpp +6 -6
  1328. package/src/duckdb/third_party/mbedtls/library/sha1.cpp +2 -0
  1329. package/src/duckdb/third_party/mbedtls/library/sha256.cpp +3 -0
  1330. package/src/duckdb/third_party/mbedtls/mbedtls_wrapper.cpp +99 -47
  1331. package/src/duckdb/third_party/pcg/pcg_extras.hpp +1 -1
  1332. package/src/duckdb/third_party/re2/re2/prog.cc +2 -2
  1333. package/src/duckdb/third_party/snappy/snappy-internal.h +398 -0
  1334. package/src/duckdb/third_party/snappy/snappy-sinksource.cc +111 -9
  1335. package/src/duckdb/third_party/snappy/snappy-sinksource.h +158 -0
  1336. package/src/duckdb/third_party/snappy/snappy-stubs-internal.h +523 -3
  1337. package/src/duckdb/third_party/snappy/snappy-stubs-public.h +34 -1
  1338. package/src/duckdb/third_party/snappy/snappy.cc +2626 -0
  1339. package/src/duckdb/third_party/snappy/snappy.h +223 -0
  1340. package/src/duckdb/third_party/snappy/snappy_version.hpp +11 -0
  1341. package/src/duckdb/third_party/utf8proc/include/utf8proc.hpp +69 -101
  1342. package/src/duckdb/third_party/utf8proc/include/utf8proc_wrapper.hpp +53 -0
  1343. package/src/duckdb/third_party/utf8proc/utf8proc.cpp +627 -678
  1344. package/src/duckdb/third_party/utf8proc/utf8proc_data.cpp +15008 -12868
  1345. package/src/duckdb/third_party/utf8proc/utf8proc_wrapper.cpp +185 -29
  1346. package/src/duckdb/ub_extension_json_json_functions.cpp +6 -0
  1347. package/src/duckdb/ub_src_catalog_default.cpp +4 -0
  1348. package/src/duckdb/ub_src_common.cpp +7 -1
  1349. package/src/duckdb/ub_src_common_arrow.cpp +10 -0
  1350. package/src/duckdb/ub_src_common_enums.cpp +2 -0
  1351. package/src/duckdb/ub_src_common_tree_renderer.cpp +10 -0
  1352. package/src/duckdb/ub_src_common_types.cpp +2 -0
  1353. package/src/duckdb/ub_src_core_functions_aggregate_holistic.cpp +4 -0
  1354. package/src/duckdb/ub_src_core_functions_aggregate_nested.cpp +2 -0
  1355. package/src/duckdb/ub_src_core_functions_scalar_generic.cpp +2 -0
  1356. package/src/duckdb/ub_src_core_functions_scalar_list.cpp +2 -4
  1357. package/src/duckdb/ub_src_core_functions_scalar_map.cpp +2 -0
  1358. package/src/duckdb/ub_src_core_functions_scalar_string.cpp +4 -0
  1359. package/src/duckdb/ub_src_execution_index_art.cpp +5 -3
  1360. package/src/duckdb/ub_src_execution_operator_csv_scanner_scanner.cpp +2 -0
  1361. package/src/duckdb/ub_src_execution_operator_helper.cpp +4 -0
  1362. package/src/duckdb/ub_src_function.cpp +4 -0
  1363. package/src/duckdb/ub_src_function_cast.cpp +2 -0
  1364. package/src/duckdb/ub_src_function_scalar_generic.cpp +4 -0
  1365. package/src/duckdb/ub_src_function_scalar_list.cpp +0 -2
  1366. package/src/duckdb/ub_src_function_scalar_string.cpp +2 -0
  1367. package/src/duckdb/ub_src_function_table.cpp +2 -0
  1368. package/src/duckdb/ub_src_function_table_arrow.cpp +2 -0
  1369. package/src/duckdb/ub_src_function_table_system.cpp +2 -0
  1370. package/src/duckdb/ub_src_main.cpp +4 -0
  1371. package/src/duckdb/ub_src_main_buffered_data.cpp +4 -0
  1372. package/src/duckdb/ub_src_main_capi.cpp +10 -0
  1373. package/src/duckdb/ub_src_main_chunk_scan_state.cpp +2 -0
  1374. package/src/duckdb/ub_src_main_relation.cpp +2 -0
  1375. package/src/duckdb/ub_src_main_secret.cpp +2 -0
  1376. package/src/duckdb/ub_src_optimizer.cpp +8 -0
  1377. package/src/duckdb/ub_src_optimizer_compressed_materialization.cpp +2 -0
  1378. package/src/duckdb/ub_src_optimizer_pushdown.cpp +2 -0
  1379. package/src/duckdb/ub_src_optimizer_rule.cpp +2 -0
  1380. package/src/duckdb/ub_src_parallel.cpp +4 -0
  1381. package/src/duckdb/ub_src_parser_tableref.cpp +2 -0
  1382. package/src/duckdb/ub_src_planner.cpp +2 -0
  1383. package/src/duckdb/ub_src_planner_binder_expression.cpp +2 -0
  1384. package/src/duckdb/ub_src_planner_binder_tableref.cpp +4 -0
  1385. package/src/duckdb/ub_src_storage_statistics.cpp +0 -2
  1386. package/src/duckdb/ub_src_transaction.cpp +2 -0
  1387. package/test/columns.test.ts +1 -1
  1388. package/test/prepare.test.ts +1 -1
  1389. package/test/test_all_types.test.ts +1 -1
@@ -1,5 +1,4 @@
1
- #line 2 "third_party/libpg_query/src_backend_parser_scan.cpp"
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 5
56
- #define YY_FLEX_SUBMINOR_VERSION 35
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
- #endif /* ! FLEXINT_H */
135
-
136
- #ifdef __cplusplus
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 requires __STDC__ to be defined as 1. */
144
- #if defined (__STDC__)
367
+ #endif /* ! C99 */
145
368
 
146
- #define YY_USE_CONST
369
+ #endif /* ! FLEXINT_H */
147
370
 
148
- #endif /* defined (__STDC__) */
149
- #endif /* ! __cplusplus */
371
+ /* begin standard C++ headers. */
150
372
 
151
- #ifdef YY_USE_CONST
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 yyconst
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 unsigned
161
- * integer for use as an array index. If the signed char is negative,
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) ((unsigned int) (unsigned char) 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 core_yyrestart(yyin ,yyscanner )
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 core_yyrestart()), so that the user can continue scanning by
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 core_yyrestart (FILE *input_file ,yyscan_t yyscanner );
327
- void core_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
328
- YY_BUFFER_STATE core_yy_create_buffer (FILE *file,int size ,yyscan_t yyscanner );
329
- void core_yy_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
330
- void core_yy_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner );
331
- void core_yypush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner );
332
- void core_yypop_buffer_state (yyscan_t yyscanner );
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
- #define YY_FLUSH_BUFFER core_yy_flush_buffer(YY_CURRENT_BUFFER ,yyscanner)
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 core_yy_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner );
341
- YY_BUFFER_STATE core_yy_scan_string (yyconst char *yy_str ,yyscan_t yyscanner );
342
- YY_BUFFER_STATE core_yy_scan_bytes (yyconst char *bytes,yy_size_t len ,yyscan_t yyscanner );
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 *core_yyalloc (yy_size_t ,yyscan_t yyscanner );
345
- void *core_yyrealloc (void *,yy_size_t ,yyscan_t yyscanner );
346
- void core_yyfree (void * ,yyscan_t yyscanner );
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
- core_yyensure_buffer_stack (yyscanner); \
577
+ yyensure_buffer_stack (yyscanner); \
354
578
  YY_CURRENT_BUFFER_LVALUE = \
355
- core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
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
- core_yyensure_buffer_stack (yyscanner); \
586
+ yyensure_buffer_stack (yyscanner); \
364
587
  YY_CURRENT_BUFFER_LVALUE = \
365
- core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \
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(n) 1
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 (yyconst char msg[] ,yyscan_t yyscanner );
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 yyconst flex_int16_t yy_accept[309] =
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 yyconst flex_int32_t yy_ec[256] =
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 yyconst flex_int32_t yy_meta[40] =
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 yyconst flex_int16_t yy_base[376] =
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 yyconst flex_int16_t yy_def[376] =
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 yyconst flex_int16_t yy_nxt[1290] =
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 yyconst flex_int16_t yy_chk[1290] =
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 core_yylex must set yylloc to the location of the found token
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 1107 "third_party/libpg_query/src_backend_parser_scan.cpp"
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 core_yylex_init (yyscan_t* scanner);
1383
+ int yylex_init (yyscan_t* scanner);
1174
1384
 
1175
- int core_yylex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner);
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 core_yylex_destroy (yyscan_t yyscanner );
1390
+ int yylex_destroy ( yyscan_t yyscanner );
1181
1391
 
1182
- int core_yyget_debug (yyscan_t yyscanner );
1392
+ int yyget_debug ( yyscan_t yyscanner );
1183
1393
 
1184
- void core_yyset_debug (int debug_flag ,yyscan_t yyscanner );
1394
+ void yyset_debug ( int debug_flag , yyscan_t yyscanner );
1185
1395
 
1186
- YY_EXTRA_TYPE core_yyget_extra (yyscan_t yyscanner );
1396
+ YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
1187
1397
 
1188
- void core_yyset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner );
1398
+ void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
1189
1399
 
1190
- FILE *core_yyget_in (yyscan_t yyscanner );
1400
+ FILE *yyget_in ( yyscan_t yyscanner );
1191
1401
 
1192
- void core_yyset_in (FILE * in_str ,yyscan_t yyscanner );
1402
+ void yyset_in ( FILE * _in_str , yyscan_t yyscanner );
1193
1403
 
1194
- FILE *core_yyget_out (yyscan_t yyscanner );
1404
+ FILE *yyget_out ( yyscan_t yyscanner );
1195
1405
 
1196
- void core_yyset_out (FILE * out_str ,yyscan_t yyscanner );
1406
+ void yyset_out ( FILE * _out_str , yyscan_t yyscanner );
1197
1407
 
1198
- yy_size_t core_yyget_leng (yyscan_t yyscanner );
1408
+ yy_size_t yyget_leng ( yyscan_t yyscanner );
1199
1409
 
1200
- char *core_yyget_text (yyscan_t yyscanner );
1410
+ char *yyget_text ( yyscan_t yyscanner );
1201
1411
 
1202
- int core_yyget_lineno (yyscan_t yyscanner );
1412
+ int yyget_lineno ( yyscan_t yyscanner );
1203
1413
 
1204
- void core_yyset_lineno (int line_number ,yyscan_t yyscanner );
1414
+ void yyset_lineno ( int _line_number , yyscan_t yyscanner );
1205
1415
 
1206
- YYSTYPE * core_yyget_lval (yyscan_t yyscanner );
1416
+ int yyget_column ( yyscan_t yyscanner );
1207
1417
 
1208
- void core_yyset_lval (YYSTYPE * yylval_param ,yyscan_t yyscanner );
1418
+ void yyset_column ( int _column_no , yyscan_t yyscanner );
1209
1419
 
1210
- YYLTYPE *core_yyget_lloc (yyscan_t yyscanner );
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 core_yyset_lloc (YYLTYPE * yylloc_param ,yyscan_t yyscanner );
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 core_yywrap (yyscan_t yyscanner );
1434
+ extern "C" int yywrap ( yyscan_t yyscanner );
1221
1435
  #else
1222
- extern int core_yywrap (yyscan_t yyscanner );
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 *,yyconst char *,int ,yyscan_t yyscanner);
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 (yyconst char * ,yyscan_t yyscanner);
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 core_yylex \
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 core_yylex \
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
- core_yyensure_buffer_stack (yyscanner);
1587
+ yyensure_buffer_stack (yyscanner);
1371
1588
  YY_CURRENT_BUFFER_LVALUE =
1372
- core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
1589
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
1373
1590
  }
1374
1591
 
1375
- core_yy_load_buffer_state(yyscanner );
1592
+ yy_load_buffer_state( yyscanner );
1376
1593
  }
1377
1594
 
1378
- while ( 1 ) /* loops until end-of-file is reached */
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[(unsigned int) yy_c];
1627
+ yy_c = yy_meta[yy_c];
1405
1628
  }
1406
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
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 2454 "third_party/libpg_query/src_backend_parser_scan.cpp"
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
- * core_yylex(). If so, then we have to assure
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 ( core_yywrap(yyscanner ) )
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 core_yylex */
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) - 1;
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 = YY_CURRENT_BUFFER;
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
- core_yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner );
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 = 0;
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
- core_yyrestart(yyin ,yyscanner);
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 ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
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 *) core_yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner );
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[(unsigned int) yy_c];
2969
+ yy_c = yy_meta[yy_c];
2742
2970
  }
2743
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
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[(unsigned int) yy_c];
2998
+ yy_c = yy_meta[yy_c];
2771
2999
  }
2772
- yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
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
- core_yyrestart(yyin ,yyscanner);
3053
+ yyrestart( yyin , yyscanner);
2821
3054
 
2822
3055
  /*FALLTHROUGH*/
2823
3056
 
2824
3057
  case EOB_ACT_END_OF_FILE:
2825
3058
  {
2826
- if ( core_yywrap(yyscanner ) )
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 core_yyrestart (FILE * input_file , yyscan_t yyscanner)
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
- core_yyensure_buffer_stack (yyscanner);
3096
+ yyensure_buffer_stack (yyscanner);
2864
3097
  YY_CURRENT_BUFFER_LVALUE =
2865
- core_yy_create_buffer(yyin,YY_BUF_SIZE ,yyscanner);
3098
+ yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
2866
3099
  }
2867
3100
 
2868
- core_yy_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner);
2869
- core_yy_load_buffer_state(yyscanner );
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 core_yy_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
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
- * core_yypop_buffer_state();
2883
- * core_yypush_buffer_state(new_buffer);
3115
+ * yypop_buffer_state();
3116
+ * yypush_buffer_state(new_buffer);
2884
3117
  */
2885
- core_yyensure_buffer_stack (yyscanner);
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
- core_yy_load_buffer_state(yyscanner );
3131
+ yy_load_buffer_state( yyscanner );
2899
3132
 
2900
3133
  /* We don't actually know whether we did this switch during
2901
- * EOF (core_yywrap()) processing, but the only time this flag
2902
- * is looked at is after core_yywrap() is called, so it's safe
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 core_yy_load_buffer_state (yyscan_t yyscanner)
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 core_yy_create_buffer (FILE * file, int size , yyscan_t yyscanner)
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) core_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
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 core_yy_create_buffer()" );
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 *) core_yyalloc(b->yy_buf_size + 2 ,yyscanner );
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 core_yy_create_buffer()" );
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
- core_yy_init_buffer(b,file ,yyscanner);
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 core_yy_create_buffer()
3181
+ * @param b a buffer created with yy_create_buffer()
2949
3182
  * @param yyscanner The scanner object.
2950
3183
  */
2951
- void core_yy_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
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
- core_yyfree((void *) b->yy_ch_buf ,yyscanner );
3195
+ yyfree( (void *) b->yy_ch_buf , yyscanner );
2963
3196
 
2964
- core_yyfree((void *) b ,yyscanner );
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 core_yyrestart() or at EOF.
3202
+ * such as during a yyrestart() or at EOF.
2970
3203
  */
2971
- static void core_yy_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner)
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
- core_yy_flush_buffer(b ,yyscanner);
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 core_yy_init_buffer was _probably_
2983
- * called from core_yyrestart() or through yy_get_next_buffer.
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 core_yy_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner)
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
- core_yy_load_buffer_state(yyscanner );
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 core_yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
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
- core_yyensure_buffer_stack(yyscanner);
3269
+ yyensure_buffer_stack(yyscanner);
3037
3270
 
3038
- /* This block is copied from core_yy_switch_to_buffer. */
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 core_yy_switch_to_buffer. */
3053
- core_yy_load_buffer_state(yyscanner );
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 core_yypop_buffer_state (yyscan_t yyscanner)
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
- core_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner);
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
- core_yy_load_buffer_state(yyscanner );
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 core_yyensure_buffer_stack (yyscan_t yyscanner)
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
- num_to_alloc = 1;
3093
- yyg->yy_buffer_stack = (struct yy_buffer_state**)core_yyalloc
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 core_yyensure_buffer_stack()" );
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
- int grow_size = 8 /* arbitrary grow size */;
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**)core_yyrealloc
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 core_yyensure_buffer_stack()" );
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 core_yy_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner)
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 0;
3372
+ return NULL;
3140
3373
 
3141
- b = (YY_BUFFER_STATE) core_yyalloc(sizeof( struct yy_buffer_state ) ,yyscanner );
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 core_yy_scan_buffer()" );
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 = 0;
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
- core_yy_switch_to_buffer(b ,yyscanner );
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 core_yylex() will
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
- * core_yy_scan_bytes() instead.
3399
+ * yy_scan_bytes() instead.
3167
3400
  */
3168
- YY_BUFFER_STATE core_yy_scan_string (yyconst char * yystr , yyscan_t yyscanner)
3401
+ YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
3169
3402
  {
3170
3403
 
3171
- return core_yy_scan_bytes(yystr,strlen(yystr) ,yyscanner);
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 core_yylex() will
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 bytes the byte buffer to scan
3177
- * @param len the number of bytes in the buffer pointed to by @a bytes.
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 core_yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len , yyscan_t yyscanner)
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, i;
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 *) core_yyalloc(n ,yyscanner );
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 core_yy_scan_bytes()" );
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 = core_yy_scan_buffer(buf,n ,yyscanner);
3432
+ b = yy_scan_buffer( buf, n , yyscanner);
3199
3433
  if ( ! b )
3200
- YY_FATAL_ERROR( "bad buffer in core_yy_scan_bytes()" );
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 (yyconst char* msg , yyscan_t yyscanner)
3448
+ static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
3215
3449
  {
3216
- //( stderr, "%s\n", msg );
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
- int yyless_macro_arg = (n); \
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 core_yyget_extra (yyscan_t yyscanner)
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 core_yyget_lineno (yyscan_t yyscanner)
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 core_yyget_column (yyscan_t yyscanner)
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 *core_yyget_in (yyscan_t yyscanner)
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 *core_yyget_out (yyscan_t yyscanner)
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 core_yyget_leng (yyscan_t yyscanner)
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 *core_yyget_text (yyscan_t yyscanner)
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 core_yyset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner)
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 line_number
3558
+ * @param _line_number line number
3323
3559
  * @param yyscanner The scanner object.
3324
3560
  */
3325
- void core_yyset_lineno (int line_number , yyscan_t yyscanner)
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
- yy_fatal_error( "core_yyset_lineno called with no buffer" , yyscanner);
3567
+ YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
3332
3568
 
3333
- yylineno = line_number;
3569
+ yylineno = _line_number;
3334
3570
  }
3335
3571
 
3336
3572
  /** Set the current column.
3337
- * @param line_number
3573
+ * @param _column_no column number
3338
3574
  * @param yyscanner The scanner object.
3339
3575
  */
3340
- void core_yyset_column (int column_no , yyscan_t yyscanner)
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
- yy_fatal_error( "core_yyset_column called with no buffer" , yyscanner);
3582
+ YY_FATAL_ERROR( "yyset_column called with no buffer" );
3347
3583
 
3348
- yycolumn = column_no;
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 in_str A readable stream.
3589
+ * @param _in_str A readable stream.
3354
3590
  * @param yyscanner The scanner object.
3355
- * @see core_yy_switch_to_buffer
3591
+ * @see yy_switch_to_buffer
3356
3592
  */
3357
- void core_yyset_in (FILE * in_str , yyscan_t yyscanner)
3593
+ void yyset_in (FILE * _in_str , yyscan_t yyscanner)
3358
3594
  {
3359
3595
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3360
- yyin = in_str ;
3596
+ yyin = _in_str ;
3361
3597
  }
3362
3598
 
3363
- void core_yyset_out (FILE * out_str , yyscan_t yyscanner)
3599
+ void yyset_out (FILE * _out_str , yyscan_t yyscanner)
3364
3600
  {
3365
3601
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3366
- yyout = out_str ;
3602
+ yyout = _out_str ;
3367
3603
  }
3368
3604
 
3369
- int core_yyget_debug (yyscan_t yyscanner)
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 core_yyset_debug (int bdebug , yyscan_t yyscanner)
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 = bdebug ;
3614
+ yy_flex_debug = _bdebug ;
3379
3615
  }
3380
3616
 
3381
3617
  /* Accessor methods for yylval and yylloc */
3382
3618
 
3383
- YYSTYPE * core_yyget_lval (yyscan_t yyscanner)
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 core_yyset_lval (YYSTYPE * yylval_param , yyscan_t yyscanner)
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 *core_yyget_lloc (yyscan_t yyscanner)
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 core_yyset_lloc (YYLTYPE * yylloc_param , yyscan_t yyscanner)
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
- /* core_yylex_init is special because it creates the scanner itself, so it is
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) core_yyalloc ( sizeof( struct yyguts_t ), NULL );
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
- /* core_yylex_init_extra has the same functionality as core_yylex_init, but follows the
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 core_yyalloc in
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
- core_yyset_extra (yy_user_defined, &dummy_yyguts);
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) core_yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
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
- core_yyset_extra (yy_user_defined, *ptr_yy_globals);
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 core_yylex_destroy(), so don't allocate here.
3707
+ * This function is called from yylex_destroy(), so don't allocate here.
3476
3708
  */
3477
3709
 
3478
- yyg->yy_buffer_stack = 0;
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 = (char *) 0;
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
- yyin = (FILE *) 0;
3491
- yyout = (FILE *) 0;
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
- * core_yylex_init()
3731
+ * yylex_init()
3495
3732
  */
3496
3733
  return 0;
3497
3734
  }
3498
3735
 
3499
- /* core_yylex_destroy is for both reentrant and non-reentrant scanners. */
3500
- int core_yylex_destroy (yyscan_t yyscanner)
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
- core_yy_delete_buffer(YY_CURRENT_BUFFER ,yyscanner );
3743
+ yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
3507
3744
  YY_CURRENT_BUFFER_LVALUE = NULL;
3508
- core_yypop_buffer_state(yyscanner);
3745
+ yypop_buffer_state(yyscanner);
3509
3746
  }
3510
3747
 
3511
3748
  /* Destroy the stack itself. */
3512
- core_yyfree(yyg->yy_buffer_stack ,yyscanner);
3749
+ yyfree(yyg->yy_buffer_stack , yyscanner);
3513
3750
  yyg->yy_buffer_stack = NULL;
3514
3751
 
3515
3752
  /* Destroy the start condition stack. */
3516
- core_yyfree(yyg->yy_start_stack ,yyscanner );
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
- * core_yylex() is called, initialization will occur. */
3757
+ * yylex() is called, initialization will occur. */
3521
3758
  yy_init_globals( yyscanner);
3522
3759
 
3523
3760
  /* Destroy the main struct (reentrant only). */
3524
- core_yyfree ( yyscanner , yyscanner );
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, yyconst char * s2, int n , yyscan_t yyscanner)
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 (yyconst char * s , yyscan_t yyscanner)
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 core_yylex() function.
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 core_yylex(), or the
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 (core_yylex_init(&scanner) != 0)
3651
- elog(ERROR, "core_yylex_init() failed: %m");
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
- core_yy_scan_buffer(yyext->scanbuf,slen + 2,scanner);
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 core_yylex_destroy(), because all it would do is
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