duckdb 0.7.2-dev12.0 → 0.7.2-dev1238.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 (631) hide show
  1. package/binding.gyp +12 -7
  2. package/lib/duckdb.d.ts +55 -2
  3. package/lib/duckdb.js +20 -1
  4. package/package.json +1 -1
  5. package/src/connection.cpp +1 -2
  6. package/src/database.cpp +1 -1
  7. package/src/duckdb/extension/icu/icu-extension.cpp +4 -0
  8. package/src/duckdb/extension/icu/icu-list-range.cpp +207 -0
  9. package/src/duckdb/extension/icu/icu-table-range.cpp +194 -0
  10. package/src/duckdb/extension/icu/include/icu-list-range.hpp +17 -0
  11. package/src/duckdb/extension/icu/include/icu-table-range.hpp +17 -0
  12. package/src/duckdb/extension/icu/third_party/icu/stubdata/stubdata.cpp +1 -1
  13. package/src/duckdb/extension/json/include/json_common.hpp +1 -0
  14. package/src/duckdb/extension/json/include/json_functions.hpp +2 -0
  15. package/src/duckdb/extension/json/include/json_serializer.hpp +77 -0
  16. package/src/duckdb/extension/json/json_functions/json_serialize_sql.cpp +147 -0
  17. package/src/duckdb/extension/json/json_functions/read_json.cpp +6 -5
  18. package/src/duckdb/extension/json/json_functions.cpp +12 -4
  19. package/src/duckdb/extension/json/json_scan.cpp +2 -2
  20. package/src/duckdb/extension/json/json_serializer.cpp +217 -0
  21. package/src/duckdb/extension/parquet/column_reader.cpp +94 -15
  22. package/src/duckdb/extension/parquet/column_writer.cpp +0 -1
  23. package/src/duckdb/extension/parquet/include/column_reader.hpp +1 -2
  24. package/src/duckdb/extension/parquet/include/decode_utils.hpp +5 -4
  25. package/src/duckdb/extension/parquet/include/generated_column_reader.hpp +1 -11
  26. package/src/duckdb/extension/parquet/include/parquet_timestamp.hpp +2 -1
  27. package/src/duckdb/extension/parquet/parquet-extension.cpp +14 -3
  28. package/src/duckdb/extension/parquet/parquet_reader.cpp +6 -1
  29. package/src/duckdb/extension/parquet/parquet_statistics.cpp +49 -36
  30. package/src/duckdb/extension/parquet/parquet_timestamp.cpp +16 -6
  31. package/src/duckdb/src/catalog/catalog.cpp +34 -5
  32. package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +4 -0
  33. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +2 -21
  34. package/src/duckdb/src/catalog/catalog_entry/scalar_function_catalog_entry.cpp +7 -6
  35. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +3 -3
  36. package/src/duckdb/src/catalog/catalog_entry/table_function_catalog_entry.cpp +20 -1
  37. package/src/duckdb/src/catalog/catalog_entry/type_catalog_entry.cpp +8 -2
  38. package/src/duckdb/src/catalog/catalog_set.cpp +1 -0
  39. package/src/duckdb/src/catalog/default/default_functions.cpp +3 -0
  40. package/src/duckdb/src/catalog/dependency_list.cpp +12 -0
  41. package/src/duckdb/src/catalog/duck_catalog.cpp +34 -7
  42. package/src/duckdb/src/common/arrow/arrow_appender.cpp +48 -4
  43. package/src/duckdb/src/common/arrow/arrow_converter.cpp +1 -1
  44. package/src/duckdb/src/common/box_renderer.cpp +109 -23
  45. package/src/duckdb/src/common/enums/expression_type.cpp +8 -222
  46. package/src/duckdb/src/common/enums/join_type.cpp +3 -22
  47. package/src/duckdb/src/common/enums/logical_operator_type.cpp +2 -0
  48. package/src/duckdb/src/common/enums/statement_type.cpp +2 -0
  49. package/src/duckdb/src/common/exception.cpp +15 -1
  50. package/src/duckdb/src/common/field_writer.cpp +1 -0
  51. package/src/duckdb/src/common/hive_partitioning.cpp +3 -1
  52. package/src/duckdb/src/common/local_file_system.cpp +64 -7
  53. package/src/duckdb/src/common/operator/cast_operators.cpp +1 -1
  54. package/src/duckdb/src/common/preserved_error.cpp +7 -5
  55. package/src/duckdb/src/common/progress_bar/progress_bar.cpp +7 -0
  56. package/src/duckdb/src/common/serializer/buffered_deserializer.cpp +4 -0
  57. package/src/duckdb/src/common/serializer/buffered_file_reader.cpp +15 -2
  58. package/src/duckdb/src/common/serializer/enum_serializer.cpp +1176 -0
  59. package/src/duckdb/src/common/sort/comparators.cpp +14 -5
  60. package/src/duckdb/src/common/sort/sort_state.cpp +5 -7
  61. package/src/duckdb/src/common/sort/sorted_block.cpp +0 -1
  62. package/src/duckdb/src/common/string_util.cpp +18 -1
  63. package/src/duckdb/src/common/types/bit.cpp +166 -87
  64. package/src/duckdb/src/common/types/blob.cpp +1 -1
  65. package/src/duckdb/src/common/types/chunk_collection.cpp +2 -2
  66. package/src/duckdb/src/common/types/column_data_collection.cpp +39 -2
  67. package/src/duckdb/src/common/types/column_data_collection_segment.cpp +12 -10
  68. package/src/duckdb/src/common/types/data_chunk.cpp +1 -1
  69. package/src/duckdb/src/common/types/interval.cpp +0 -41
  70. package/src/duckdb/src/common/types/list_segment.cpp +658 -0
  71. package/src/duckdb/src/common/types/string_heap.cpp +1 -1
  72. package/src/duckdb/src/common/types/string_type.cpp +1 -1
  73. package/src/duckdb/src/common/types/time.cpp +13 -0
  74. package/src/duckdb/src/common/types/validity_mask.cpp +24 -7
  75. package/src/duckdb/src/common/types/value.cpp +320 -154
  76. package/src/duckdb/src/common/types/vector.cpp +158 -134
  77. package/src/duckdb/src/common/types.cpp +313 -153
  78. package/src/duckdb/src/common/value_operations/comparison_operations.cpp +14 -22
  79. package/src/duckdb/src/common/vector_operations/comparison_operators.cpp +10 -10
  80. package/src/duckdb/src/common/vector_operations/is_distinct_from.cpp +11 -10
  81. package/src/duckdb/src/common/vector_operations/vector_cast.cpp +2 -1
  82. package/src/duckdb/src/execution/aggregate_hashtable.cpp +98 -74
  83. package/src/duckdb/src/execution/column_binding_resolver.cpp +21 -5
  84. package/src/duckdb/src/execution/expression_executor/execute_cast.cpp +2 -1
  85. package/src/duckdb/src/execution/expression_executor/execute_comparison.cpp +2 -2
  86. package/src/duckdb/src/execution/index/art/art.cpp +19 -5
  87. package/src/duckdb/src/execution/join_hashtable.cpp +3 -1
  88. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +1 -1
  89. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +4 -5
  90. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +117 -26
  91. package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +3 -0
  92. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +5 -3
  93. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +64 -17
  94. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +2 -0
  95. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +2 -2
  96. package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +13 -4
  97. package/src/duckdb/src/execution/operator/join/physical_join.cpp +0 -3
  98. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +6 -11
  99. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +3 -1
  100. package/src/duckdb/src/execution/operator/persistent/base_csv_reader.cpp +11 -4
  101. package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +24 -19
  102. package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +3 -0
  103. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +2 -1
  104. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +2 -2
  105. package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +1 -3
  106. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +1 -0
  107. package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +34 -0
  108. package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +20 -5
  109. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +20 -40
  110. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +2 -5
  111. package/src/duckdb/src/execution/partitionable_hashtable.cpp +20 -5
  112. package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +22 -16
  113. package/src/duckdb/src/execution/physical_plan/plan_asof_join.cpp +97 -0
  114. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +95 -47
  115. package/src/duckdb/src/execution/physical_plan/plan_create_index.cpp +2 -1
  116. package/src/duckdb/src/execution/physical_plan/plan_distinct.cpp +5 -8
  117. package/src/duckdb/src/execution/physical_plan/plan_positional_join.cpp +14 -5
  118. package/src/duckdb/src/execution/physical_plan_generator.cpp +3 -0
  119. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +23 -15
  120. package/src/duckdb/src/execution/window_segment_tree.cpp +173 -1
  121. package/src/duckdb/src/function/aggregate/algebraic/avg.cpp +0 -6
  122. package/src/duckdb/src/function/aggregate/distributive/bitagg.cpp +99 -95
  123. package/src/duckdb/src/function/aggregate/distributive/bitstring_agg.cpp +269 -0
  124. package/src/duckdb/src/function/aggregate/distributive/bool.cpp +2 -0
  125. package/src/duckdb/src/function/aggregate/distributive/count.cpp +3 -4
  126. package/src/duckdb/src/function/aggregate/distributive/first.cpp +1 -0
  127. package/src/duckdb/src/function/aggregate/distributive/minmax.cpp +2 -0
  128. package/src/duckdb/src/function/aggregate/distributive/sum.cpp +19 -16
  129. package/src/duckdb/src/function/aggregate/distributive_functions.cpp +1 -0
  130. package/src/duckdb/src/function/aggregate/holistic/approximate_quantile.cpp +5 -2
  131. package/src/duckdb/src/function/aggregate/holistic/mode.cpp +1 -1
  132. package/src/duckdb/src/function/aggregate/holistic/quantile.cpp +16 -1
  133. package/src/duckdb/src/function/aggregate/nested/list.cpp +6 -712
  134. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +138 -45
  135. package/src/duckdb/src/function/cast/bit_cast.cpp +0 -2
  136. package/src/duckdb/src/function/cast/blob_cast.cpp +0 -1
  137. package/src/duckdb/src/function/cast/cast_function_set.cpp +1 -1
  138. package/src/duckdb/src/function/cast/enum_casts.cpp +25 -3
  139. package/src/duckdb/src/function/cast/list_casts.cpp +17 -4
  140. package/src/duckdb/src/function/cast/map_cast.cpp +5 -2
  141. package/src/duckdb/src/function/cast/string_cast.cpp +36 -10
  142. package/src/duckdb/src/function/cast/struct_cast.cpp +24 -4
  143. package/src/duckdb/src/function/cast/time_casts.cpp +2 -2
  144. package/src/duckdb/src/function/cast/union_casts.cpp +33 -7
  145. package/src/duckdb/src/function/cast_rules.cpp +9 -4
  146. package/src/duckdb/src/function/function_binder.cpp +1 -8
  147. package/src/duckdb/src/function/pragma/pragma_queries.cpp +24 -1
  148. package/src/duckdb/src/function/scalar/bit/bitstring.cpp +100 -0
  149. package/src/duckdb/src/function/scalar/date/current.cpp +0 -2
  150. package/src/duckdb/src/function/scalar/date/date_diff.cpp +0 -1
  151. package/src/duckdb/src/function/scalar/date/date_part.cpp +18 -26
  152. package/src/duckdb/src/function/scalar/date/date_sub.cpp +0 -1
  153. package/src/duckdb/src/function/scalar/date/date_trunc.cpp +10 -14
  154. package/src/duckdb/src/function/scalar/generic/stats.cpp +2 -4
  155. package/src/duckdb/src/function/scalar/list/contains_or_position.cpp +4 -146
  156. package/src/duckdb/src/function/scalar/list/flatten.cpp +5 -12
  157. package/src/duckdb/src/function/scalar/list/list_aggregates.cpp +1 -1
  158. package/src/duckdb/src/function/scalar/list/list_concat.cpp +8 -12
  159. package/src/duckdb/src/function/scalar/list/list_extract.cpp +5 -12
  160. package/src/duckdb/src/function/scalar/list/list_lambdas.cpp +7 -3
  161. package/src/duckdb/src/function/scalar/list/list_sort.cpp +25 -18
  162. package/src/duckdb/src/function/scalar/list/list_value.cpp +6 -10
  163. package/src/duckdb/src/function/scalar/map/map.cpp +47 -1
  164. package/src/duckdb/src/function/scalar/map/map_entries.cpp +61 -0
  165. package/src/duckdb/src/function/scalar/map/map_extract.cpp +68 -26
  166. package/src/duckdb/src/function/scalar/map/map_keys_values.cpp +97 -0
  167. package/src/duckdb/src/function/scalar/math/numeric.cpp +101 -17
  168. package/src/duckdb/src/function/scalar/math_functions.cpp +3 -0
  169. package/src/duckdb/src/function/scalar/nested_functions.cpp +3 -0
  170. package/src/duckdb/src/function/scalar/operators/add.cpp +0 -9
  171. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +29 -48
  172. package/src/duckdb/src/function/scalar/operators/bitwise.cpp +0 -63
  173. package/src/duckdb/src/function/scalar/operators/multiply.cpp +5 -6
  174. package/src/duckdb/src/function/scalar/operators/subtract.cpp +0 -6
  175. package/src/duckdb/src/function/scalar/string/caseconvert.cpp +2 -6
  176. package/src/duckdb/src/function/scalar/string/hex.cpp +201 -0
  177. package/src/duckdb/src/function/scalar/string/instr.cpp +2 -6
  178. package/src/duckdb/src/function/scalar/string/length.cpp +2 -6
  179. package/src/duckdb/src/function/scalar/string/like.cpp +2 -6
  180. package/src/duckdb/src/function/scalar/string/regexp/regexp_extract_all.cpp +243 -0
  181. package/src/duckdb/src/function/scalar/string/regexp/regexp_util.cpp +79 -0
  182. package/src/duckdb/src/function/scalar/string/regexp.cpp +21 -80
  183. package/src/duckdb/src/function/scalar/string/substring.cpp +2 -6
  184. package/src/duckdb/src/function/scalar/string_functions.cpp +2 -0
  185. package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +5 -10
  186. package/src/duckdb/src/function/scalar/struct/struct_insert.cpp +11 -14
  187. package/src/duckdb/src/function/scalar/struct/struct_pack.cpp +6 -7
  188. package/src/duckdb/src/function/table/arrow.cpp +5 -2
  189. package/src/duckdb/src/function/table/arrow_conversion.cpp +25 -1
  190. package/src/duckdb/src/function/table/checkpoint.cpp +5 -1
  191. package/src/duckdb/src/function/table/read_csv.cpp +60 -0
  192. package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +2 -2
  193. package/src/duckdb/src/function/table/system/test_all_types.cpp +2 -2
  194. package/src/duckdb/src/function/table/table_scan.cpp +9 -12
  195. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  196. package/src/duckdb/src/function/table_function.cpp +30 -11
  197. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +6 -0
  198. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +1 -1
  199. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_function_catalog_entry.hpp +6 -8
  200. package/src/duckdb/src/include/duckdb/catalog/dependency_list.hpp +3 -0
  201. package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +2 -1
  202. package/src/duckdb/src/include/duckdb/common/box_renderer.hpp +8 -2
  203. package/src/duckdb/src/include/duckdb/common/constants.hpp +0 -19
  204. package/src/duckdb/src/include/duckdb/common/enums/aggregate_handling.hpp +2 -0
  205. package/src/duckdb/src/include/duckdb/common/enums/expression_type.hpp +2 -3
  206. package/src/duckdb/src/include/duckdb/common/enums/joinref_type.hpp +7 -4
  207. package/src/duckdb/src/include/duckdb/common/enums/logical_operator_type.hpp +1 -0
  208. package/src/duckdb/src/include/duckdb/common/enums/order_type.hpp +2 -0
  209. package/src/duckdb/src/include/duckdb/common/enums/set_operation_type.hpp +2 -1
  210. package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +2 -1
  211. package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +2 -1
  212. package/src/duckdb/src/include/duckdb/common/exception.hpp +69 -2
  213. package/src/duckdb/src/include/duckdb/common/field_writer.hpp +12 -4
  214. package/src/duckdb/src/include/duckdb/common/helper.hpp +1 -1
  215. package/src/duckdb/src/include/duckdb/common/{http_stats.hpp → http_state.hpp} +18 -4
  216. package/src/duckdb/src/include/duckdb/common/operator/comparison_operators.hpp +45 -149
  217. package/src/duckdb/src/include/duckdb/common/operator/multiply.hpp +2 -0
  218. package/src/duckdb/src/include/duckdb/common/optional_ptr.hpp +45 -0
  219. package/src/duckdb/src/include/duckdb/common/preserved_error.hpp +6 -1
  220. package/src/duckdb/src/include/duckdb/common/progress_bar/progress_bar.hpp +2 -0
  221. package/src/duckdb/src/include/duckdb/common/serializer/buffered_deserializer.hpp +4 -2
  222. package/src/duckdb/src/include/duckdb/common/serializer/buffered_file_reader.hpp +8 -2
  223. package/src/duckdb/src/include/duckdb/common/serializer/enum_serializer.hpp +113 -0
  224. package/src/duckdb/src/include/duckdb/common/serializer/format_deserializer.hpp +336 -0
  225. package/src/duckdb/src/include/duckdb/common/serializer/format_serializer.hpp +268 -0
  226. package/src/duckdb/src/include/duckdb/common/serializer/serialization_traits.hpp +126 -0
  227. package/src/duckdb/src/include/duckdb/common/serializer.hpp +13 -0
  228. package/src/duckdb/src/include/duckdb/common/string_util.hpp +27 -0
  229. package/src/duckdb/src/include/duckdb/common/types/bit.hpp +12 -7
  230. package/src/duckdb/src/include/duckdb/common/types/interval.hpp +39 -3
  231. package/src/duckdb/src/include/duckdb/common/types/list_segment.hpp +70 -0
  232. package/src/duckdb/src/include/duckdb/common/types/string_type.hpp +73 -3
  233. package/src/duckdb/src/include/duckdb/common/types/time.hpp +3 -0
  234. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +4 -1
  235. package/src/duckdb/src/include/duckdb/common/types/value.hpp +17 -48
  236. package/src/duckdb/src/include/duckdb/common/types/value_map.hpp +1 -1
  237. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +3 -1
  238. package/src/duckdb/src/include/duckdb/common/types.hpp +45 -8
  239. package/src/duckdb/src/include/duckdb/common/vector_operations/unary_executor.hpp +2 -2
  240. package/src/duckdb/src/include/duckdb/execution/aggregate_hashtable.hpp +35 -20
  241. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +3 -14
  242. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +1 -1
  243. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_cross_product.hpp +2 -0
  244. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_file_handle.hpp +1 -0
  245. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_reader_options.hpp +10 -0
  246. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_projection.hpp +5 -0
  247. package/src/duckdb/src/include/duckdb/execution/partitionable_hashtable.hpp +5 -1
  248. package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +1 -3
  249. package/src/duckdb/src/include/duckdb/execution/window_segment_tree.hpp +54 -0
  250. package/src/duckdb/src/include/duckdb/function/aggregate/distributive_functions.hpp +5 -0
  251. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +18 -6
  252. package/src/duckdb/src/include/duckdb/function/cast/bound_cast_data.hpp +84 -0
  253. package/src/duckdb/src/include/duckdb/function/cast/cast_function_set.hpp +2 -2
  254. package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +28 -64
  255. package/src/duckdb/src/include/duckdb/function/function_binder.hpp +3 -6
  256. package/src/duckdb/src/include/duckdb/function/scalar/bit_functions.hpp +4 -0
  257. package/src/duckdb/src/include/duckdb/function/scalar/list/contains_or_position.hpp +138 -0
  258. package/src/duckdb/src/include/duckdb/function/scalar/math_functions.hpp +8 -0
  259. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +59 -0
  260. package/src/duckdb/src/include/duckdb/function/scalar/regexp.hpp +81 -1
  261. package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +4 -0
  262. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +2 -2
  263. package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +12 -1
  264. package/src/duckdb/src/include/duckdb/function/table_function.hpp +10 -0
  265. package/src/duckdb/src/include/duckdb/main/capi/capi_internal.hpp +2 -0
  266. package/src/duckdb/src/include/duckdb/main/client_config.hpp +2 -0
  267. package/src/duckdb/src/include/duckdb/main/client_data.hpp +3 -3
  268. package/src/duckdb/src/include/duckdb/main/config.hpp +3 -0
  269. package/src/duckdb/src/include/duckdb/main/connection_manager.hpp +2 -0
  270. package/src/duckdb/src/include/duckdb/main/database.hpp +1 -0
  271. package/src/duckdb/src/include/duckdb/main/extension_entries.hpp +2 -0
  272. package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +2 -0
  273. package/src/duckdb/src/include/duckdb/main/relation/explain_relation.hpp +2 -1
  274. package/src/duckdb/src/include/duckdb/main/relation.hpp +2 -1
  275. package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +2 -0
  276. package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +2 -2
  277. package/src/duckdb/src/include/duckdb/optimizer/rule/list.hpp +1 -0
  278. package/src/duckdb/src/include/duckdb/optimizer/rule/ordered_aggregate_optimizer.hpp +24 -0
  279. package/src/duckdb/src/include/duckdb/parser/common_table_expression_info.hpp +4 -0
  280. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +3 -0
  281. package/src/duckdb/src/include/duckdb/parser/expression/bound_expression.hpp +2 -0
  282. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +5 -0
  283. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +2 -0
  284. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +2 -0
  285. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +2 -0
  286. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +2 -0
  287. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +2 -0
  288. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +3 -0
  289. package/src/duckdb/src/include/duckdb/parser/expression/default_expression.hpp +1 -0
  290. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +4 -2
  291. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +2 -0
  292. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +2 -0
  293. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +2 -0
  294. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +2 -0
  295. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +4 -2
  296. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +2 -0
  297. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +5 -0
  298. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +5 -1
  299. package/src/duckdb/src/include/duckdb/parser/parsed_data/{alter_function_info.hpp → alter_scalar_function_info.hpp} +13 -13
  300. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_function_info.hpp +47 -0
  301. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_table_info.hpp +6 -0
  302. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_table_function_info.hpp +2 -1
  303. package/src/duckdb/src/include/duckdb/parser/parsed_data/sample_options.hpp +2 -0
  304. package/src/duckdb/src/include/duckdb/parser/parsed_expression.hpp +5 -0
  305. package/src/duckdb/src/include/duckdb/parser/query_node/recursive_cte_node.hpp +3 -0
  306. package/src/duckdb/src/include/duckdb/parser/query_node/select_node.hpp +5 -0
  307. package/src/duckdb/src/include/duckdb/parser/query_node/set_operation_node.hpp +3 -0
  308. package/src/duckdb/src/include/duckdb/parser/query_node.hpp +13 -2
  309. package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +24 -1
  310. package/src/duckdb/src/include/duckdb/parser/sql_statement.hpp +2 -1
  311. package/src/duckdb/src/include/duckdb/parser/statement/multi_statement.hpp +28 -0
  312. package/src/duckdb/src/include/duckdb/parser/statement/select_statement.hpp +6 -1
  313. package/src/duckdb/src/include/duckdb/parser/tableref/basetableref.hpp +4 -0
  314. package/src/duckdb/src/include/duckdb/parser/tableref/emptytableref.hpp +2 -0
  315. package/src/duckdb/src/include/duckdb/parser/tableref/expressionlistref.hpp +3 -0
  316. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +3 -0
  317. package/src/duckdb/src/include/duckdb/parser/tableref/list.hpp +1 -0
  318. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +87 -0
  319. package/src/duckdb/src/include/duckdb/parser/tableref/subqueryref.hpp +3 -0
  320. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +3 -0
  321. package/src/duckdb/src/include/duckdb/parser/tableref.hpp +3 -1
  322. package/src/duckdb/src/include/duckdb/parser/tokens.hpp +2 -0
  323. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +33 -0
  324. package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +2 -0
  325. package/src/duckdb/src/include/duckdb/planner/binder.hpp +15 -4
  326. package/src/duckdb/src/include/duckdb/planner/bound_result_modifier.hpp +3 -0
  327. package/src/duckdb/src/include/duckdb/planner/expression/bound_aggregate_expression.hpp +3 -0
  328. package/src/duckdb/src/include/duckdb/planner/expression_binder/base_select_binder.hpp +64 -0
  329. package/src/duckdb/src/include/duckdb/planner/expression_binder/having_binder.hpp +2 -2
  330. package/src/duckdb/src/include/duckdb/planner/expression_binder/order_binder.hpp +4 -1
  331. package/src/duckdb/src/include/duckdb/planner/expression_binder/qualify_binder.hpp +2 -2
  332. package/src/duckdb/src/include/duckdb/planner/expression_binder/select_binder.hpp +9 -38
  333. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +1 -1
  334. package/src/duckdb/src/include/duckdb/planner/logical_tokens.hpp +1 -0
  335. package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +1 -0
  336. package/src/duckdb/src/include/duckdb/planner/operator/logical_asof_join.hpp +22 -0
  337. package/src/duckdb/src/include/duckdb/planner/operator/logical_comparison_join.hpp +5 -2
  338. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +3 -0
  339. package/src/duckdb/src/include/duckdb/planner/query_node/bound_select_node.hpp +8 -2
  340. package/src/duckdb/src/include/duckdb/storage/buffer/block_handle.hpp +2 -0
  341. package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +76 -44
  342. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +3 -2
  343. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +1 -1
  344. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +2 -2
  345. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_fetch.hpp +1 -1
  346. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_scan.hpp +2 -1
  347. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_compress.hpp +2 -2
  348. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_fetch.hpp +1 -1
  349. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_scan.hpp +2 -1
  350. package/src/duckdb/src/include/duckdb/storage/data_pointer.hpp +4 -3
  351. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +4 -3
  352. package/src/duckdb/src/include/duckdb/storage/index.hpp +5 -4
  353. package/src/duckdb/src/include/duckdb/storage/meta_block_reader.hpp +7 -0
  354. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +93 -29
  355. package/src/duckdb/src/include/duckdb/storage/statistics/column_statistics.hpp +22 -3
  356. package/src/duckdb/src/include/duckdb/storage/statistics/distinct_statistics.hpp +8 -6
  357. package/src/duckdb/src/include/duckdb/storage/statistics/list_stats.hpp +41 -0
  358. package/src/duckdb/src/include/duckdb/storage/statistics/node_statistics.hpp +26 -0
  359. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats.hpp +114 -0
  360. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_stats_union.hpp +62 -0
  361. package/src/duckdb/src/include/duckdb/storage/statistics/segment_statistics.hpp +2 -7
  362. package/src/duckdb/src/include/duckdb/storage/statistics/string_stats.hpp +74 -0
  363. package/src/duckdb/src/include/duckdb/storage/statistics/struct_stats.hpp +42 -0
  364. package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +2 -3
  365. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +2 -1
  366. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +21 -7
  367. package/src/duckdb/src/include/duckdb/storage/table/column_data_checkpointer.hpp +3 -2
  368. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +5 -6
  369. package/src/duckdb/src/include/duckdb/storage/table/column_segment_tree.hpp +18 -0
  370. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
  371. package/src/duckdb/src/include/duckdb/storage/table/persistent_table_data.hpp +6 -3
  372. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +41 -45
  373. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +23 -7
  374. package/src/duckdb/src/include/duckdb/storage/table/row_group_segment_tree.hpp +35 -0
  375. package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +21 -29
  376. package/src/duckdb/src/include/duckdb/storage/table/segment_base.hpp +6 -6
  377. package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +281 -26
  378. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +0 -4
  379. package/src/duckdb/src/include/duckdb/storage/table/table_statistics.hpp +5 -0
  380. package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +0 -1
  381. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +1 -1
  382. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +6 -3
  383. package/src/duckdb/src/include/duckdb.h +71 -2
  384. package/src/duckdb/src/include/duckdb.hpp +0 -1
  385. package/src/duckdb/src/main/capi/pending-c.cpp +16 -3
  386. package/src/duckdb/src/main/capi/result-c.cpp +27 -1
  387. package/src/duckdb/src/main/capi/stream-c.cpp +25 -0
  388. package/src/duckdb/src/main/capi/table_function-c.cpp +23 -0
  389. package/src/duckdb/src/main/client_context.cpp +38 -34
  390. package/src/duckdb/src/main/client_data.cpp +7 -6
  391. package/src/duckdb/src/main/config.cpp +70 -1
  392. package/src/duckdb/src/main/database.cpp +19 -2
  393. package/src/duckdb/src/main/extension/extension_install.cpp +7 -2
  394. package/src/duckdb/src/main/prepared_statement.cpp +4 -0
  395. package/src/duckdb/src/main/query_profiler.cpp +17 -15
  396. package/src/duckdb/src/main/relation/explain_relation.cpp +3 -3
  397. package/src/duckdb/src/main/relation.cpp +3 -2
  398. package/src/duckdb/src/main/settings/settings.cpp +20 -8
  399. package/src/duckdb/src/optimizer/column_lifetime_analyzer.cpp +1 -0
  400. package/src/duckdb/src/optimizer/deliminator.cpp +1 -1
  401. package/src/duckdb/src/optimizer/filter_combiner.cpp +3 -6
  402. package/src/duckdb/src/optimizer/filter_pullup.cpp +3 -1
  403. package/src/duckdb/src/optimizer/filter_pushdown.cpp +14 -8
  404. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +107 -71
  405. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +32 -12
  406. package/src/duckdb/src/optimizer/optimizer.cpp +1 -0
  407. package/src/duckdb/src/optimizer/pullup/pullup_from_left.cpp +2 -2
  408. package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +33 -5
  409. package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +1 -1
  410. package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +3 -0
  411. package/src/duckdb/src/optimizer/pushdown/pushdown_left_join.cpp +5 -12
  412. package/src/duckdb/src/optimizer/pushdown/pushdown_mark_join.cpp +2 -2
  413. package/src/duckdb/src/optimizer/pushdown/pushdown_single_join.cpp +1 -1
  414. package/src/duckdb/src/optimizer/remove_unused_columns.cpp +1 -0
  415. package/src/duckdb/src/optimizer/rule/move_constants.cpp +10 -4
  416. package/src/duckdb/src/optimizer/rule/ordered_aggregate_optimizer.cpp +30 -0
  417. package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +9 -2
  418. package/src/duckdb/src/optimizer/statistics/expression/propagate_aggregate.cpp +9 -3
  419. package/src/duckdb/src/optimizer/statistics/expression/propagate_and_compress.cpp +6 -7
  420. package/src/duckdb/src/optimizer/statistics/expression/propagate_cast.cpp +14 -11
  421. package/src/duckdb/src/optimizer/statistics/expression/propagate_columnref.cpp +1 -1
  422. package/src/duckdb/src/optimizer/statistics/expression/propagate_comparison.cpp +13 -15
  423. package/src/duckdb/src/optimizer/statistics/expression/propagate_conjunction.cpp +0 -1
  424. package/src/duckdb/src/optimizer/statistics/expression/propagate_constant.cpp +3 -75
  425. package/src/duckdb/src/optimizer/statistics/expression/propagate_function.cpp +7 -2
  426. package/src/duckdb/src/optimizer/statistics/expression/propagate_operator.cpp +10 -0
  427. package/src/duckdb/src/optimizer/statistics/operator/propagate_aggregate.cpp +2 -3
  428. package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +29 -32
  429. package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +5 -5
  430. package/src/duckdb/src/optimizer/statistics/operator/propagate_set_operation.cpp +3 -3
  431. package/src/duckdb/src/optimizer/statistics_propagator.cpp +2 -1
  432. package/src/duckdb/src/optimizer/unnest_rewriter.cpp +2 -2
  433. package/src/duckdb/src/parallel/meta_pipeline.cpp +0 -7
  434. package/src/duckdb/src/parser/common_table_expression_info.cpp +19 -0
  435. package/src/duckdb/src/parser/expression/between_expression.cpp +17 -0
  436. package/src/duckdb/src/parser/expression/case_expression.cpp +28 -0
  437. package/src/duckdb/src/parser/expression/cast_expression.cpp +17 -0
  438. package/src/duckdb/src/parser/expression/collate_expression.cpp +16 -0
  439. package/src/duckdb/src/parser/expression/columnref_expression.cpp +15 -0
  440. package/src/duckdb/src/parser/expression/comparison_expression.cpp +16 -0
  441. package/src/duckdb/src/parser/expression/conjunction_expression.cpp +17 -0
  442. package/src/duckdb/src/parser/expression/constant_expression.cpp +14 -0
  443. package/src/duckdb/src/parser/expression/default_expression.cpp +7 -0
  444. package/src/duckdb/src/parser/expression/function_expression.cpp +35 -0
  445. package/src/duckdb/src/parser/expression/lambda_expression.cpp +16 -0
  446. package/src/duckdb/src/parser/expression/operator_expression.cpp +15 -0
  447. package/src/duckdb/src/parser/expression/parameter_expression.cpp +15 -0
  448. package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +14 -0
  449. package/src/duckdb/src/parser/expression/star_expression.cpp +26 -6
  450. package/src/duckdb/src/parser/expression/subquery_expression.cpp +20 -0
  451. package/src/duckdb/src/parser/expression/window_expression.cpp +43 -0
  452. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +7 -3
  453. package/src/duckdb/src/parser/parsed_data/alter_scalar_function_info.cpp +56 -0
  454. package/src/duckdb/src/parser/parsed_data/alter_table_function_info.cpp +51 -0
  455. package/src/duckdb/src/parser/parsed_data/create_scalar_function_info.cpp +3 -2
  456. package/src/duckdb/src/parser/parsed_data/create_table_function_info.cpp +6 -0
  457. package/src/duckdb/src/parser/parsed_data/sample_options.cpp +22 -10
  458. package/src/duckdb/src/parser/parsed_expression.cpp +72 -0
  459. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +15 -1
  460. package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +21 -0
  461. package/src/duckdb/src/parser/query_node/select_node.cpp +31 -0
  462. package/src/duckdb/src/parser/query_node/set_operation_node.cpp +17 -0
  463. package/src/duckdb/src/parser/query_node.cpp +51 -1
  464. package/src/duckdb/src/parser/result_modifier.cpp +78 -0
  465. package/src/duckdb/src/parser/statement/multi_statement.cpp +18 -0
  466. package/src/duckdb/src/parser/statement/select_statement.cpp +12 -0
  467. package/src/duckdb/src/parser/tableref/basetableref.cpp +21 -0
  468. package/src/duckdb/src/parser/tableref/emptytableref.cpp +4 -0
  469. package/src/duckdb/src/parser/tableref/expressionlistref.cpp +17 -0
  470. package/src/duckdb/src/parser/tableref/joinref.cpp +29 -0
  471. package/src/duckdb/src/parser/tableref/pivotref.cpp +373 -0
  472. package/src/duckdb/src/parser/tableref/subqueryref.cpp +15 -0
  473. package/src/duckdb/src/parser/tableref/table_function.cpp +17 -0
  474. package/src/duckdb/src/parser/tableref.cpp +49 -0
  475. package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +11 -0
  476. package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +1 -1
  477. package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +17 -2
  478. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +85 -42
  479. package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +1 -1
  480. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +1 -1
  481. package/src/duckdb/src/parser/transform/helpers/transform_alias.cpp +12 -6
  482. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +24 -0
  483. package/src/duckdb/src/parser/transform/helpers/transform_groupby.cpp +7 -0
  484. package/src/duckdb/src/parser/transform/helpers/transform_orderby.cpp +0 -7
  485. package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +3 -2
  486. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +4 -0
  487. package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +4 -0
  488. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +179 -0
  489. package/src/duckdb/src/parser/transform/statement/transform_rename.cpp +3 -4
  490. package/src/duckdb/src/parser/transform/statement/transform_select.cpp +8 -0
  491. package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +2 -3
  492. package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +12 -1
  493. package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +121 -0
  494. package/src/duckdb/src/parser/transform/tableref/transform_tableref.cpp +2 -0
  495. package/src/duckdb/src/parser/transformer.cpp +15 -3
  496. package/src/duckdb/src/planner/bind_context.cpp +18 -25
  497. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +9 -7
  498. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +4 -3
  499. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +23 -12
  500. package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +3 -2
  501. package/src/duckdb/src/planner/binder/expression/bind_star_expression.cpp +176 -0
  502. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +4 -0
  503. package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +163 -24
  504. package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +2 -2
  505. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +109 -94
  506. package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +11 -0
  507. package/src/duckdb/src/planner/binder/query_node/plan_select_node.cpp +9 -4
  508. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +5 -3
  509. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +3 -2
  510. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +10 -1
  511. package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +1 -1
  512. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +12 -8
  513. package/src/duckdb/src/planner/binder/statement/bind_logical_plan.cpp +17 -0
  514. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +4 -2
  515. package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +19 -3
  516. package/src/duckdb/src/planner/binder/tableref/bind_pivot.cpp +366 -0
  517. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +11 -1
  518. package/src/duckdb/src/planner/binder/tableref/plan_cteref.cpp +1 -0
  519. package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +61 -13
  520. package/src/duckdb/src/planner/binder.cpp +19 -24
  521. package/src/duckdb/src/planner/bound_result_modifier.cpp +27 -1
  522. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +9 -2
  523. package/src/duckdb/src/planner/expression/bound_expression.cpp +4 -0
  524. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +1 -1
  525. package/src/duckdb/src/planner/expression_binder/base_select_binder.cpp +146 -0
  526. package/src/duckdb/src/planner/expression_binder/having_binder.cpp +6 -3
  527. package/src/duckdb/src/planner/expression_binder/qualify_binder.cpp +3 -3
  528. package/src/duckdb/src/planner/expression_binder/select_binder.cpp +1 -132
  529. package/src/duckdb/src/planner/expression_binder.cpp +10 -3
  530. package/src/duckdb/src/planner/expression_iterator.cpp +17 -10
  531. package/src/duckdb/src/planner/filter/constant_filter.cpp +4 -6
  532. package/src/duckdb/src/planner/logical_operator.cpp +7 -2
  533. package/src/duckdb/src/planner/logical_operator_visitor.cpp +6 -0
  534. package/src/duckdb/src/planner/operator/logical_asof_join.cpp +8 -0
  535. package/src/duckdb/src/planner/operator/logical_distinct.cpp +3 -0
  536. package/src/duckdb/src/planner/planner.cpp +2 -1
  537. package/src/duckdb/src/planner/pragma_handler.cpp +10 -2
  538. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +3 -1
  539. package/src/duckdb/src/storage/buffer_manager.cpp +44 -46
  540. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +1 -1
  541. package/src/duckdb/src/storage/checkpoint/table_data_reader.cpp +4 -15
  542. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +10 -4
  543. package/src/duckdb/src/storage/checkpoint_manager.cpp +9 -3
  544. package/src/duckdb/src/storage/compression/bitpacking.cpp +29 -25
  545. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +45 -46
  546. package/src/duckdb/src/storage/compression/numeric_constant.cpp +10 -11
  547. package/src/duckdb/src/storage/compression/patas.cpp +1 -1
  548. package/src/duckdb/src/storage/compression/rle.cpp +20 -15
  549. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +6 -6
  550. package/src/duckdb/src/storage/data_table.cpp +23 -23
  551. package/src/duckdb/src/storage/index.cpp +12 -1
  552. package/src/duckdb/src/storage/local_storage.cpp +27 -23
  553. package/src/duckdb/src/storage/meta_block_reader.cpp +22 -0
  554. package/src/duckdb/src/storage/statistics/base_statistics.cpp +373 -128
  555. package/src/duckdb/src/storage/statistics/column_statistics.cpp +57 -3
  556. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +8 -9
  557. package/src/duckdb/src/storage/statistics/list_stats.cpp +121 -0
  558. package/src/duckdb/src/storage/statistics/numeric_stats.cpp +591 -0
  559. package/src/duckdb/src/storage/statistics/numeric_stats_union.cpp +65 -0
  560. package/src/duckdb/src/storage/statistics/segment_statistics.cpp +2 -11
  561. package/src/duckdb/src/storage/statistics/string_stats.cpp +273 -0
  562. package/src/duckdb/src/storage/statistics/struct_stats.cpp +133 -0
  563. package/src/duckdb/src/storage/storage_info.cpp +2 -2
  564. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +4 -10
  565. package/src/duckdb/src/storage/table/column_data.cpp +118 -62
  566. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +10 -9
  567. package/src/duckdb/src/storage/table/column_segment.cpp +30 -45
  568. package/src/duckdb/src/storage/table/list_column_data.cpp +50 -71
  569. package/src/duckdb/src/storage/table/persistent_table_data.cpp +2 -1
  570. package/src/duckdb/src/storage/table/row_group.cpp +213 -143
  571. package/src/duckdb/src/storage/table/row_group_collection.cpp +151 -105
  572. package/src/duckdb/src/storage/table/scan_state.cpp +45 -33
  573. package/src/duckdb/src/storage/table/standard_column_data.cpp +11 -12
  574. package/src/duckdb/src/storage/table/struct_column_data.cpp +27 -34
  575. package/src/duckdb/src/storage/table/table_statistics.cpp +27 -7
  576. package/src/duckdb/src/storage/table/update_segment.cpp +23 -18
  577. package/src/duckdb/src/storage/wal_replay.cpp +8 -5
  578. package/src/duckdb/src/storage/write_ahead_log.cpp +2 -2
  579. package/src/duckdb/src/transaction/commit_state.cpp +11 -7
  580. package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +0 -1
  581. package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +35 -0
  582. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +36 -2
  583. package/src/duckdb/third_party/libpg_query/include/nodes/primnodes.hpp +3 -3
  584. package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +1022 -530
  585. package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +8 -0
  586. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +24462 -22828
  587. package/src/duckdb/third_party/re2/re2/re2.cc +9 -0
  588. package/src/duckdb/third_party/re2/re2/re2.h +2 -0
  589. package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +4 -4
  590. package/src/duckdb/ub_extension_json_json_functions.cpp +2 -0
  591. package/src/duckdb/ub_src_common_serializer.cpp +2 -0
  592. package/src/duckdb/ub_src_common_types.cpp +2 -0
  593. package/src/duckdb/ub_src_execution_physical_plan.cpp +2 -0
  594. package/src/duckdb/ub_src_function_aggregate_distributive.cpp +2 -0
  595. package/src/duckdb/ub_src_function_scalar_bit.cpp +2 -0
  596. package/src/duckdb/ub_src_function_scalar_map.cpp +4 -0
  597. package/src/duckdb/ub_src_function_scalar_string.cpp +2 -0
  598. package/src/duckdb/ub_src_function_scalar_string_regexp.cpp +4 -0
  599. package/src/duckdb/ub_src_main_capi.cpp +2 -0
  600. package/src/duckdb/ub_src_optimizer_rule.cpp +2 -0
  601. package/src/duckdb/ub_src_parser.cpp +2 -0
  602. package/src/duckdb/ub_src_parser_parsed_data.cpp +4 -2
  603. package/src/duckdb/ub_src_parser_statement.cpp +2 -0
  604. package/src/duckdb/ub_src_parser_tableref.cpp +2 -0
  605. package/src/duckdb/ub_src_parser_transform_statement.cpp +2 -0
  606. package/src/duckdb/ub_src_parser_transform_tableref.cpp +2 -0
  607. package/src/duckdb/ub_src_planner_binder_expression.cpp +2 -0
  608. package/src/duckdb/ub_src_planner_binder_tableref.cpp +2 -0
  609. package/src/duckdb/ub_src_planner_expression_binder.cpp +2 -0
  610. package/src/duckdb/ub_src_planner_operator.cpp +2 -0
  611. package/src/duckdb/ub_src_storage_statistics.cpp +6 -6
  612. package/src/duckdb/ub_src_storage_table.cpp +0 -2
  613. package/src/duckdb_node.hpp +2 -1
  614. package/src/statement.cpp +5 -5
  615. package/src/utils.cpp +27 -2
  616. package/test/extension.test.ts +44 -26
  617. package/test/syntax_error.test.ts +3 -1
  618. package/filelist.cache +0 -0
  619. package/src/duckdb/src/include/duckdb/main/loadable_extension.hpp +0 -59
  620. package/src/duckdb/src/include/duckdb/storage/statistics/list_statistics.hpp +0 -36
  621. package/src/duckdb/src/include/duckdb/storage/statistics/numeric_statistics.hpp +0 -75
  622. package/src/duckdb/src/include/duckdb/storage/statistics/string_statistics.hpp +0 -49
  623. package/src/duckdb/src/include/duckdb/storage/statistics/struct_statistics.hpp +0 -36
  624. package/src/duckdb/src/include/duckdb/storage/statistics/validity_statistics.hpp +0 -45
  625. package/src/duckdb/src/parser/parsed_data/alter_function_info.cpp +0 -55
  626. package/src/duckdb/src/storage/statistics/list_statistics.cpp +0 -94
  627. package/src/duckdb/src/storage/statistics/numeric_statistics.cpp +0 -307
  628. package/src/duckdb/src/storage/statistics/string_statistics.cpp +0 -220
  629. package/src/duckdb/src/storage/statistics/struct_statistics.cpp +0 -108
  630. package/src/duckdb/src/storage/statistics/validity_statistics.cpp +0 -91
  631. package/src/duckdb/src/storage/table/segment_tree.cpp +0 -179
@@ -1,14 +1,14 @@
1
- /* A Bison parser, made by GNU Bison 3.5.1. */
1
+ /* A Bison parser, made by GNU Bison 2.3. */
2
2
 
3
- /* Bison interface for Yacc-like parsers in C
3
+ /* Skeleton interface for Bison's Yacc-like parsers in C
4
4
 
5
- Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6
- Inc.
5
+ Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6
+ Free Software Foundation, Inc.
7
7
 
8
- This program is free software: you can redistribute it and/or modify
8
+ This program is free software; you can redistribute it and/or modify
9
9
  it under the terms of the GNU General Public License as published by
10
- the Free Software Foundation, either version 3 of the License, or
11
- (at your option) any later version.
10
+ the Free Software Foundation; either version 2, or (at your option)
11
+ any later version.
12
12
 
13
13
  This program is distributed in the hope that it will be useful,
14
14
  but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -16,7 +16,9 @@
16
16
  GNU General Public License for more details.
17
17
 
18
18
  You should have received a copy of the GNU General Public License
19
- along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
+ along with this program; if not, write to the Free Software
20
+ Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
+ Boston, MA 02110-1301, USA. */
20
22
 
21
23
  /* As a special exception, you may create a larger work that contains
22
24
  part or all of the Bison parser skeleton and distribute that work
@@ -31,520 +33,1013 @@
31
33
  This special exception was added by the Free Software Foundation in
32
34
  version 2.2 of Bison. */
33
35
 
34
- /* Undocumented macros, especially those whose name start with YY_,
35
- are private implementation details. Do not rely on them. */
36
-
37
- #ifndef YY_BASE_YY_THIRD_PARTY_LIBPG_QUERY_GRAMMAR_GRAMMAR_OUT_HPP_INCLUDED
38
- # define YY_BASE_YY_THIRD_PARTY_LIBPG_QUERY_GRAMMAR_GRAMMAR_OUT_HPP_INCLUDED
39
- /* Debug traces. */
40
- #ifndef YYDEBUG
41
- # define YYDEBUG 0
42
- #endif
43
- #if YYDEBUG
44
- extern int base_yydebug;
45
- #endif
46
-
47
- /* Token type. */
36
+ /* Tokens. */
48
37
  #ifndef YYTOKENTYPE
49
38
  # define YYTOKENTYPE
50
- enum yytokentype
51
- {
52
- IDENT = 258,
53
- FCONST = 259,
54
- SCONST = 260,
55
- BCONST = 261,
56
- XCONST = 262,
57
- Op = 263,
58
- ICONST = 264,
59
- PARAM = 265,
60
- TYPECAST = 266,
61
- DOT_DOT = 267,
62
- COLON_EQUALS = 268,
63
- EQUALS_GREATER = 269,
64
- POWER_OF = 270,
65
- LAMBDA_ARROW = 271,
66
- DOUBLE_ARROW = 272,
67
- LESS_EQUALS = 273,
68
- GREATER_EQUALS = 274,
69
- NOT_EQUALS = 275,
70
- ABORT_P = 276,
71
- ABSOLUTE_P = 277,
72
- ACCESS = 278,
73
- ACTION = 279,
74
- ADD_P = 280,
75
- ADMIN = 281,
76
- AFTER = 282,
77
- AGGREGATE = 283,
78
- ALL = 284,
79
- ALSO = 285,
80
- ALTER = 286,
81
- ALWAYS = 287,
82
- ANALYSE = 288,
83
- ANALYZE = 289,
84
- AND = 290,
85
- ANY = 291,
86
- ARRAY = 292,
87
- AS = 293,
88
- ASC_P = 294,
89
- ASSERTION = 295,
90
- ASSIGNMENT = 296,
91
- ASYMMETRIC = 297,
92
- AT = 298,
93
- ATTACH = 299,
94
- ATTRIBUTE = 300,
95
- AUTHORIZATION = 301,
96
- BACKWARD = 302,
97
- BEFORE = 303,
98
- BEGIN_P = 304,
99
- BETWEEN = 305,
100
- BIGINT = 306,
101
- BINARY = 307,
102
- BIT = 308,
103
- BOOLEAN_P = 309,
104
- BOTH = 310,
105
- BY = 311,
106
- CACHE = 312,
107
- CALL_P = 313,
108
- CALLED = 314,
109
- CASCADE = 315,
110
- CASCADED = 316,
111
- CASE = 317,
112
- CAST = 318,
113
- CATALOG_P = 319,
114
- CHAIN = 320,
115
- CHAR_P = 321,
116
- CHARACTER = 322,
117
- CHARACTERISTICS = 323,
118
- CHECK_P = 324,
119
- CHECKPOINT = 325,
120
- CLASS = 326,
121
- CLOSE = 327,
122
- CLUSTER = 328,
123
- COALESCE = 329,
124
- COLLATE = 330,
125
- COLLATION = 331,
126
- COLUMN = 332,
127
- COLUMNS = 333,
128
- COMMENT = 334,
129
- COMMENTS = 335,
130
- COMMIT = 336,
131
- COMMITTED = 337,
132
- COMPRESSION = 338,
133
- CONCURRENTLY = 339,
134
- CONFIGURATION = 340,
135
- CONFLICT = 341,
136
- CONNECTION = 342,
137
- CONSTRAINT = 343,
138
- CONSTRAINTS = 344,
139
- CONTENT_P = 345,
140
- CONTINUE_P = 346,
141
- CONVERSION_P = 347,
142
- COPY = 348,
143
- COST = 349,
144
- CREATE_P = 350,
145
- CROSS = 351,
146
- CSV = 352,
147
- CUBE = 353,
148
- CURRENT_P = 354,
149
- CURRENT_CATALOG = 355,
150
- CURRENT_DATE = 356,
151
- CURRENT_ROLE = 357,
152
- CURRENT_SCHEMA = 358,
153
- CURRENT_TIME = 359,
154
- CURRENT_TIMESTAMP = 360,
155
- CURRENT_USER = 361,
156
- CURSOR = 362,
157
- CYCLE = 363,
158
- DATA_P = 364,
159
- DATABASE = 365,
160
- DAY_P = 366,
161
- DAYS_P = 367,
162
- DEALLOCATE = 368,
163
- DEC = 369,
164
- DECIMAL_P = 370,
165
- DECLARE = 371,
166
- DEFAULT = 372,
167
- DEFAULTS = 373,
168
- DEFERRABLE = 374,
169
- DEFERRED = 375,
170
- DEFINER = 376,
171
- DELETE_P = 377,
172
- DELIMITER = 378,
173
- DELIMITERS = 379,
174
- DEPENDS = 380,
175
- DESC_P = 381,
176
- DESCRIBE = 382,
177
- DETACH = 383,
178
- DICTIONARY = 384,
179
- DISABLE_P = 385,
180
- DISCARD = 386,
181
- DISTINCT = 387,
182
- DO = 388,
183
- DOCUMENT_P = 389,
184
- DOMAIN_P = 390,
185
- DOUBLE_P = 391,
186
- DROP = 392,
187
- EACH = 393,
188
- ELSE = 394,
189
- ENABLE_P = 395,
190
- ENCODING = 396,
191
- ENCRYPTED = 397,
192
- END_P = 398,
193
- ENUM_P = 399,
194
- ESCAPE = 400,
195
- EVENT = 401,
196
- EXCEPT = 402,
197
- EXCLUDE = 403,
198
- EXCLUDING = 404,
199
- EXCLUSIVE = 405,
200
- EXECUTE = 406,
201
- EXISTS = 407,
202
- EXPLAIN = 408,
203
- EXPORT_P = 409,
204
- EXPORT_STATE = 410,
205
- EXTENSION = 411,
206
- EXTERNAL = 412,
207
- EXTRACT = 413,
208
- FALSE_P = 414,
209
- FAMILY = 415,
210
- FETCH = 416,
211
- FILTER = 417,
212
- FIRST_P = 418,
213
- FLOAT_P = 419,
214
- FOLLOWING = 420,
215
- FOR = 421,
216
- FORCE = 422,
217
- FOREIGN = 423,
218
- FORWARD = 424,
219
- FREEZE = 425,
220
- FROM = 426,
221
- FULL = 427,
222
- FUNCTION = 428,
223
- FUNCTIONS = 429,
224
- GENERATED = 430,
225
- GLOB = 431,
226
- GLOBAL = 432,
227
- GRANT = 433,
228
- GRANTED = 434,
229
- GROUP_P = 435,
230
- GROUPING = 436,
231
- GROUPING_ID = 437,
232
- HANDLER = 438,
233
- HAVING = 439,
234
- HEADER_P = 440,
235
- HOLD = 441,
236
- HOUR_P = 442,
237
- HOURS_P = 443,
238
- IDENTITY_P = 444,
239
- IF_P = 445,
240
- IGNORE_P = 446,
241
- ILIKE = 447,
242
- IMMEDIATE = 448,
243
- IMMUTABLE = 449,
244
- IMPLICIT_P = 450,
245
- IMPORT_P = 451,
246
- IN_P = 452,
247
- INCLUDING = 453,
248
- INCREMENT = 454,
249
- INDEX = 455,
250
- INDEXES = 456,
251
- INHERIT = 457,
252
- INHERITS = 458,
253
- INITIALLY = 459,
254
- INLINE_P = 460,
255
- INNER_P = 461,
256
- INOUT = 462,
257
- INPUT_P = 463,
258
- INSENSITIVE = 464,
259
- INSERT = 465,
260
- INSTALL = 466,
261
- INSTEAD = 467,
262
- INT_P = 468,
263
- INTEGER = 469,
264
- INTERSECT = 470,
265
- INTERVAL = 471,
266
- INTO = 472,
267
- INVOKER = 473,
268
- IS = 474,
269
- ISNULL = 475,
270
- ISOLATION = 476,
271
- JOIN = 477,
272
- JSON = 478,
273
- KEY = 479,
274
- LABEL = 480,
275
- LANGUAGE = 481,
276
- LARGE_P = 482,
277
- LAST_P = 483,
278
- LATERAL_P = 484,
279
- LEADING = 485,
280
- LEAKPROOF = 486,
281
- LEFT = 487,
282
- LEVEL = 488,
283
- LIKE = 489,
284
- LIMIT = 490,
285
- LISTEN = 491,
286
- LOAD = 492,
287
- LOCAL = 493,
288
- LOCALTIME = 494,
289
- LOCALTIMESTAMP = 495,
290
- LOCATION = 496,
291
- LOCK_P = 497,
292
- LOCKED = 498,
293
- LOGGED = 499,
294
- MACRO = 500,
295
- MAP = 501,
296
- MAPPING = 502,
297
- MATCH = 503,
298
- MATERIALIZED = 504,
299
- MAXVALUE = 505,
300
- METHOD = 506,
301
- MICROSECOND_P = 507,
302
- MICROSECONDS_P = 508,
303
- MILLISECOND_P = 509,
304
- MILLISECONDS_P = 510,
305
- MINUTE_P = 511,
306
- MINUTES_P = 512,
307
- MINVALUE = 513,
308
- MODE = 514,
309
- MONTH_P = 515,
310
- MONTHS_P = 516,
311
- MOVE = 517,
312
- NAME_P = 518,
313
- NAMES = 519,
314
- NATIONAL = 520,
315
- NATURAL = 521,
316
- NCHAR = 522,
317
- NEW = 523,
318
- NEXT = 524,
319
- NO = 525,
320
- NONE = 526,
321
- NOT = 527,
322
- NOTHING = 528,
323
- NOTIFY = 529,
324
- NOTNULL = 530,
325
- NOWAIT = 531,
326
- NULL_P = 532,
327
- NULLIF = 533,
328
- NULLS_P = 534,
329
- NUMERIC = 535,
330
- OBJECT_P = 536,
331
- OF = 537,
332
- OFF = 538,
333
- OFFSET = 539,
334
- OIDS = 540,
335
- OLD = 541,
336
- ON = 542,
337
- ONLY = 543,
338
- OPERATOR = 544,
339
- OPTION = 545,
340
- OPTIONS = 546,
341
- OR = 547,
342
- ORDER = 548,
343
- ORDINALITY = 549,
344
- OUT_P = 550,
345
- OUTER_P = 551,
346
- OVER = 552,
347
- OVERLAPS = 553,
348
- OVERLAY = 554,
349
- OVERRIDING = 555,
350
- OWNED = 556,
351
- OWNER = 557,
352
- PARALLEL = 558,
353
- PARSER = 559,
354
- PARTIAL = 560,
355
- PARTITION = 561,
356
- PASSING = 562,
357
- PASSWORD = 563,
358
- PERCENT = 564,
359
- PLACING = 565,
360
- PLANS = 566,
361
- POLICY = 567,
362
- POSITION = 568,
363
- POSITIONAL = 569,
364
- PRAGMA_P = 570,
365
- PRECEDING = 571,
366
- PRECISION = 572,
367
- PREPARE = 573,
368
- PREPARED = 574,
369
- PRESERVE = 575,
370
- PRIMARY = 576,
371
- PRIOR = 577,
372
- PRIVILEGES = 578,
373
- PROCEDURAL = 579,
374
- PROCEDURE = 580,
375
- PROGRAM = 581,
376
- PUBLICATION = 582,
377
- QUALIFY = 583,
378
- QUOTE = 584,
379
- RANGE = 585,
380
- READ_P = 586,
381
- REAL = 587,
382
- REASSIGN = 588,
383
- RECHECK = 589,
384
- RECURSIVE = 590,
385
- REF = 591,
386
- REFERENCES = 592,
387
- REFERENCING = 593,
388
- REFRESH = 594,
389
- REINDEX = 595,
390
- RELATIVE_P = 596,
391
- RELEASE = 597,
392
- RENAME = 598,
393
- REPEATABLE = 599,
394
- REPLACE = 600,
395
- REPLICA = 601,
396
- RESET = 602,
397
- RESPECT_P = 603,
398
- RESTART = 604,
399
- RESTRICT = 605,
400
- RETURNING = 606,
401
- RETURNS = 607,
402
- REVOKE = 608,
403
- RIGHT = 609,
404
- ROLE = 610,
405
- ROLLBACK = 611,
406
- ROLLUP = 612,
407
- ROW = 613,
408
- ROWS = 614,
409
- RULE = 615,
410
- SAMPLE = 616,
411
- SAVEPOINT = 617,
412
- SCHEMA = 618,
413
- SCHEMAS = 619,
414
- SCROLL = 620,
415
- SEARCH = 621,
416
- SECOND_P = 622,
417
- SECONDS_P = 623,
418
- SECURITY = 624,
419
- SELECT = 625,
420
- SEQUENCE = 626,
421
- SEQUENCES = 627,
422
- SERIALIZABLE = 628,
423
- SERVER = 629,
424
- SESSION = 630,
425
- SESSION_USER = 631,
426
- SET = 632,
427
- SETOF = 633,
428
- SETS = 634,
429
- SHARE = 635,
430
- SHOW = 636,
431
- SIMILAR = 637,
432
- SIMPLE = 638,
433
- SKIP = 639,
434
- SMALLINT = 640,
435
- SNAPSHOT = 641,
436
- SOME = 642,
437
- SQL_P = 643,
438
- STABLE = 644,
439
- STANDALONE_P = 645,
440
- START = 646,
441
- STATEMENT = 647,
442
- STATISTICS = 648,
443
- STDIN = 649,
444
- STDOUT = 650,
445
- STORAGE = 651,
446
- STORED = 652,
447
- STRICT_P = 653,
448
- STRIP_P = 654,
449
- STRUCT = 655,
450
- SUBSCRIPTION = 656,
451
- SUBSTRING = 657,
452
- SUMMARIZE = 658,
453
- SYMMETRIC = 659,
454
- SYSID = 660,
455
- SYSTEM_P = 661,
456
- TABLE = 662,
457
- TABLES = 663,
458
- TABLESAMPLE = 664,
459
- TABLESPACE = 665,
460
- TEMP = 666,
461
- TEMPLATE = 667,
462
- TEMPORARY = 668,
463
- TEXT_P = 669,
464
- THEN = 670,
465
- TIME = 671,
466
- TIMESTAMP = 672,
467
- TO = 673,
468
- TRAILING = 674,
469
- TRANSACTION = 675,
470
- TRANSFORM = 676,
471
- TREAT = 677,
472
- TRIGGER = 678,
473
- TRIM = 679,
474
- TRUE_P = 680,
475
- TRUNCATE = 681,
476
- TRUSTED = 682,
477
- TRY_CAST = 683,
478
- TYPE_P = 684,
479
- TYPES_P = 685,
480
- UNBOUNDED = 686,
481
- UNCOMMITTED = 687,
482
- UNENCRYPTED = 688,
483
- UNION = 689,
484
- UNIQUE = 690,
485
- UNKNOWN = 691,
486
- UNLISTEN = 692,
487
- UNLOGGED = 693,
488
- UNTIL = 694,
489
- UPDATE = 695,
490
- USE_P = 696,
491
- USER = 697,
492
- USING = 698,
493
- VACUUM = 699,
494
- VALID = 700,
495
- VALIDATE = 701,
496
- VALIDATOR = 702,
497
- VALUE_P = 703,
498
- VALUES = 704,
499
- VARCHAR = 705,
500
- VARIADIC = 706,
501
- VARYING = 707,
502
- VERBOSE = 708,
503
- VERSION_P = 709,
504
- VIEW = 710,
505
- VIEWS = 711,
506
- VIRTUAL = 712,
507
- VOLATILE = 713,
508
- WHEN = 714,
509
- WHERE = 715,
510
- WHITESPACE_P = 716,
511
- WINDOW = 717,
512
- WITH = 718,
513
- WITHIN = 719,
514
- WITHOUT = 720,
515
- WORK = 721,
516
- WRAPPER = 722,
517
- WRITE_P = 723,
518
- XML_P = 724,
519
- XMLATTRIBUTES = 725,
520
- XMLCONCAT = 726,
521
- XMLELEMENT = 727,
522
- XMLEXISTS = 728,
523
- XMLFOREST = 729,
524
- XMLNAMESPACES = 730,
525
- XMLPARSE = 731,
526
- XMLPI = 732,
527
- XMLROOT = 733,
528
- XMLSERIALIZE = 734,
529
- XMLTABLE = 735,
530
- YEAR_P = 736,
531
- YEARS_P = 737,
532
- YES_P = 738,
533
- ZONE = 739,
534
- NOT_LA = 740,
535
- NULLS_LA = 741,
536
- WITH_LA = 742,
537
- POSTFIXOP = 743,
538
- UMINUS = 744
539
- };
39
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
40
+ know about them. */
41
+ enum yytokentype {
42
+ IDENT = 258,
43
+ FCONST = 259,
44
+ SCONST = 260,
45
+ BCONST = 261,
46
+ XCONST = 262,
47
+ Op = 263,
48
+ ICONST = 264,
49
+ PARAM = 265,
50
+ TYPECAST = 266,
51
+ DOT_DOT = 267,
52
+ COLON_EQUALS = 268,
53
+ EQUALS_GREATER = 269,
54
+ POWER_OF = 270,
55
+ LAMBDA_ARROW = 271,
56
+ DOUBLE_ARROW = 272,
57
+ LESS_EQUALS = 273,
58
+ GREATER_EQUALS = 274,
59
+ NOT_EQUALS = 275,
60
+ ABORT_P = 276,
61
+ ABSOLUTE_P = 277,
62
+ ACCESS = 278,
63
+ ACTION = 279,
64
+ ADD_P = 280,
65
+ ADMIN = 281,
66
+ AFTER = 282,
67
+ AGGREGATE = 283,
68
+ ALL = 284,
69
+ ALSO = 285,
70
+ ALTER = 286,
71
+ ALWAYS = 287,
72
+ ANALYSE = 288,
73
+ ANALYZE = 289,
74
+ AND = 290,
75
+ ANTI = 291,
76
+ ANY = 292,
77
+ ARRAY = 293,
78
+ AS = 294,
79
+ ASC_P = 295,
80
+ ASOF = 296,
81
+ ASSERTION = 297,
82
+ ASSIGNMENT = 298,
83
+ ASYMMETRIC = 299,
84
+ AT = 300,
85
+ ATTACH = 301,
86
+ ATTRIBUTE = 302,
87
+ AUTHORIZATION = 303,
88
+ BACKWARD = 304,
89
+ BEFORE = 305,
90
+ BEGIN_P = 306,
91
+ BETWEEN = 307,
92
+ BIGINT = 308,
93
+ BINARY = 309,
94
+ BIT = 310,
95
+ BOOLEAN_P = 311,
96
+ BOTH = 312,
97
+ BY = 313,
98
+ CACHE = 314,
99
+ CALL_P = 315,
100
+ CALLED = 316,
101
+ CASCADE = 317,
102
+ CASCADED = 318,
103
+ CASE = 319,
104
+ CAST = 320,
105
+ CATALOG_P = 321,
106
+ CHAIN = 322,
107
+ CHAR_P = 323,
108
+ CHARACTER = 324,
109
+ CHARACTERISTICS = 325,
110
+ CHECK_P = 326,
111
+ CHECKPOINT = 327,
112
+ CLASS = 328,
113
+ CLOSE = 329,
114
+ CLUSTER = 330,
115
+ COALESCE = 331,
116
+ COLLATE = 332,
117
+ COLLATION = 333,
118
+ COLUMN = 334,
119
+ COLUMNS = 335,
120
+ COMMENT = 336,
121
+ COMMENTS = 337,
122
+ COMMIT = 338,
123
+ COMMITTED = 339,
124
+ COMPRESSION = 340,
125
+ CONCURRENTLY = 341,
126
+ CONFIGURATION = 342,
127
+ CONFLICT = 343,
128
+ CONNECTION = 344,
129
+ CONSTRAINT = 345,
130
+ CONSTRAINTS = 346,
131
+ CONTENT_P = 347,
132
+ CONTINUE_P = 348,
133
+ CONVERSION_P = 349,
134
+ COPY = 350,
135
+ COST = 351,
136
+ CREATE_P = 352,
137
+ CROSS = 353,
138
+ CSV = 354,
139
+ CUBE = 355,
140
+ CURRENT_P = 356,
141
+ CURRENT_CATALOG = 357,
142
+ CURRENT_DATE = 358,
143
+ CURRENT_ROLE = 359,
144
+ CURRENT_SCHEMA = 360,
145
+ CURRENT_TIME = 361,
146
+ CURRENT_TIMESTAMP = 362,
147
+ CURRENT_USER = 363,
148
+ CURSOR = 364,
149
+ CYCLE = 365,
150
+ DATA_P = 366,
151
+ DATABASE = 367,
152
+ DAY_P = 368,
153
+ DAYS_P = 369,
154
+ DEALLOCATE = 370,
155
+ DEC = 371,
156
+ DECIMAL_P = 372,
157
+ DECLARE = 373,
158
+ DEFAULT = 374,
159
+ DEFAULTS = 375,
160
+ DEFERRABLE = 376,
161
+ DEFERRED = 377,
162
+ DEFINER = 378,
163
+ DELETE_P = 379,
164
+ DELIMITER = 380,
165
+ DELIMITERS = 381,
166
+ DEPENDS = 382,
167
+ DESC_P = 383,
168
+ DESCRIBE = 384,
169
+ DETACH = 385,
170
+ DICTIONARY = 386,
171
+ DISABLE_P = 387,
172
+ DISCARD = 388,
173
+ DISTINCT = 389,
174
+ DO = 390,
175
+ DOCUMENT_P = 391,
176
+ DOMAIN_P = 392,
177
+ DOUBLE_P = 393,
178
+ DROP = 394,
179
+ EACH = 395,
180
+ ELSE = 396,
181
+ ENABLE_P = 397,
182
+ ENCODING = 398,
183
+ ENCRYPTED = 399,
184
+ END_P = 400,
185
+ ENUM_P = 401,
186
+ ESCAPE = 402,
187
+ EVENT = 403,
188
+ EXCEPT = 404,
189
+ EXCLUDE = 405,
190
+ EXCLUDING = 406,
191
+ EXCLUSIVE = 407,
192
+ EXECUTE = 408,
193
+ EXISTS = 409,
194
+ EXPLAIN = 410,
195
+ EXPORT_P = 411,
196
+ EXPORT_STATE = 412,
197
+ EXTENSION = 413,
198
+ EXTERNAL = 414,
199
+ EXTRACT = 415,
200
+ FALSE_P = 416,
201
+ FAMILY = 417,
202
+ FETCH = 418,
203
+ FILTER = 419,
204
+ FIRST_P = 420,
205
+ FLOAT_P = 421,
206
+ FOLLOWING = 422,
207
+ FOR = 423,
208
+ FORCE = 424,
209
+ FOREIGN = 425,
210
+ FORWARD = 426,
211
+ FREEZE = 427,
212
+ FROM = 428,
213
+ FULL = 429,
214
+ FUNCTION = 430,
215
+ FUNCTIONS = 431,
216
+ GENERATED = 432,
217
+ GLOB = 433,
218
+ GLOBAL = 434,
219
+ GRANT = 435,
220
+ GRANTED = 436,
221
+ GROUP_P = 437,
222
+ GROUPING = 438,
223
+ GROUPING_ID = 439,
224
+ HANDLER = 440,
225
+ HAVING = 441,
226
+ HEADER_P = 442,
227
+ HOLD = 443,
228
+ HOUR_P = 444,
229
+ HOURS_P = 445,
230
+ IDENTITY_P = 446,
231
+ IF_P = 447,
232
+ IGNORE_P = 448,
233
+ ILIKE = 449,
234
+ IMMEDIATE = 450,
235
+ IMMUTABLE = 451,
236
+ IMPLICIT_P = 452,
237
+ IMPORT_P = 453,
238
+ IN_P = 454,
239
+ INCLUDE_P = 455,
240
+ INCLUDING = 456,
241
+ INCREMENT = 457,
242
+ INDEX = 458,
243
+ INDEXES = 459,
244
+ INHERIT = 460,
245
+ INHERITS = 461,
246
+ INITIALLY = 462,
247
+ INLINE_P = 463,
248
+ INNER_P = 464,
249
+ INOUT = 465,
250
+ INPUT_P = 466,
251
+ INSENSITIVE = 467,
252
+ INSERT = 468,
253
+ INSTALL = 469,
254
+ INSTEAD = 470,
255
+ INT_P = 471,
256
+ INTEGER = 472,
257
+ INTERSECT = 473,
258
+ INTERVAL = 474,
259
+ INTO = 475,
260
+ INVOKER = 476,
261
+ IS = 477,
262
+ ISNULL = 478,
263
+ ISOLATION = 479,
264
+ JOIN = 480,
265
+ JSON = 481,
266
+ KEY = 482,
267
+ LABEL = 483,
268
+ LANGUAGE = 484,
269
+ LARGE_P = 485,
270
+ LAST_P = 486,
271
+ LATERAL_P = 487,
272
+ LEADING = 488,
273
+ LEAKPROOF = 489,
274
+ LEFT = 490,
275
+ LEVEL = 491,
276
+ LIKE = 492,
277
+ LIMIT = 493,
278
+ LISTEN = 494,
279
+ LOAD = 495,
280
+ LOCAL = 496,
281
+ LOCALTIME = 497,
282
+ LOCALTIMESTAMP = 498,
283
+ LOCATION = 499,
284
+ LOCK_P = 500,
285
+ LOCKED = 501,
286
+ LOGGED = 502,
287
+ MACRO = 503,
288
+ MAP = 504,
289
+ MAPPING = 505,
290
+ MATCH = 506,
291
+ MATERIALIZED = 507,
292
+ MAXVALUE = 508,
293
+ METHOD = 509,
294
+ MICROSECOND_P = 510,
295
+ MICROSECONDS_P = 511,
296
+ MILLISECOND_P = 512,
297
+ MILLISECONDS_P = 513,
298
+ MINUTE_P = 514,
299
+ MINUTES_P = 515,
300
+ MINVALUE = 516,
301
+ MODE = 517,
302
+ MONTH_P = 518,
303
+ MONTHS_P = 519,
304
+ MOVE = 520,
305
+ NAME_P = 521,
306
+ NAMES = 522,
307
+ NATIONAL = 523,
308
+ NATURAL = 524,
309
+ NCHAR = 525,
310
+ NEW = 526,
311
+ NEXT = 527,
312
+ NO = 528,
313
+ NONE = 529,
314
+ NOT = 530,
315
+ NOTHING = 531,
316
+ NOTIFY = 532,
317
+ NOTNULL = 533,
318
+ NOWAIT = 534,
319
+ NULL_P = 535,
320
+ NULLIF = 536,
321
+ NULLS_P = 537,
322
+ NUMERIC = 538,
323
+ OBJECT_P = 539,
324
+ OF = 540,
325
+ OFF = 541,
326
+ OFFSET = 542,
327
+ OIDS = 543,
328
+ OLD = 544,
329
+ ON = 545,
330
+ ONLY = 546,
331
+ OPERATOR = 547,
332
+ OPTION = 548,
333
+ OPTIONS = 549,
334
+ OR = 550,
335
+ ORDER = 551,
336
+ ORDINALITY = 552,
337
+ OUT_P = 553,
338
+ OUTER_P = 554,
339
+ OVER = 555,
340
+ OVERLAPS = 556,
341
+ OVERLAY = 557,
342
+ OVERRIDING = 558,
343
+ OWNED = 559,
344
+ OWNER = 560,
345
+ PARALLEL = 561,
346
+ PARSER = 562,
347
+ PARTIAL = 563,
348
+ PARTITION = 564,
349
+ PASSING = 565,
350
+ PASSWORD = 566,
351
+ PERCENT = 567,
352
+ PIVOT = 568,
353
+ PIVOT_LONGER = 569,
354
+ PIVOT_WIDER = 570,
355
+ PLACING = 571,
356
+ PLANS = 572,
357
+ POLICY = 573,
358
+ POSITION = 574,
359
+ POSITIONAL = 575,
360
+ PRAGMA_P = 576,
361
+ PRECEDING = 577,
362
+ PRECISION = 578,
363
+ PREPARE = 579,
364
+ PREPARED = 580,
365
+ PRESERVE = 581,
366
+ PRIMARY = 582,
367
+ PRIOR = 583,
368
+ PRIVILEGES = 584,
369
+ PROCEDURAL = 585,
370
+ PROCEDURE = 586,
371
+ PROGRAM = 587,
372
+ PUBLICATION = 588,
373
+ QUALIFY = 589,
374
+ QUOTE = 590,
375
+ RANGE = 591,
376
+ READ_P = 592,
377
+ REAL = 593,
378
+ REASSIGN = 594,
379
+ RECHECK = 595,
380
+ RECURSIVE = 596,
381
+ REF = 597,
382
+ REFERENCES = 598,
383
+ REFERENCING = 599,
384
+ REFRESH = 600,
385
+ REINDEX = 601,
386
+ RELATIVE_P = 602,
387
+ RELEASE = 603,
388
+ RENAME = 604,
389
+ REPEATABLE = 605,
390
+ REPLACE = 606,
391
+ REPLICA = 607,
392
+ RESET = 608,
393
+ RESPECT_P = 609,
394
+ RESTART = 610,
395
+ RESTRICT = 611,
396
+ RETURNING = 612,
397
+ RETURNS = 613,
398
+ REVOKE = 614,
399
+ RIGHT = 615,
400
+ ROLE = 616,
401
+ ROLLBACK = 617,
402
+ ROLLUP = 618,
403
+ ROW = 619,
404
+ ROWS = 620,
405
+ RULE = 621,
406
+ SAMPLE = 622,
407
+ SAVEPOINT = 623,
408
+ SCHEMA = 624,
409
+ SCHEMAS = 625,
410
+ SCROLL = 626,
411
+ SEARCH = 627,
412
+ SECOND_P = 628,
413
+ SECONDS_P = 629,
414
+ SECURITY = 630,
415
+ SELECT = 631,
416
+ SEMI = 632,
417
+ SEQUENCE = 633,
418
+ SEQUENCES = 634,
419
+ SERIALIZABLE = 635,
420
+ SERVER = 636,
421
+ SESSION = 637,
422
+ SESSION_USER = 638,
423
+ SET = 639,
424
+ SETOF = 640,
425
+ SETS = 641,
426
+ SHARE = 642,
427
+ SHOW = 643,
428
+ SIMILAR = 644,
429
+ SIMPLE = 645,
430
+ SKIP = 646,
431
+ SMALLINT = 647,
432
+ SNAPSHOT = 648,
433
+ SOME = 649,
434
+ SQL_P = 650,
435
+ STABLE = 651,
436
+ STANDALONE_P = 652,
437
+ START = 653,
438
+ STATEMENT = 654,
439
+ STATISTICS = 655,
440
+ STDIN = 656,
441
+ STDOUT = 657,
442
+ STORAGE = 658,
443
+ STORED = 659,
444
+ STRICT_P = 660,
445
+ STRIP_P = 661,
446
+ STRUCT = 662,
447
+ SUBSCRIPTION = 663,
448
+ SUBSTRING = 664,
449
+ SUMMARIZE = 665,
450
+ SYMMETRIC = 666,
451
+ SYSID = 667,
452
+ SYSTEM_P = 668,
453
+ TABLE = 669,
454
+ TABLES = 670,
455
+ TABLESAMPLE = 671,
456
+ TABLESPACE = 672,
457
+ TEMP = 673,
458
+ TEMPLATE = 674,
459
+ TEMPORARY = 675,
460
+ TEXT_P = 676,
461
+ THEN = 677,
462
+ TIME = 678,
463
+ TIMESTAMP = 679,
464
+ TO = 680,
465
+ TRAILING = 681,
466
+ TRANSACTION = 682,
467
+ TRANSFORM = 683,
468
+ TREAT = 684,
469
+ TRIGGER = 685,
470
+ TRIM = 686,
471
+ TRUE_P = 687,
472
+ TRUNCATE = 688,
473
+ TRUSTED = 689,
474
+ TRY_CAST = 690,
475
+ TYPE_P = 691,
476
+ TYPES_P = 692,
477
+ UNBOUNDED = 693,
478
+ UNCOMMITTED = 694,
479
+ UNENCRYPTED = 695,
480
+ UNION = 696,
481
+ UNIQUE = 697,
482
+ UNKNOWN = 698,
483
+ UNLISTEN = 699,
484
+ UNLOGGED = 700,
485
+ UNPIVOT = 701,
486
+ UNTIL = 702,
487
+ UPDATE = 703,
488
+ USE_P = 704,
489
+ USER = 705,
490
+ USING = 706,
491
+ VACUUM = 707,
492
+ VALID = 708,
493
+ VALIDATE = 709,
494
+ VALIDATOR = 710,
495
+ VALUE_P = 711,
496
+ VALUES = 712,
497
+ VARCHAR = 713,
498
+ VARIADIC = 714,
499
+ VARYING = 715,
500
+ VERBOSE = 716,
501
+ VERSION_P = 717,
502
+ VIEW = 718,
503
+ VIEWS = 719,
504
+ VIRTUAL = 720,
505
+ VOLATILE = 721,
506
+ WHEN = 722,
507
+ WHERE = 723,
508
+ WHITESPACE_P = 724,
509
+ WINDOW = 725,
510
+ WITH = 726,
511
+ WITHIN = 727,
512
+ WITHOUT = 728,
513
+ WORK = 729,
514
+ WRAPPER = 730,
515
+ WRITE_P = 731,
516
+ XML_P = 732,
517
+ XMLATTRIBUTES = 733,
518
+ XMLCONCAT = 734,
519
+ XMLELEMENT = 735,
520
+ XMLEXISTS = 736,
521
+ XMLFOREST = 737,
522
+ XMLNAMESPACES = 738,
523
+ XMLPARSE = 739,
524
+ XMLPI = 740,
525
+ XMLROOT = 741,
526
+ XMLSERIALIZE = 742,
527
+ XMLTABLE = 743,
528
+ YEAR_P = 744,
529
+ YEARS_P = 745,
530
+ YES_P = 746,
531
+ ZONE = 747,
532
+ NOT_LA = 748,
533
+ NULLS_LA = 749,
534
+ WITH_LA = 750,
535
+ POSTFIXOP = 751,
536
+ UMINUS = 752
537
+ };
540
538
  #endif
539
+ /* Tokens. */
540
+ #define IDENT 258
541
+ #define FCONST 259
542
+ #define SCONST 260
543
+ #define BCONST 261
544
+ #define XCONST 262
545
+ #define Op 263
546
+ #define ICONST 264
547
+ #define PARAM 265
548
+ #define TYPECAST 266
549
+ #define DOT_DOT 267
550
+ #define COLON_EQUALS 268
551
+ #define EQUALS_GREATER 269
552
+ #define POWER_OF 270
553
+ #define LAMBDA_ARROW 271
554
+ #define DOUBLE_ARROW 272
555
+ #define LESS_EQUALS 273
556
+ #define GREATER_EQUALS 274
557
+ #define NOT_EQUALS 275
558
+ #define ABORT_P 276
559
+ #define ABSOLUTE_P 277
560
+ #define ACCESS 278
561
+ #define ACTION 279
562
+ #define ADD_P 280
563
+ #define ADMIN 281
564
+ #define AFTER 282
565
+ #define AGGREGATE 283
566
+ #define ALL 284
567
+ #define ALSO 285
568
+ #define ALTER 286
569
+ #define ALWAYS 287
570
+ #define ANALYSE 288
571
+ #define ANALYZE 289
572
+ #define AND 290
573
+ #define ANTI 291
574
+ #define ANY 292
575
+ #define ARRAY 293
576
+ #define AS 294
577
+ #define ASC_P 295
578
+ #define ASOF 296
579
+ #define ASSERTION 297
580
+ #define ASSIGNMENT 298
581
+ #define ASYMMETRIC 299
582
+ #define AT 300
583
+ #define ATTACH 301
584
+ #define ATTRIBUTE 302
585
+ #define AUTHORIZATION 303
586
+ #define BACKWARD 304
587
+ #define BEFORE 305
588
+ #define BEGIN_P 306
589
+ #define BETWEEN 307
590
+ #define BIGINT 308
591
+ #define BINARY 309
592
+ #define BIT 310
593
+ #define BOOLEAN_P 311
594
+ #define BOTH 312
595
+ #define BY 313
596
+ #define CACHE 314
597
+ #define CALL_P 315
598
+ #define CALLED 316
599
+ #define CASCADE 317
600
+ #define CASCADED 318
601
+ #define CASE 319
602
+ #define CAST 320
603
+ #define CATALOG_P 321
604
+ #define CHAIN 322
605
+ #define CHAR_P 323
606
+ #define CHARACTER 324
607
+ #define CHARACTERISTICS 325
608
+ #define CHECK_P 326
609
+ #define CHECKPOINT 327
610
+ #define CLASS 328
611
+ #define CLOSE 329
612
+ #define CLUSTER 330
613
+ #define COALESCE 331
614
+ #define COLLATE 332
615
+ #define COLLATION 333
616
+ #define COLUMN 334
617
+ #define COLUMNS 335
618
+ #define COMMENT 336
619
+ #define COMMENTS 337
620
+ #define COMMIT 338
621
+ #define COMMITTED 339
622
+ #define COMPRESSION 340
623
+ #define CONCURRENTLY 341
624
+ #define CONFIGURATION 342
625
+ #define CONFLICT 343
626
+ #define CONNECTION 344
627
+ #define CONSTRAINT 345
628
+ #define CONSTRAINTS 346
629
+ #define CONTENT_P 347
630
+ #define CONTINUE_P 348
631
+ #define CONVERSION_P 349
632
+ #define COPY 350
633
+ #define COST 351
634
+ #define CREATE_P 352
635
+ #define CROSS 353
636
+ #define CSV 354
637
+ #define CUBE 355
638
+ #define CURRENT_P 356
639
+ #define CURRENT_CATALOG 357
640
+ #define CURRENT_DATE 358
641
+ #define CURRENT_ROLE 359
642
+ #define CURRENT_SCHEMA 360
643
+ #define CURRENT_TIME 361
644
+ #define CURRENT_TIMESTAMP 362
645
+ #define CURRENT_USER 363
646
+ #define CURSOR 364
647
+ #define CYCLE 365
648
+ #define DATA_P 366
649
+ #define DATABASE 367
650
+ #define DAY_P 368
651
+ #define DAYS_P 369
652
+ #define DEALLOCATE 370
653
+ #define DEC 371
654
+ #define DECIMAL_P 372
655
+ #define DECLARE 373
656
+ #define DEFAULT 374
657
+ #define DEFAULTS 375
658
+ #define DEFERRABLE 376
659
+ #define DEFERRED 377
660
+ #define DEFINER 378
661
+ #define DELETE_P 379
662
+ #define DELIMITER 380
663
+ #define DELIMITERS 381
664
+ #define DEPENDS 382
665
+ #define DESC_P 383
666
+ #define DESCRIBE 384
667
+ #define DETACH 385
668
+ #define DICTIONARY 386
669
+ #define DISABLE_P 387
670
+ #define DISCARD 388
671
+ #define DISTINCT 389
672
+ #define DO 390
673
+ #define DOCUMENT_P 391
674
+ #define DOMAIN_P 392
675
+ #define DOUBLE_P 393
676
+ #define DROP 394
677
+ #define EACH 395
678
+ #define ELSE 396
679
+ #define ENABLE_P 397
680
+ #define ENCODING 398
681
+ #define ENCRYPTED 399
682
+ #define END_P 400
683
+ #define ENUM_P 401
684
+ #define ESCAPE 402
685
+ #define EVENT 403
686
+ #define EXCEPT 404
687
+ #define EXCLUDE 405
688
+ #define EXCLUDING 406
689
+ #define EXCLUSIVE 407
690
+ #define EXECUTE 408
691
+ #define EXISTS 409
692
+ #define EXPLAIN 410
693
+ #define EXPORT_P 411
694
+ #define EXPORT_STATE 412
695
+ #define EXTENSION 413
696
+ #define EXTERNAL 414
697
+ #define EXTRACT 415
698
+ #define FALSE_P 416
699
+ #define FAMILY 417
700
+ #define FETCH 418
701
+ #define FILTER 419
702
+ #define FIRST_P 420
703
+ #define FLOAT_P 421
704
+ #define FOLLOWING 422
705
+ #define FOR 423
706
+ #define FORCE 424
707
+ #define FOREIGN 425
708
+ #define FORWARD 426
709
+ #define FREEZE 427
710
+ #define FROM 428
711
+ #define FULL 429
712
+ #define FUNCTION 430
713
+ #define FUNCTIONS 431
714
+ #define GENERATED 432
715
+ #define GLOB 433
716
+ #define GLOBAL 434
717
+ #define GRANT 435
718
+ #define GRANTED 436
719
+ #define GROUP_P 437
720
+ #define GROUPING 438
721
+ #define GROUPING_ID 439
722
+ #define HANDLER 440
723
+ #define HAVING 441
724
+ #define HEADER_P 442
725
+ #define HOLD 443
726
+ #define HOUR_P 444
727
+ #define HOURS_P 445
728
+ #define IDENTITY_P 446
729
+ #define IF_P 447
730
+ #define IGNORE_P 448
731
+ #define ILIKE 449
732
+ #define IMMEDIATE 450
733
+ #define IMMUTABLE 451
734
+ #define IMPLICIT_P 452
735
+ #define IMPORT_P 453
736
+ #define IN_P 454
737
+ #define INCLUDE_P 455
738
+ #define INCLUDING 456
739
+ #define INCREMENT 457
740
+ #define INDEX 458
741
+ #define INDEXES 459
742
+ #define INHERIT 460
743
+ #define INHERITS 461
744
+ #define INITIALLY 462
745
+ #define INLINE_P 463
746
+ #define INNER_P 464
747
+ #define INOUT 465
748
+ #define INPUT_P 466
749
+ #define INSENSITIVE 467
750
+ #define INSERT 468
751
+ #define INSTALL 469
752
+ #define INSTEAD 470
753
+ #define INT_P 471
754
+ #define INTEGER 472
755
+ #define INTERSECT 473
756
+ #define INTERVAL 474
757
+ #define INTO 475
758
+ #define INVOKER 476
759
+ #define IS 477
760
+ #define ISNULL 478
761
+ #define ISOLATION 479
762
+ #define JOIN 480
763
+ #define JSON 481
764
+ #define KEY 482
765
+ #define LABEL 483
766
+ #define LANGUAGE 484
767
+ #define LARGE_P 485
768
+ #define LAST_P 486
769
+ #define LATERAL_P 487
770
+ #define LEADING 488
771
+ #define LEAKPROOF 489
772
+ #define LEFT 490
773
+ #define LEVEL 491
774
+ #define LIKE 492
775
+ #define LIMIT 493
776
+ #define LISTEN 494
777
+ #define LOAD 495
778
+ #define LOCAL 496
779
+ #define LOCALTIME 497
780
+ #define LOCALTIMESTAMP 498
781
+ #define LOCATION 499
782
+ #define LOCK_P 500
783
+ #define LOCKED 501
784
+ #define LOGGED 502
785
+ #define MACRO 503
786
+ #define MAP 504
787
+ #define MAPPING 505
788
+ #define MATCH 506
789
+ #define MATERIALIZED 507
790
+ #define MAXVALUE 508
791
+ #define METHOD 509
792
+ #define MICROSECOND_P 510
793
+ #define MICROSECONDS_P 511
794
+ #define MILLISECOND_P 512
795
+ #define MILLISECONDS_P 513
796
+ #define MINUTE_P 514
797
+ #define MINUTES_P 515
798
+ #define MINVALUE 516
799
+ #define MODE 517
800
+ #define MONTH_P 518
801
+ #define MONTHS_P 519
802
+ #define MOVE 520
803
+ #define NAME_P 521
804
+ #define NAMES 522
805
+ #define NATIONAL 523
806
+ #define NATURAL 524
807
+ #define NCHAR 525
808
+ #define NEW 526
809
+ #define NEXT 527
810
+ #define NO 528
811
+ #define NONE 529
812
+ #define NOT 530
813
+ #define NOTHING 531
814
+ #define NOTIFY 532
815
+ #define NOTNULL 533
816
+ #define NOWAIT 534
817
+ #define NULL_P 535
818
+ #define NULLIF 536
819
+ #define NULLS_P 537
820
+ #define NUMERIC 538
821
+ #define OBJECT_P 539
822
+ #define OF 540
823
+ #define OFF 541
824
+ #define OFFSET 542
825
+ #define OIDS 543
826
+ #define OLD 544
827
+ #define ON 545
828
+ #define ONLY 546
829
+ #define OPERATOR 547
830
+ #define OPTION 548
831
+ #define OPTIONS 549
832
+ #define OR 550
833
+ #define ORDER 551
834
+ #define ORDINALITY 552
835
+ #define OUT_P 553
836
+ #define OUTER_P 554
837
+ #define OVER 555
838
+ #define OVERLAPS 556
839
+ #define OVERLAY 557
840
+ #define OVERRIDING 558
841
+ #define OWNED 559
842
+ #define OWNER 560
843
+ #define PARALLEL 561
844
+ #define PARSER 562
845
+ #define PARTIAL 563
846
+ #define PARTITION 564
847
+ #define PASSING 565
848
+ #define PASSWORD 566
849
+ #define PERCENT 567
850
+ #define PIVOT 568
851
+ #define PIVOT_LONGER 569
852
+ #define PIVOT_WIDER 570
853
+ #define PLACING 571
854
+ #define PLANS 572
855
+ #define POLICY 573
856
+ #define POSITION 574
857
+ #define POSITIONAL 575
858
+ #define PRAGMA_P 576
859
+ #define PRECEDING 577
860
+ #define PRECISION 578
861
+ #define PREPARE 579
862
+ #define PREPARED 580
863
+ #define PRESERVE 581
864
+ #define PRIMARY 582
865
+ #define PRIOR 583
866
+ #define PRIVILEGES 584
867
+ #define PROCEDURAL 585
868
+ #define PROCEDURE 586
869
+ #define PROGRAM 587
870
+ #define PUBLICATION 588
871
+ #define QUALIFY 589
872
+ #define QUOTE 590
873
+ #define RANGE 591
874
+ #define READ_P 592
875
+ #define REAL 593
876
+ #define REASSIGN 594
877
+ #define RECHECK 595
878
+ #define RECURSIVE 596
879
+ #define REF 597
880
+ #define REFERENCES 598
881
+ #define REFERENCING 599
882
+ #define REFRESH 600
883
+ #define REINDEX 601
884
+ #define RELATIVE_P 602
885
+ #define RELEASE 603
886
+ #define RENAME 604
887
+ #define REPEATABLE 605
888
+ #define REPLACE 606
889
+ #define REPLICA 607
890
+ #define RESET 608
891
+ #define RESPECT_P 609
892
+ #define RESTART 610
893
+ #define RESTRICT 611
894
+ #define RETURNING 612
895
+ #define RETURNS 613
896
+ #define REVOKE 614
897
+ #define RIGHT 615
898
+ #define ROLE 616
899
+ #define ROLLBACK 617
900
+ #define ROLLUP 618
901
+ #define ROW 619
902
+ #define ROWS 620
903
+ #define RULE 621
904
+ #define SAMPLE 622
905
+ #define SAVEPOINT 623
906
+ #define SCHEMA 624
907
+ #define SCHEMAS 625
908
+ #define SCROLL 626
909
+ #define SEARCH 627
910
+ #define SECOND_P 628
911
+ #define SECONDS_P 629
912
+ #define SECURITY 630
913
+ #define SELECT 631
914
+ #define SEMI 632
915
+ #define SEQUENCE 633
916
+ #define SEQUENCES 634
917
+ #define SERIALIZABLE 635
918
+ #define SERVER 636
919
+ #define SESSION 637
920
+ #define SESSION_USER 638
921
+ #define SET 639
922
+ #define SETOF 640
923
+ #define SETS 641
924
+ #define SHARE 642
925
+ #define SHOW 643
926
+ #define SIMILAR 644
927
+ #define SIMPLE 645
928
+ #define SKIP 646
929
+ #define SMALLINT 647
930
+ #define SNAPSHOT 648
931
+ #define SOME 649
932
+ #define SQL_P 650
933
+ #define STABLE 651
934
+ #define STANDALONE_P 652
935
+ #define START 653
936
+ #define STATEMENT 654
937
+ #define STATISTICS 655
938
+ #define STDIN 656
939
+ #define STDOUT 657
940
+ #define STORAGE 658
941
+ #define STORED 659
942
+ #define STRICT_P 660
943
+ #define STRIP_P 661
944
+ #define STRUCT 662
945
+ #define SUBSCRIPTION 663
946
+ #define SUBSTRING 664
947
+ #define SUMMARIZE 665
948
+ #define SYMMETRIC 666
949
+ #define SYSID 667
950
+ #define SYSTEM_P 668
951
+ #define TABLE 669
952
+ #define TABLES 670
953
+ #define TABLESAMPLE 671
954
+ #define TABLESPACE 672
955
+ #define TEMP 673
956
+ #define TEMPLATE 674
957
+ #define TEMPORARY 675
958
+ #define TEXT_P 676
959
+ #define THEN 677
960
+ #define TIME 678
961
+ #define TIMESTAMP 679
962
+ #define TO 680
963
+ #define TRAILING 681
964
+ #define TRANSACTION 682
965
+ #define TRANSFORM 683
966
+ #define TREAT 684
967
+ #define TRIGGER 685
968
+ #define TRIM 686
969
+ #define TRUE_P 687
970
+ #define TRUNCATE 688
971
+ #define TRUSTED 689
972
+ #define TRY_CAST 690
973
+ #define TYPE_P 691
974
+ #define TYPES_P 692
975
+ #define UNBOUNDED 693
976
+ #define UNCOMMITTED 694
977
+ #define UNENCRYPTED 695
978
+ #define UNION 696
979
+ #define UNIQUE 697
980
+ #define UNKNOWN 698
981
+ #define UNLISTEN 699
982
+ #define UNLOGGED 700
983
+ #define UNPIVOT 701
984
+ #define UNTIL 702
985
+ #define UPDATE 703
986
+ #define USE_P 704
987
+ #define USER 705
988
+ #define USING 706
989
+ #define VACUUM 707
990
+ #define VALID 708
991
+ #define VALIDATE 709
992
+ #define VALIDATOR 710
993
+ #define VALUE_P 711
994
+ #define VALUES 712
995
+ #define VARCHAR 713
996
+ #define VARIADIC 714
997
+ #define VARYING 715
998
+ #define VERBOSE 716
999
+ #define VERSION_P 717
1000
+ #define VIEW 718
1001
+ #define VIEWS 719
1002
+ #define VIRTUAL 720
1003
+ #define VOLATILE 721
1004
+ #define WHEN 722
1005
+ #define WHERE 723
1006
+ #define WHITESPACE_P 724
1007
+ #define WINDOW 725
1008
+ #define WITH 726
1009
+ #define WITHIN 727
1010
+ #define WITHOUT 728
1011
+ #define WORK 729
1012
+ #define WRAPPER 730
1013
+ #define WRITE_P 731
1014
+ #define XML_P 732
1015
+ #define XMLATTRIBUTES 733
1016
+ #define XMLCONCAT 734
1017
+ #define XMLELEMENT 735
1018
+ #define XMLEXISTS 736
1019
+ #define XMLFOREST 737
1020
+ #define XMLNAMESPACES 738
1021
+ #define XMLPARSE 739
1022
+ #define XMLPI 740
1023
+ #define XMLROOT 741
1024
+ #define XMLSERIALIZE 742
1025
+ #define XMLTABLE 743
1026
+ #define YEAR_P 744
1027
+ #define YEARS_P 745
1028
+ #define YES_P 746
1029
+ #define ZONE 747
1030
+ #define NOT_LA 748
1031
+ #define NULLS_LA 749
1032
+ #define WITH_LA 750
1033
+ #define POSTFIXOP 751
1034
+ #define UMINUS 752
1035
+
1036
+
1037
+
541
1038
 
542
- /* Value type. */
543
1039
  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
544
- union YYSTYPE
545
- {
1040
+ typedef union YYSTYPE
546
1041
  #line 14 "third_party/libpg_query/grammar/grammar.y"
547
-
1042
+ {
548
1043
  core_YYSTYPE core_yystype;
549
1044
  /* these fields must match core_YYSTYPE: */
550
1045
  int ival;
@@ -588,31 +1083,28 @@ union YYSTYPE
588
1083
  PGLockWaitPolicy lockwaitpolicy;
589
1084
  PGSubLinkType subquerytype;
590
1085
  PGViewCheckOption viewcheckoption;
591
-
592
- #line 593 "third_party/libpg_query/grammar/grammar_out.hpp"
593
-
594
- };
595
- typedef union YYSTYPE YYSTYPE;
596
- # define YYSTYPE_IS_TRIVIAL 1
1086
+ }
1087
+ /* Line 1529 of yacc.c. */
1088
+ #line 1089 "third_party/libpg_query/grammar/grammar_out.hpp"
1089
+ YYSTYPE;
1090
+ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
597
1091
  # define YYSTYPE_IS_DECLARED 1
1092
+ # define YYSTYPE_IS_TRIVIAL 1
598
1093
  #endif
599
1094
 
600
- /* Location type. */
1095
+
1096
+
601
1097
  #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
602
- typedef struct YYLTYPE YYLTYPE;
603
- struct YYLTYPE
1098
+ typedef struct YYLTYPE
604
1099
  {
605
1100
  int first_line;
606
1101
  int first_column;
607
1102
  int last_line;
608
1103
  int last_column;
609
- };
1104
+ } YYLTYPE;
1105
+ # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
610
1106
  # define YYLTYPE_IS_DECLARED 1
611
1107
  # define YYLTYPE_IS_TRIVIAL 1
612
1108
  #endif
613
1109
 
614
1110
 
615
-
616
- int base_yyparse (core_yyscan_t yyscanner);
617
-
618
- #endif /* !YY_BASE_YY_THIRD_PARTY_LIBPG_QUERY_GRAMMAR_GRAMMAR_OUT_HPP_INCLUDED */