duckdb 0.6.2-dev971.0 → 0.7.1-dev100.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 (1162) hide show
  1. package/binding.gyp +14 -8
  2. package/configure.py +2 -2
  3. package/lib/duckdb.d.ts +20 -3
  4. package/lib/duckdb.js +13 -1
  5. package/package.json +3 -1
  6. package/src/connection.cpp +5 -3
  7. package/src/database.cpp +117 -11
  8. package/src/duckdb/extension/icu/icu-dateadd.cpp +70 -7
  9. package/src/duckdb/extension/icu/icu-datefunc.cpp +0 -8
  10. package/src/duckdb/extension/icu/icu-datepart.cpp +1 -1
  11. package/src/duckdb/extension/icu/icu-extension.cpp +5 -3
  12. package/src/duckdb/extension/icu/icu-strptime.cpp +2 -2
  13. package/src/duckdb/extension/icu/icu-timebucket.cpp +637 -0
  14. package/src/duckdb/extension/icu/icu-timezone.cpp +7 -3
  15. package/src/duckdb/extension/icu/include/icu-datefunc.hpp +11 -1
  16. package/src/duckdb/{src/include/duckdb/main/replacement_opens.hpp → extension/icu/include/icu-timebucket.hpp} +3 -6
  17. package/src/duckdb/extension/icu/third_party/icu/common/uloc.cpp +3 -1
  18. package/src/duckdb/extension/icu/third_party/icu/i18n/calendar.cpp +1 -1
  19. package/src/duckdb/extension/icu/third_party/icu/i18n/choicfmt.cpp +3 -1
  20. package/src/duckdb/extension/icu/third_party/icu/i18n/plurrule.cpp +3 -1
  21. package/src/duckdb/extension/json/buffered_json_reader.cpp +254 -0
  22. package/src/duckdb/extension/json/include/buffered_json_reader.hpp +148 -0
  23. package/src/duckdb/extension/json/include/json_common.hpp +149 -227
  24. package/src/duckdb/extension/json/include/json_executors.hpp +139 -0
  25. package/src/duckdb/extension/json/include/json_functions.hpp +71 -30
  26. package/src/duckdb/extension/json/include/json_scan.hpp +310 -0
  27. package/src/duckdb/extension/json/include/json_structure.hpp +87 -0
  28. package/src/duckdb/extension/json/include/json_transform.hpp +72 -0
  29. package/src/duckdb/extension/json/json-extension.cpp +35 -17
  30. package/src/duckdb/extension/json/json_common.cpp +10 -87
  31. package/src/duckdb/extension/json/json_functions/copy_json.cpp +109 -0
  32. package/src/duckdb/extension/json/json_functions/json_array_length.cpp +18 -13
  33. package/src/duckdb/extension/json/json_functions/json_contains.cpp +95 -44
  34. package/src/duckdb/extension/json/json_functions/json_create.cpp +48 -39
  35. package/src/duckdb/extension/json/json_functions/json_extract.cpp +30 -21
  36. package/src/duckdb/extension/json/json_functions/json_keys.cpp +60 -0
  37. package/src/duckdb/extension/json/json_functions/json_merge_patch.cpp +33 -11
  38. package/src/duckdb/extension/json/json_functions/json_structure.cpp +483 -155
  39. package/src/duckdb/extension/json/json_functions/json_transform.cpp +370 -116
  40. package/src/duckdb/extension/json/json_functions/json_type.cpp +19 -14
  41. package/src/duckdb/extension/json/json_functions/json_valid.cpp +16 -6
  42. package/src/duckdb/extension/json/json_functions/read_json.cpp +282 -0
  43. package/src/duckdb/extension/json/json_functions/read_json_objects.cpp +65 -0
  44. package/src/duckdb/extension/json/json_functions.cpp +225 -0
  45. package/src/duckdb/extension/json/json_scan.cpp +667 -0
  46. package/src/duckdb/extension/json/yyjson/include/yyjson.hpp +3847 -3398
  47. package/src/duckdb/extension/json/yyjson/yyjson.cpp +6625 -6411
  48. package/src/duckdb/extension/parquet/column_reader.cpp +28 -23
  49. package/src/duckdb/extension/parquet/column_writer.cpp +79 -77
  50. package/src/duckdb/extension/parquet/include/boolean_column_reader.hpp +5 -1
  51. package/src/duckdb/extension/parquet/include/callback_column_reader.hpp +1 -1
  52. package/src/duckdb/extension/parquet/include/column_reader.hpp +2 -0
  53. package/src/duckdb/extension/parquet/include/generated_column_reader.hpp +1 -1
  54. package/src/duckdb/extension/parquet/include/parquet_reader.hpp +18 -3
  55. package/src/duckdb/extension/parquet/include/parquet_rle_bp_decoder.hpp +1 -1
  56. package/src/duckdb/extension/parquet/include/templated_column_reader.hpp +3 -3
  57. package/src/duckdb/extension/parquet/parquet-extension.cpp +105 -37
  58. package/src/duckdb/extension/parquet/parquet_metadata.cpp +2 -2
  59. package/src/duckdb/extension/parquet/parquet_reader.cpp +108 -39
  60. package/src/duckdb/extension/parquet/parquet_statistics.cpp +8 -4
  61. package/src/duckdb/extension/parquet/parquet_writer.cpp +23 -7
  62. package/src/duckdb/extension/parquet/zstd_file_system.cpp +2 -2
  63. package/src/duckdb/src/catalog/catalog.cpp +36 -134
  64. package/src/duckdb/src/catalog/catalog_entry/column_dependency_manager.cpp +2 -2
  65. package/src/duckdb/src/catalog/catalog_entry/duck_index_entry.cpp +27 -0
  66. package/src/duckdb/src/catalog/catalog_entry/duck_schema_entry.cpp +330 -0
  67. package/src/duckdb/src/catalog/catalog_entry/duck_table_entry.cpp +758 -0
  68. package/src/duckdb/src/catalog/catalog_entry/index_catalog_entry.cpp +4 -13
  69. package/src/duckdb/src/catalog/catalog_entry/pragma_function_catalog_entry.cpp +2 -1
  70. package/src/duckdb/src/catalog/catalog_entry/scalar_function_catalog_entry.cpp +1 -1
  71. package/src/duckdb/src/catalog/catalog_entry/scalar_macro_catalog_entry.cpp +5 -5
  72. package/src/duckdb/src/catalog/catalog_entry/schema_catalog_entry.cpp +11 -308
  73. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +44 -708
  74. package/src/duckdb/src/catalog/catalog_entry/table_function_catalog_entry.cpp +2 -1
  75. package/src/duckdb/src/catalog/catalog_entry/view_catalog_entry.cpp +1 -1
  76. package/src/duckdb/src/catalog/catalog_entry.cpp +2 -2
  77. package/src/duckdb/src/catalog/catalog_search_path.cpp +10 -10
  78. package/src/duckdb/src/catalog/catalog_set.cpp +68 -62
  79. package/src/duckdb/src/catalog/catalog_transaction.cpp +9 -3
  80. package/src/duckdb/src/catalog/default/default_functions.cpp +7 -7
  81. package/src/duckdb/src/catalog/default/default_schemas.cpp +2 -2
  82. package/src/duckdb/src/catalog/default/default_types.cpp +2 -1
  83. package/src/duckdb/src/catalog/default/default_views.cpp +8 -16
  84. package/src/duckdb/src/catalog/dependency_manager.cpp +6 -6
  85. package/src/duckdb/src/catalog/duck_catalog.cpp +111 -0
  86. package/src/duckdb/src/catalog/similar_catalog_entry.cpp +26 -0
  87. package/src/duckdb/src/common/allocator.cpp +1 -1
  88. package/src/duckdb/src/common/arrow/arrow_appender.cpp +9 -9
  89. package/src/duckdb/src/common/arrow/arrow_converter.cpp +6 -6
  90. package/src/duckdb/src/common/arrow/arrow_wrapper.cpp +1 -1
  91. package/src/duckdb/src/common/bind_helpers.cpp +67 -0
  92. package/src/duckdb/src/common/box_renderer.cpp +11 -3
  93. package/src/duckdb/src/common/compressed_file_system.cpp +2 -2
  94. package/src/duckdb/src/common/enums/expression_type.cpp +2 -0
  95. package/src/duckdb/src/common/enums/logical_operator_type.cpp +4 -0
  96. package/src/duckdb/src/common/enums/optimizer_type.cpp +1 -0
  97. package/src/duckdb/src/common/enums/physical_operator_type.cpp +8 -0
  98. package/src/duckdb/src/common/enums/relation_type.cpp +2 -0
  99. package/src/duckdb/src/common/enums/statement_type.cpp +2 -0
  100. package/src/duckdb/src/common/exception_format_value.cpp +2 -2
  101. package/src/duckdb/src/common/file_buffer.cpp +9 -34
  102. package/src/duckdb/src/common/file_system.cpp +42 -4
  103. package/src/duckdb/src/common/gzip_file_system.cpp +3 -3
  104. package/src/duckdb/src/common/hive_partitioning.cpp +129 -4
  105. package/src/duckdb/src/common/local_file_system.cpp +9 -7
  106. package/src/duckdb/src/common/operator/cast_operators.cpp +141 -32
  107. package/src/duckdb/src/common/pipe_file_system.cpp +2 -2
  108. package/src/duckdb/src/common/preserved_error.cpp +1 -1
  109. package/src/duckdb/src/common/printer.cpp +1 -1
  110. package/src/duckdb/src/common/radix_partitioning.cpp +5 -4
  111. package/src/duckdb/src/common/row_operations/row_aggregate.cpp +2 -2
  112. package/src/duckdb/src/common/serializer/buffered_serializer.cpp +1 -1
  113. package/src/duckdb/src/common/sort/merge_sorter.cpp +11 -5
  114. package/src/duckdb/src/common/sort/sort_state.cpp +19 -16
  115. package/src/duckdb/src/common/sort/sorted_block.cpp +12 -11
  116. package/src/duckdb/src/common/string_util.cpp +9 -1
  117. package/src/duckdb/src/common/tree_renderer.cpp +17 -8
  118. package/src/duckdb/src/common/types/batched_data_collection.cpp +4 -4
  119. package/src/duckdb/src/common/types/bit.cpp +278 -0
  120. package/src/duckdb/src/common/types/chunk_collection.cpp +7 -7
  121. package/src/duckdb/src/common/types/column_data_allocator.cpp +6 -6
  122. package/src/duckdb/src/common/types/column_data_collection.cpp +56 -32
  123. package/src/duckdb/src/common/types/column_data_collection_segment.cpp +2 -2
  124. package/src/duckdb/src/common/types/column_data_consumer.cpp +1 -1
  125. package/src/duckdb/src/common/types/conflict_info.cpp +18 -0
  126. package/src/duckdb/src/common/types/conflict_manager.cpp +257 -0
  127. package/src/duckdb/src/common/types/data_chunk.cpp +17 -7
  128. package/src/duckdb/src/common/types/date.cpp +7 -2
  129. package/src/duckdb/src/common/types/hash.cpp +2 -2
  130. package/src/duckdb/src/common/types/partitioned_column_data.cpp +7 -2
  131. package/src/duckdb/src/common/types/row_data_collection.cpp +7 -7
  132. package/src/duckdb/src/common/types/row_data_collection_scanner.cpp +10 -2
  133. package/src/duckdb/src/common/types/row_layout.cpp +4 -4
  134. package/src/duckdb/src/common/types/string_type.cpp +1 -0
  135. package/src/duckdb/src/common/types/time.cpp +11 -7
  136. package/src/duckdb/src/common/types/timestamp.cpp +35 -4
  137. package/src/duckdb/src/common/types/validity_mask.cpp +2 -2
  138. package/src/duckdb/src/common/types/value.cpp +35 -41
  139. package/src/duckdb/src/common/types/vector.cpp +149 -37
  140. package/src/duckdb/src/common/types/vector_buffer.cpp +4 -4
  141. package/src/duckdb/src/common/types/vector_cache.cpp +2 -2
  142. package/src/duckdb/src/common/types.cpp +64 -56
  143. package/src/duckdb/src/common/vector_operations/vector_cast.cpp +7 -2
  144. package/src/duckdb/src/common/virtual_file_system.cpp +3 -3
  145. package/src/duckdb/src/execution/aggregate_hashtable.cpp +10 -8
  146. package/src/duckdb/src/execution/base_aggregate_hashtable.cpp +1 -1
  147. package/src/duckdb/src/execution/column_binding_resolver.cpp +21 -1
  148. package/src/duckdb/src/execution/expression_executor/execute_case.cpp +1 -1
  149. package/src/duckdb/src/execution/expression_executor/execute_cast.cpp +10 -4
  150. package/src/duckdb/src/execution/expression_executor/execute_conjunction.cpp +1 -1
  151. package/src/duckdb/src/execution/expression_executor/execute_function.cpp +1 -1
  152. package/src/duckdb/src/execution/expression_executor/execute_operator.cpp +1 -1
  153. package/src/duckdb/src/execution/expression_executor.cpp +1 -1
  154. package/src/duckdb/src/execution/index/art/art.cpp +258 -197
  155. package/src/duckdb/src/execution/index/art/art_key.cpp +10 -0
  156. package/src/duckdb/src/execution/index/art/leaf.cpp +68 -25
  157. package/src/duckdb/src/execution/index/art/node.cpp +183 -90
  158. package/src/duckdb/src/execution/index/art/node16.cpp +62 -34
  159. package/src/duckdb/src/execution/index/art/node256.cpp +50 -30
  160. package/src/duckdb/src/execution/index/art/node4.cpp +63 -34
  161. package/src/duckdb/src/execution/index/art/node48.cpp +63 -38
  162. package/src/duckdb/src/execution/index/art/prefix.cpp +24 -14
  163. package/src/duckdb/src/execution/index/art/swizzleable_pointer.cpp +5 -2
  164. package/src/duckdb/src/execution/join_hashtable.cpp +18 -19
  165. package/src/duckdb/src/execution/operator/aggregate/aggregate_object.cpp +1 -1
  166. package/src/duckdb/src/execution/operator/aggregate/distinct_aggregate_data.cpp +2 -2
  167. package/src/duckdb/src/execution/operator/aggregate/grouped_aggregate_data.cpp +4 -4
  168. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +22 -20
  169. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +3 -3
  170. package/src/duckdb/src/execution/operator/aggregate/physical_streaming_window.cpp +1 -1
  171. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +11 -11
  172. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +322 -420
  173. package/src/duckdb/src/execution/operator/filter/physical_filter.cpp +8 -5
  174. package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +3 -3
  175. package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +3 -2
  176. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +5 -5
  177. package/src/duckdb/src/execution/operator/helper/physical_set.cpp +9 -8
  178. package/src/duckdb/src/execution/operator/helper/physical_streaming_limit.cpp +3 -3
  179. package/src/duckdb/src/execution/operator/helper/physical_streaming_sample.cpp +1 -1
  180. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +4 -3
  181. package/src/duckdb/src/execution/operator/join/perfect_hash_join_executor.cpp +2 -2
  182. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +3 -3
  183. package/src/duckdb/src/execution/operator/join/physical_comparison_join.cpp +3 -2
  184. package/src/duckdb/src/execution/operator/join/physical_cross_product.cpp +3 -3
  185. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +6 -6
  186. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +19 -19
  187. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +7 -7
  188. package/src/duckdb/src/execution/operator/join/physical_index_join.cpp +11 -10
  189. package/src/duckdb/src/execution/operator/join/physical_join.cpp +8 -1
  190. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +4 -3
  191. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +13 -8
  192. package/src/duckdb/src/execution/operator/join/physical_positional_join.cpp +195 -0
  193. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +7 -7
  194. package/src/duckdb/src/execution/operator/order/physical_order.cpp +6 -6
  195. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +3 -3
  196. package/src/duckdb/src/execution/operator/persistent/base_csv_reader.cpp +188 -35
  197. package/src/duckdb/src/execution/operator/persistent/buffered_csv_reader.cpp +88 -51
  198. package/src/duckdb/src/execution/operator/persistent/csv_buffer.cpp +19 -8
  199. package/src/duckdb/src/execution/operator/persistent/csv_reader_options.cpp +44 -55
  200. package/src/duckdb/src/execution/operator/persistent/parallel_csv_reader.cpp +138 -37
  201. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +32 -28
  202. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +114 -19
  203. package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +2 -1
  204. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +258 -24
  205. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +5 -3
  206. package/src/duckdb/src/execution/operator/projection/physical_projection.cpp +2 -2
  207. package/src/duckdb/src/execution/operator/projection/physical_tableinout_function.cpp +5 -5
  208. package/src/duckdb/src/execution/operator/projection/physical_unnest.cpp +183 -124
  209. package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +187 -0
  210. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +9 -8
  211. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +33 -8
  212. package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +63 -86
  213. package/src/duckdb/src/execution/operator/schema/physical_create_table.cpp +1 -1
  214. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +1 -1
  215. package/src/duckdb/src/execution/operator/schema/physical_detach.cpp +37 -0
  216. package/src/duckdb/src/execution/operator/schema/physical_drop.cpp +20 -3
  217. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +4 -3
  218. package/src/duckdb/src/execution/operator/set/physical_union.cpp +3 -3
  219. package/src/duckdb/src/execution/partitionable_hashtable.cpp +5 -5
  220. package/src/duckdb/src/execution/perfect_aggregate_hashtable.cpp +4 -4
  221. package/src/duckdb/src/execution/physical_operator.cpp +1 -1
  222. package/src/duckdb/src/execution/physical_plan/plan_aggregate.cpp +20 -19
  223. package/src/duckdb/src/execution/physical_plan/plan_any_join.cpp +2 -2
  224. package/src/duckdb/src/execution/physical_plan/plan_column_data_get.cpp +2 -2
  225. package/src/duckdb/src/execution/physical_plan/plan_comparison_join.cpp +25 -23
  226. package/src/duckdb/src/execution/physical_plan/plan_copy_to_file.cpp +11 -6
  227. package/src/duckdb/src/execution/physical_plan/plan_create.cpp +6 -6
  228. package/src/duckdb/src/execution/physical_plan/plan_create_index.cpp +63 -14
  229. package/src/duckdb/src/execution/physical_plan/plan_create_table.cpp +24 -18
  230. package/src/duckdb/src/execution/physical_plan/plan_cross_product.cpp +1 -1
  231. package/src/duckdb/src/execution/physical_plan/plan_delete.cpp +14 -8
  232. package/src/duckdb/src/execution/physical_plan/plan_delim_get.cpp +1 -1
  233. package/src/duckdb/src/execution/physical_plan/plan_delim_join.cpp +4 -4
  234. package/src/duckdb/src/execution/physical_plan/plan_distinct.cpp +14 -13
  235. package/src/duckdb/src/execution/physical_plan/plan_execute.cpp +3 -3
  236. package/src/duckdb/src/execution/physical_plan/plan_explain.cpp +4 -4
  237. package/src/duckdb/src/execution/physical_plan/plan_export.cpp +4 -4
  238. package/src/duckdb/src/execution/physical_plan/plan_expression_get.cpp +4 -4
  239. package/src/duckdb/src/execution/physical_plan/plan_filter.cpp +6 -6
  240. package/src/duckdb/src/execution/physical_plan/plan_get.cpp +15 -13
  241. package/src/duckdb/src/execution/physical_plan/plan_insert.cpp +32 -17
  242. package/src/duckdb/src/execution/physical_plan/plan_limit.cpp +8 -7
  243. package/src/duckdb/src/execution/physical_plan/plan_limit_percent.cpp +4 -4
  244. package/src/duckdb/src/execution/physical_plan/plan_order.cpp +5 -4
  245. package/src/duckdb/src/execution/physical_plan/plan_positional_join.cpp +21 -0
  246. package/src/duckdb/src/execution/physical_plan/plan_prepare.cpp +2 -2
  247. package/src/duckdb/src/execution/physical_plan/plan_projection.cpp +3 -3
  248. package/src/duckdb/src/execution/physical_plan/plan_recursive_cte.cpp +5 -5
  249. package/src/duckdb/src/execution/physical_plan/plan_sample.cpp +2 -2
  250. package/src/duckdb/src/execution/physical_plan/plan_set_operation.cpp +4 -4
  251. package/src/duckdb/src/execution/physical_plan/plan_show_select.cpp +2 -2
  252. package/src/duckdb/src/execution/physical_plan/plan_simple.cpp +14 -8
  253. package/src/duckdb/src/execution/physical_plan/plan_top_n.cpp +3 -3
  254. package/src/duckdb/src/execution/physical_plan/plan_unnest.cpp +3 -3
  255. package/src/duckdb/src/execution/physical_plan/plan_update.cpp +13 -6
  256. package/src/duckdb/src/execution/physical_plan/plan_window.cpp +10 -8
  257. package/src/duckdb/src/execution/physical_plan_generator.cpp +6 -1
  258. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +2 -2
  259. package/src/duckdb/src/execution/reservoir_sample.cpp +2 -2
  260. package/src/duckdb/src/execution/window_segment_tree.cpp +2 -1
  261. package/src/duckdb/src/function/aggregate/distributive/approx_count.cpp +2 -2
  262. package/src/duckdb/src/function/aggregate/distributive/arg_min_max.cpp +232 -72
  263. package/src/duckdb/src/function/aggregate/distributive/first.cpp +2 -2
  264. package/src/duckdb/src/function/aggregate/distributive/minmax.cpp +3 -3
  265. package/src/duckdb/src/function/aggregate/distributive/string_agg.cpp +2 -2
  266. package/src/duckdb/src/function/aggregate/holistic/approximate_quantile.cpp +2 -2
  267. package/src/duckdb/src/function/aggregate/holistic/quantile.cpp +4 -1
  268. package/src/duckdb/src/function/aggregate/holistic/reservoir_quantile.cpp +2 -2
  269. package/src/duckdb/src/function/aggregate/sorted_aggregate_function.cpp +6 -5
  270. package/src/duckdb/src/function/built_in_functions.cpp +10 -10
  271. package/src/duckdb/src/function/cast/bit_cast.cpp +19 -0
  272. package/src/duckdb/src/function/cast/blob_cast.cpp +1 -0
  273. package/src/duckdb/src/function/cast/cast_function_set.cpp +5 -5
  274. package/src/duckdb/src/function/cast/decimal_cast.cpp +2 -2
  275. package/src/duckdb/src/function/cast/default_casts.cpp +12 -9
  276. package/src/duckdb/src/function/cast/enum_casts.cpp +2 -3
  277. package/src/duckdb/src/function/cast/list_casts.cpp +1 -2
  278. package/src/duckdb/src/function/cast/map_cast.cpp +12 -1
  279. package/src/duckdb/src/function/cast/numeric_casts.cpp +0 -1
  280. package/src/duckdb/src/function/cast/string_cast.cpp +92 -7
  281. package/src/duckdb/src/function/cast/struct_cast.cpp +3 -4
  282. package/src/duckdb/src/function/cast/time_casts.cpp +0 -9
  283. package/src/duckdb/src/function/cast/union_casts.cpp +11 -9
  284. package/src/duckdb/src/function/cast/uuid_casts.cpp +0 -1
  285. package/src/duckdb/src/function/cast/vector_cast_helpers.cpp +161 -53
  286. package/src/duckdb/src/function/cast_rules.cpp +2 -7
  287. package/src/duckdb/src/function/function.cpp +5 -5
  288. package/src/duckdb/src/function/function_binder.cpp +8 -8
  289. package/src/duckdb/src/function/function_set.cpp +3 -3
  290. package/src/duckdb/src/function/macro_function.cpp +12 -10
  291. package/src/duckdb/src/function/pragma/pragma_functions.cpp +1 -0
  292. package/src/duckdb/src/function/pragma/pragma_queries.cpp +24 -6
  293. package/src/duckdb/src/function/pragma_function.cpp +7 -6
  294. package/src/duckdb/src/function/scalar/date/date_part.cpp +11 -11
  295. package/src/duckdb/src/function/scalar/date/date_trunc.cpp +1 -1
  296. package/src/duckdb/src/function/scalar/date/strftime.cpp +14 -13
  297. package/src/duckdb/src/function/scalar/date/time_bucket.cpp +371 -0
  298. package/src/duckdb/src/function/scalar/date_functions.cpp +1 -0
  299. package/src/duckdb/src/function/scalar/generic/constant_or_null.cpp +3 -3
  300. package/src/duckdb/src/function/scalar/generic/current_setting.cpp +1 -1
  301. package/src/duckdb/src/function/scalar/generic/stats.cpp +1 -1
  302. package/src/duckdb/src/function/scalar/list/list_aggregates.cpp +9 -9
  303. package/src/duckdb/src/function/scalar/list/list_concat.cpp +1 -1
  304. package/src/duckdb/src/function/scalar/list/list_lambdas.cpp +20 -4
  305. package/src/duckdb/src/function/scalar/list/list_sort.cpp +4 -5
  306. package/src/duckdb/src/function/scalar/list/list_value.cpp +3 -3
  307. package/src/duckdb/src/function/scalar/map/map_extract.cpp +1 -4
  308. package/src/duckdb/src/function/scalar/math/numeric.cpp +35 -5
  309. package/src/duckdb/src/function/scalar/math/setseed.cpp +1 -1
  310. package/src/duckdb/src/function/scalar/math_functions.cpp +1 -0
  311. package/src/duckdb/src/function/scalar/operators/arithmetic.cpp +11 -11
  312. package/src/duckdb/src/function/scalar/operators/bitwise.cpp +160 -10
  313. package/src/duckdb/src/function/scalar/sequence/nextval.cpp +5 -5
  314. package/src/duckdb/src/function/scalar/string/bar.cpp +93 -0
  315. package/src/duckdb/src/function/scalar/string/left_right.cpp +5 -1
  316. package/src/duckdb/src/function/scalar/string/length.cpp +30 -4
  317. package/src/duckdb/src/function/scalar/string/like.cpp +5 -4
  318. package/src/duckdb/src/function/scalar/string/regexp.cpp +12 -11
  319. package/src/duckdb/src/function/scalar/string/string_split.cpp +1 -1
  320. package/src/duckdb/src/function/scalar/string/substring.cpp +8 -0
  321. package/src/duckdb/src/function/scalar/string_functions.cpp +7 -0
  322. package/src/duckdb/src/function/scalar/struct/struct_extract.cpp +2 -1
  323. package/src/duckdb/src/function/scalar/struct/struct_insert.cpp +2 -2
  324. package/src/duckdb/src/function/scalar/struct/struct_pack.cpp +2 -2
  325. package/src/duckdb/src/function/scalar/system/aggregate_export.cpp +4 -4
  326. package/src/duckdb/src/function/scalar/system/system_functions.cpp +9 -2
  327. package/src/duckdb/src/function/scalar/union/union_extract.cpp +2 -1
  328. package/src/duckdb/src/function/scalar/union/union_value.cpp +1 -1
  329. package/src/duckdb/src/function/scalar_function.cpp +5 -4
  330. package/src/duckdb/src/function/scalar_macro_function.cpp +2 -2
  331. package/src/duckdb/src/function/table/arrow.cpp +7 -7
  332. package/src/duckdb/src/function/table/arrow_conversion.cpp +1 -2
  333. package/src/duckdb/src/function/table/checkpoint.cpp +1 -0
  334. package/src/duckdb/src/function/table/copy_csv.cpp +23 -24
  335. package/src/duckdb/src/function/table/glob.cpp +1 -1
  336. package/src/duckdb/src/function/table/pragma_detailed_profiling_output.cpp +4 -4
  337. package/src/duckdb/src/function/table/pragma_last_profiling_output.cpp +3 -3
  338. package/src/duckdb/src/function/table/range.cpp +2 -2
  339. package/src/duckdb/src/function/table/read_csv.cpp +225 -126
  340. package/src/duckdb/src/function/table/repeat.cpp +1 -1
  341. package/src/duckdb/src/function/table/system/duckdb_columns.cpp +6 -6
  342. package/src/duckdb/src/function/table/system/duckdb_constraints.cpp +71 -60
  343. package/src/duckdb/src/function/table/system/duckdb_databases.cpp +89 -0
  344. package/src/duckdb/src/function/table/system/duckdb_dependencies.cpp +14 -10
  345. package/src/duckdb/src/function/table/system/duckdb_extensions.cpp +5 -5
  346. package/src/duckdb/src/function/table/system/duckdb_functions.cpp +13 -13
  347. package/src/duckdb/src/function/table/system/duckdb_indexes.cpp +17 -10
  348. package/src/duckdb/src/function/table/system/duckdb_keywords.cpp +2 -2
  349. package/src/duckdb/src/function/table/system/duckdb_schemas.cpp +1 -1
  350. package/src/duckdb/src/function/table/system/duckdb_sequences.cpp +1 -1
  351. package/src/duckdb/src/function/table/system/duckdb_settings.cpp +4 -4
  352. package/src/duckdb/src/function/table/system/duckdb_tables.cpp +10 -6
  353. package/src/duckdb/src/function/table/system/duckdb_types.cpp +1 -1
  354. package/src/duckdb/src/function/table/system/duckdb_views.cpp +2 -2
  355. package/src/duckdb/src/function/table/system/pragma_collations.cpp +1 -1
  356. package/src/duckdb/src/function/table/system/pragma_database_size.cpp +4 -4
  357. package/src/duckdb/src/function/table/system/pragma_storage_info.cpp +42 -19
  358. package/src/duckdb/src/function/table/system/pragma_table_info.cpp +17 -11
  359. package/src/duckdb/src/function/table/system/test_all_types.cpp +22 -19
  360. package/src/duckdb/src/function/table/system/test_vector_types.cpp +8 -8
  361. package/src/duckdb/src/function/table/system_functions.cpp +1 -1
  362. package/src/duckdb/src/function/table/table_scan.cpp +34 -30
  363. package/src/duckdb/src/function/table/unnest.cpp +5 -5
  364. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  365. package/src/duckdb/src/function/table_function.cpp +1 -1
  366. package/src/duckdb/src/function/table_macro_function.cpp +2 -2
  367. package/src/duckdb/src/function/udf_function.cpp +4 -4
  368. package/src/duckdb/src/include/duckdb/catalog/catalog.hpp +44 -20
  369. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_index_entry.hpp +29 -0
  370. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_schema_entry.hpp +69 -0
  371. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/duck_table_entry.hpp +71 -0
  372. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/index_catalog_entry.hpp +3 -2
  373. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/schema_catalog_entry.hpp +19 -50
  374. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +48 -39
  375. package/src/duckdb/src/include/duckdb/catalog/catalog_set.hpp +9 -6
  376. package/src/duckdb/src/include/duckdb/catalog/dependency_manager.hpp +3 -3
  377. package/src/duckdb/src/include/duckdb/catalog/duck_catalog.hpp +75 -0
  378. package/src/duckdb/src/include/duckdb/catalog/mapping_value.hpp +2 -1
  379. package/src/duckdb/src/include/duckdb/catalog/similar_catalog_entry.hpp +32 -0
  380. package/src/duckdb/src/include/duckdb/common/allocator.hpp +1 -1
  381. package/src/duckdb/src/include/duckdb/common/assert.hpp +4 -0
  382. package/src/duckdb/src/include/duckdb/common/bind_helpers.hpp +21 -0
  383. package/src/duckdb/src/include/duckdb/common/box_renderer.hpp +4 -0
  384. package/src/duckdb/src/include/duckdb/common/constants.hpp +2 -0
  385. package/src/duckdb/src/include/duckdb/common/enums/access_mode.hpp +17 -0
  386. package/src/duckdb/src/include/duckdb/common/enums/expression_type.hpp +3 -1
  387. package/src/duckdb/src/include/duckdb/common/enums/joinref_type.hpp +25 -0
  388. package/src/duckdb/src/include/duckdb/common/enums/logical_operator_type.hpp +2 -0
  389. package/src/duckdb/src/include/duckdb/common/enums/optimizer_type.hpp +1 -0
  390. package/src/duckdb/src/include/duckdb/common/enums/physical_operator_type.hpp +5 -1
  391. package/src/duckdb/src/include/duckdb/common/enums/relation_type.hpp +1 -0
  392. package/src/duckdb/src/include/duckdb/common/enums/statement_type.hpp +2 -1
  393. package/src/duckdb/src/include/duckdb/common/enums/tableref_type.hpp +0 -1
  394. package/src/duckdb/src/include/duckdb/common/exception.hpp +10 -0
  395. package/src/duckdb/src/include/duckdb/common/field_writer.hpp +4 -4
  396. package/src/duckdb/src/include/duckdb/common/file_buffer.hpp +3 -16
  397. package/src/duckdb/src/include/duckdb/common/file_opener.hpp +4 -1
  398. package/src/duckdb/src/include/duckdb/common/file_system.hpp +18 -6
  399. package/src/duckdb/src/include/duckdb/common/gzip_file_system.hpp +1 -1
  400. package/src/duckdb/src/include/duckdb/common/helper.hpp +8 -0
  401. package/src/duckdb/src/include/duckdb/common/hive_partitioning.hpp +71 -2
  402. package/src/duckdb/src/include/duckdb/common/http_stats.hpp +1 -1
  403. package/src/duckdb/src/include/duckdb/common/index_vector.hpp +1 -1
  404. package/src/duckdb/src/include/duckdb/common/limits.hpp +3 -0
  405. package/src/duckdb/src/include/duckdb/common/local_file_system.hpp +2 -1
  406. package/src/duckdb/src/include/duckdb/common/operator/cast_operators.hpp +41 -0
  407. package/src/duckdb/src/include/duckdb/common/operator/convert_to_string.hpp +18 -18
  408. package/src/duckdb/src/include/duckdb/common/operator/decimal_cast_operators.hpp +20 -0
  409. package/src/duckdb/src/include/duckdb/common/operator/numeric_cast.hpp +39 -0
  410. package/src/duckdb/src/include/duckdb/common/operator/subtract.hpp +1 -1
  411. package/src/duckdb/src/include/duckdb/common/progress_bar/display/terminal_progress_bar_display.hpp +6 -7
  412. package/src/duckdb/src/include/duckdb/common/radix_partitioning.hpp +4 -0
  413. package/src/duckdb/src/include/duckdb/common/serializer.hpp +3 -3
  414. package/src/duckdb/src/include/duckdb/common/string_util.hpp +2 -0
  415. package/src/duckdb/src/include/duckdb/common/tree_renderer.hpp +1 -1
  416. package/src/duckdb/src/include/duckdb/common/types/bit.hpp +57 -0
  417. package/src/duckdb/src/include/duckdb/common/types/chunk_collection.hpp +1 -1
  418. package/src/duckdb/src/include/duckdb/common/types/conflict_manager.hpp +71 -0
  419. package/src/duckdb/src/include/duckdb/common/types/constraint_conflict_info.hpp +27 -0
  420. package/src/duckdb/src/include/duckdb/common/types/data_chunk.hpp +2 -0
  421. package/src/duckdb/src/include/duckdb/common/types/hugeint.hpp +3 -3
  422. package/src/duckdb/src/include/duckdb/common/types/partitioned_column_data.hpp +1 -1
  423. package/src/duckdb/src/include/duckdb/common/types/row_data_collection_scanner.hpp +4 -1
  424. package/src/duckdb/src/include/duckdb/common/types/selection_vector.hpp +84 -4
  425. package/src/duckdb/src/include/duckdb/common/types/timestamp.hpp +5 -1
  426. package/src/duckdb/src/include/duckdb/common/types/validity_mask.hpp +1 -9
  427. package/src/duckdb/src/include/duckdb/common/types/value.hpp +6 -5
  428. package/src/duckdb/src/include/duckdb/common/types/vector.hpp +17 -3
  429. package/src/duckdb/src/include/duckdb/common/types/vector_buffer.hpp +5 -5
  430. package/src/duckdb/src/include/duckdb/common/types.hpp +7 -5
  431. package/src/duckdb/src/include/duckdb/common/unicode_bar.hpp +35 -0
  432. package/src/duckdb/src/include/duckdb/common/union_by_name.hpp +93 -0
  433. package/src/duckdb/src/include/duckdb/common/vector_operations/generic_executor.hpp +141 -0
  434. package/src/duckdb/src/include/duckdb/common/vector_operations/ternary_executor.hpp +14 -0
  435. package/src/duckdb/src/include/duckdb/common/virtual_file_system.hpp +23 -4
  436. package/src/duckdb/src/include/duckdb/execution/executor.hpp +3 -0
  437. package/src/duckdb/src/include/duckdb/execution/expression_executor_state.hpp +2 -2
  438. package/src/duckdb/src/include/duckdb/execution/index/art/art.hpp +26 -20
  439. package/src/duckdb/src/include/duckdb/execution/index/art/leaf.hpp +17 -8
  440. package/src/duckdb/src/include/duckdb/execution/index/art/node.hpp +21 -9
  441. package/src/duckdb/src/include/duckdb/execution/index/art/node16.hpp +15 -5
  442. package/src/duckdb/src/include/duckdb/execution/index/art/node256.hpp +14 -5
  443. package/src/duckdb/src/include/duckdb/execution/index/art/node4.hpp +16 -8
  444. package/src/duckdb/src/include/duckdb/execution/index/art/node48.hpp +14 -5
  445. package/src/duckdb/src/include/duckdb/execution/index/art/prefix.hpp +26 -20
  446. package/src/duckdb/src/include/duckdb/execution/index/art/swizzleable_pointer.hpp +4 -4
  447. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +1 -1
  448. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit_percent.hpp +3 -3
  449. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_load.hpp +1 -1
  450. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_pragma.hpp +1 -1
  451. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_prepare.hpp +1 -1
  452. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +2 -2
  453. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +3 -3
  454. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_transaction.hpp +1 -1
  455. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_cross_product.hpp +1 -1
  456. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_positional_join.hpp +50 -0
  457. package/src/duckdb/src/include/duckdb/execution/operator/persistent/base_csv_reader.hpp +10 -11
  458. package/src/duckdb/src/include/duckdb/execution/operator/persistent/buffered_csv_reader.hpp +2 -1
  459. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_buffer.hpp +9 -3
  460. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_file_handle.hpp +2 -2
  461. package/src/duckdb/src/include/duckdb/execution/operator/persistent/csv_reader_options.hpp +31 -3
  462. package/src/duckdb/src/include/duckdb/execution/operator/persistent/parallel_csv_reader.hpp +14 -2
  463. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +2 -0
  464. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +7 -1
  465. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_delete.hpp +1 -1
  466. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_export.hpp +2 -2
  467. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +37 -2
  468. package/src/duckdb/src/include/duckdb/execution/operator/projection/physical_unnest.hpp +5 -1
  469. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +1 -1
  470. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_dummy_scan.hpp +1 -1
  471. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_empty_result.hpp +1 -1
  472. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_expression_scan.hpp +2 -2
  473. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_positional_scan.hpp +41 -0
  474. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_alter.hpp +1 -1
  475. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_attach.hpp +1 -1
  476. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_function.hpp +1 -1
  477. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_index.hpp +9 -17
  478. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_schema.hpp +1 -1
  479. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_sequence.hpp +1 -1
  480. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_view.hpp +1 -1
  481. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_detach.hpp +32 -0
  482. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_drop.hpp +1 -1
  483. package/src/duckdb/src/include/duckdb/execution/physical_plan_generator.hpp +1 -0
  484. package/src/duckdb/src/include/duckdb/function/cast/default_casts.hpp +37 -13
  485. package/src/duckdb/src/include/duckdb/function/cast/vector_cast_helpers.hpp +11 -2
  486. package/src/duckdb/src/include/duckdb/function/compression_function.hpp +1 -1
  487. package/src/duckdb/src/include/duckdb/function/copy_function.hpp +12 -3
  488. package/src/duckdb/src/include/duckdb/function/function_serialization.hpp +3 -3
  489. package/src/duckdb/src/include/duckdb/function/function_set.hpp +4 -2
  490. package/src/duckdb/src/include/duckdb/function/replacement_scan.hpp +4 -4
  491. package/src/duckdb/src/include/duckdb/function/scalar/bit_functions.hpp +28 -0
  492. package/src/duckdb/src/include/duckdb/function/scalar/date_functions.hpp +4 -0
  493. package/src/duckdb/src/include/duckdb/function/scalar/math_functions.hpp +4 -0
  494. package/src/duckdb/src/include/duckdb/function/scalar/nested_functions.hpp +2 -2
  495. package/src/duckdb/src/include/duckdb/function/scalar/strftime.hpp +4 -3
  496. package/src/duckdb/src/include/duckdb/function/scalar/string_functions.hpp +4 -0
  497. package/src/duckdb/src/include/duckdb/function/scalar_function.hpp +7 -0
  498. package/src/duckdb/src/include/duckdb/function/table/arrow.hpp +1 -1
  499. package/src/duckdb/src/include/duckdb/function/table/read_csv.hpp +6 -4
  500. package/src/duckdb/src/include/duckdb/function/table/system_functions.hpp +6 -6
  501. package/src/duckdb/src/include/duckdb/function/table/table_scan.hpp +3 -2
  502. package/src/duckdb/src/include/duckdb/function/udf_function.hpp +2 -2
  503. package/src/duckdb/src/include/duckdb/main/attached_database.hpp +6 -0
  504. package/src/duckdb/src/include/duckdb/main/client_config.hpp +3 -0
  505. package/src/duckdb/src/include/duckdb/main/client_context.hpp +9 -1
  506. package/src/duckdb/src/include/duckdb/main/config.hpp +10 -8
  507. package/src/duckdb/src/include/duckdb/main/connection.hpp +7 -3
  508. package/src/duckdb/src/include/duckdb/main/connection_manager.hpp +1 -1
  509. package/src/duckdb/src/include/duckdb/main/database.hpp +6 -0
  510. package/src/duckdb/src/include/duckdb/main/database_manager.hpp +3 -0
  511. package/src/duckdb/src/include/duckdb/main/extension_functions.hpp +5 -0
  512. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +5 -5
  513. package/src/duckdb/src/include/duckdb/main/materialized_query_result.hpp +1 -0
  514. package/src/duckdb/src/include/duckdb/main/prepared_statement.hpp +2 -0
  515. package/src/duckdb/src/include/duckdb/main/query_result.hpp +3 -0
  516. package/src/duckdb/src/include/duckdb/main/relation/read_csv_relation.hpp +10 -11
  517. package/src/duckdb/src/include/duckdb/main/relation/read_json_relation.hpp +23 -0
  518. package/src/duckdb/src/include/duckdb/main/relation/table_function_relation.hpp +11 -2
  519. package/src/duckdb/src/include/duckdb/main/relation/write_csv_relation.hpp +2 -1
  520. package/src/duckdb/src/include/duckdb/main/relation/write_parquet_relation.hpp +34 -0
  521. package/src/duckdb/src/include/duckdb/main/relation.hpp +14 -1
  522. package/src/duckdb/src/include/duckdb/main/settings.hpp +9 -0
  523. package/src/duckdb/src/include/duckdb/main/valid_checker.hpp +1 -1
  524. package/src/duckdb/src/include/duckdb/optimizer/deliminator.hpp +4 -1
  525. package/src/duckdb/src/include/duckdb/optimizer/filter_combiner.hpp +3 -3
  526. package/src/duckdb/src/include/duckdb/optimizer/filter_pushdown.hpp +1 -1
  527. package/src/duckdb/src/include/duckdb/optimizer/join_order/cardinality_estimator.hpp +3 -6
  528. package/src/duckdb/src/include/duckdb/optimizer/join_order/estimated_properties.hpp +0 -1
  529. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_node.hpp +0 -1
  530. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_order_optimizer.hpp +1 -2
  531. package/src/duckdb/src/include/duckdb/optimizer/join_order/join_relation.hpp +1 -1
  532. package/src/duckdb/src/include/duckdb/optimizer/matcher/expression_type_matcher.hpp +1 -1
  533. package/src/duckdb/src/include/duckdb/optimizer/matcher/function_matcher.hpp +2 -2
  534. package/src/duckdb/src/include/duckdb/optimizer/statistics_propagator.hpp +1 -0
  535. package/src/duckdb/src/include/duckdb/optimizer/unnest_rewriter.hpp +84 -0
  536. package/src/duckdb/src/include/duckdb/parallel/task_counter.hpp +1 -1
  537. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +3 -3
  538. package/src/duckdb/src/include/duckdb/parser/column_list.hpp +3 -1
  539. package/src/duckdb/src/include/duckdb/parser/expression/between_expression.hpp +1 -1
  540. package/src/duckdb/src/include/duckdb/parser/expression/case_expression.hpp +1 -1
  541. package/src/duckdb/src/include/duckdb/parser/expression/cast_expression.hpp +1 -1
  542. package/src/duckdb/src/include/duckdb/parser/expression/collate_expression.hpp +1 -1
  543. package/src/duckdb/src/include/duckdb/parser/expression/columnref_expression.hpp +1 -1
  544. package/src/duckdb/src/include/duckdb/parser/expression/comparison_expression.hpp +1 -1
  545. package/src/duckdb/src/include/duckdb/parser/expression/conjunction_expression.hpp +1 -1
  546. package/src/duckdb/src/include/duckdb/parser/expression/constant_expression.hpp +1 -1
  547. package/src/duckdb/src/include/duckdb/parser/expression/function_expression.hpp +3 -3
  548. package/src/duckdb/src/include/duckdb/parser/expression/lambda_expression.hpp +1 -1
  549. package/src/duckdb/src/include/duckdb/parser/expression/operator_expression.hpp +1 -1
  550. package/src/duckdb/src/include/duckdb/parser/expression/parameter_expression.hpp +1 -1
  551. package/src/duckdb/src/include/duckdb/parser/expression/positional_reference_expression.hpp +1 -1
  552. package/src/duckdb/src/include/duckdb/parser/expression/star_expression.hpp +1 -1
  553. package/src/duckdb/src/include/duckdb/parser/expression/subquery_expression.hpp +1 -1
  554. package/src/duckdb/src/include/duckdb/parser/expression/window_expression.hpp +1 -1
  555. package/src/duckdb/src/include/duckdb/parser/parsed_data/alter_info.hpp +1 -1
  556. package/src/duckdb/src/include/duckdb/parser/parsed_data/copy_info.hpp +4 -3
  557. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_database_info.hpp +46 -0
  558. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_info.hpp +1 -1
  559. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_macro_info.hpp +1 -1
  560. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_schema_info.hpp +1 -1
  561. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_sequence_info.hpp +1 -1
  562. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_type_info.hpp +2 -2
  563. package/src/duckdb/src/include/duckdb/parser/parsed_data/create_view_info.hpp +5 -0
  564. package/src/duckdb/src/include/duckdb/parser/parsed_data/detach_info.hpp +32 -0
  565. package/src/duckdb/src/include/duckdb/parser/parsed_data/drop_info.hpp +28 -1
  566. package/src/duckdb/src/include/duckdb/parser/parsed_data/load_info.hpp +17 -0
  567. package/src/duckdb/src/include/duckdb/parser/parser_extension.hpp +2 -2
  568. package/src/duckdb/src/include/duckdb/parser/qualified_name.hpp +1 -1
  569. package/src/duckdb/src/include/duckdb/parser/result_modifier.hpp +1 -1
  570. package/src/duckdb/src/include/duckdb/parser/statement/copy_statement.hpp +4 -0
  571. package/src/duckdb/src/include/duckdb/parser/statement/detach_statement.hpp +29 -0
  572. package/src/duckdb/src/include/duckdb/parser/statement/insert_statement.hpp +33 -0
  573. package/src/duckdb/src/include/duckdb/parser/statement/list.hpp +1 -0
  574. package/src/duckdb/src/include/duckdb/parser/statement/logical_plan_statement.hpp +1 -1
  575. package/src/duckdb/src/include/duckdb/parser/statement/update_statement.hpp +20 -3
  576. package/src/duckdb/src/include/duckdb/parser/tableref/joinref.hpp +6 -3
  577. package/src/duckdb/src/include/duckdb/parser/tableref/list.hpp +0 -1
  578. package/src/duckdb/src/include/duckdb/parser/tableref/table_function_ref.hpp +1 -1
  579. package/src/duckdb/src/include/duckdb/parser/tokens.hpp +1 -1
  580. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +24 -0
  581. package/src/duckdb/src/include/duckdb/planner/bind_context.hpp +4 -3
  582. package/src/duckdb/src/include/duckdb/planner/binder.hpp +33 -20
  583. package/src/duckdb/src/include/duckdb/planner/bound_tokens.hpp +0 -1
  584. package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +1 -0
  585. package/src/duckdb/src/include/duckdb/planner/constraints/bound_foreign_key_constraint.hpp +2 -2
  586. package/src/duckdb/src/include/duckdb/planner/constraints/bound_unique_constraint.hpp +1 -1
  587. package/src/duckdb/src/include/duckdb/planner/expression/bound_cast_expression.hpp +2 -2
  588. package/src/duckdb/src/include/duckdb/planner/expression/bound_lambdaref_expression.hpp +54 -0
  589. package/src/duckdb/src/include/duckdb/planner/expression/bound_parameter_data.hpp +2 -2
  590. package/src/duckdb/src/include/duckdb/planner/expression_binder/column_alias_binder.hpp +1 -1
  591. package/src/duckdb/src/include/duckdb/planner/expression_binder/returning_binder.hpp +0 -4
  592. package/src/duckdb/src/include/duckdb/planner/expression_binder/table_function_binder.hpp +1 -1
  593. package/src/duckdb/src/include/duckdb/planner/expression_binder.hpp +3 -4
  594. package/src/duckdb/src/include/duckdb/planner/logical_tokens.hpp +1 -0
  595. package/src/duckdb/src/include/duckdb/planner/operator/list.hpp +1 -0
  596. package/src/duckdb/src/include/duckdb/planner/operator/logical_copy_to_file.hpp +8 -2
  597. package/src/duckdb/src/include/duckdb/planner/operator/logical_create.hpp +1 -1
  598. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_index.hpp +3 -3
  599. package/src/duckdb/src/include/duckdb/planner/operator/logical_create_table.hpp +1 -1
  600. package/src/duckdb/src/include/duckdb/planner/operator/logical_cross_product.hpp +3 -8
  601. package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +4 -20
  602. package/src/duckdb/src/include/duckdb/planner/operator/logical_distinct.hpp +1 -1
  603. package/src/duckdb/src/include/duckdb/planner/operator/logical_execute.hpp +1 -1
  604. package/src/duckdb/src/include/duckdb/planner/operator/logical_explain.hpp +1 -1
  605. package/src/duckdb/src/include/duckdb/planner/operator/logical_export.hpp +2 -2
  606. package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +1 -1
  607. package/src/duckdb/src/include/duckdb/planner/operator/logical_extension_operator.hpp +2 -3
  608. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +28 -18
  609. package/src/duckdb/src/include/duckdb/planner/operator/logical_limit_percent.hpp +1 -1
  610. package/src/duckdb/src/include/duckdb/planner/operator/logical_order.hpp +1 -1
  611. package/src/duckdb/src/include/duckdb/planner/operator/logical_positional_join.hpp +28 -0
  612. package/src/duckdb/src/include/duckdb/planner/operator/logical_pragma.hpp +2 -1
  613. package/src/duckdb/src/include/duckdb/planner/operator/logical_prepare.hpp +2 -2
  614. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +2 -2
  615. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +2 -2
  616. package/src/duckdb/src/include/duckdb/planner/operator/logical_show.hpp +1 -1
  617. package/src/duckdb/src/include/duckdb/planner/operator/logical_simple.hpp +1 -1
  618. package/src/duckdb/src/include/duckdb/planner/operator/logical_top_n.hpp +1 -1
  619. package/src/duckdb/src/include/duckdb/planner/operator/logical_unconditional_join.hpp +31 -0
  620. package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +1 -2
  621. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +4 -18
  622. package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_function_info.hpp +1 -1
  623. package/src/duckdb/src/include/duckdb/planner/parsed_data/bound_create_table_info.hpp +1 -1
  624. package/src/duckdb/src/include/duckdb/planner/table_binding.hpp +8 -0
  625. package/src/duckdb/src/include/duckdb/planner/tableref/bound_basetableref.hpp +1 -1
  626. package/src/duckdb/src/include/duckdb/planner/tableref/bound_joinref.hpp +5 -1
  627. package/src/duckdb/src/include/duckdb/planner/tableref/{bound_crossproductref.hpp → bound_pos_join_ref.hpp} +9 -9
  628. package/src/duckdb/src/include/duckdb/planner/tableref/bound_subqueryref.hpp +1 -1
  629. package/src/duckdb/src/include/duckdb/planner/tableref/bound_table_function.hpp +1 -1
  630. package/src/duckdb/src/include/duckdb/planner/tableref/list.hpp +0 -1
  631. package/src/duckdb/src/include/duckdb/storage/arena_allocator.hpp +12 -7
  632. package/src/duckdb/src/include/duckdb/storage/buffer_manager.hpp +10 -5
  633. package/src/duckdb/src/include/duckdb/storage/checkpoint/table_data_writer.hpp +2 -1
  634. package/src/duckdb/src/include/duckdb/storage/checkpoint_manager.hpp +1 -3
  635. package/src/duckdb/src/include/duckdb/storage/compression/chimp/chimp_compress.hpp +3 -3
  636. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_analyze.hpp +1 -1
  637. package/src/duckdb/src/include/duckdb/storage/compression/patas/patas_compress.hpp +3 -3
  638. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +14 -9
  639. package/src/duckdb/src/include/duckdb/storage/database_size.hpp +24 -0
  640. package/src/duckdb/src/include/duckdb/storage/index.hpp +32 -11
  641. package/src/duckdb/src/include/duckdb/storage/magic_bytes.hpp +28 -0
  642. package/src/duckdb/src/include/duckdb/storage/object_cache.hpp +1 -1
  643. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +3 -3
  644. package/src/duckdb/src/include/duckdb/storage/single_file_block_manager.hpp +9 -1
  645. package/src/duckdb/src/include/duckdb/storage/statistics/base_statistics.hpp +1 -1
  646. package/src/duckdb/src/include/duckdb/storage/storage_extension.hpp +50 -0
  647. package/src/duckdb/src/include/duckdb/storage/storage_manager.hpp +1 -9
  648. package/src/duckdb/src/include/duckdb/storage/string_uncompressed.hpp +1 -1
  649. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +2 -1
  650. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +1 -1
  651. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +2 -1
  652. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +6 -4
  653. package/src/duckdb/src/include/duckdb/storage/table/scan_state.hpp +3 -2
  654. package/src/duckdb/src/include/duckdb/storage/table/segment_base.hpp +9 -1
  655. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +1 -1
  656. package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +1 -1
  657. package/src/duckdb/src/include/duckdb/storage/table/table_index_list.hpp +8 -2
  658. package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +2 -0
  659. package/src/duckdb/src/include/duckdb/storage/table_storage_info.hpp +48 -0
  660. package/src/duckdb/src/include/duckdb/storage/write_ahead_log.hpp +5 -5
  661. package/src/duckdb/src/include/duckdb/transaction/duck_transaction.hpp +68 -0
  662. package/src/duckdb/src/include/duckdb/transaction/duck_transaction_manager.hpp +75 -0
  663. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +9 -7
  664. package/src/duckdb/src/include/duckdb/transaction/meta_transaction.hpp +3 -0
  665. package/src/duckdb/src/include/duckdb/transaction/transaction.hpp +9 -42
  666. package/src/duckdb/src/include/duckdb/transaction/transaction_data.hpp +3 -2
  667. package/src/duckdb/src/include/duckdb/transaction/transaction_manager.hpp +12 -41
  668. package/src/duckdb/src/include/duckdb.h +32 -2
  669. package/src/duckdb/src/include/duckdb.hpp +1 -0
  670. package/src/duckdb/src/main/appender.cpp +4 -3
  671. package/src/duckdb/src/main/attached_database.cpp +32 -9
  672. package/src/duckdb/src/main/capi/arrow-c.cpp +1 -1
  673. package/src/duckdb/src/main/capi/data_chunk-c.cpp +20 -1
  674. package/src/duckdb/src/main/capi/duckdb-c.cpp +1 -1
  675. package/src/duckdb/src/main/capi/helper-c.cpp +2 -4
  676. package/src/duckdb/src/main/capi/pending-c.cpp +1 -1
  677. package/src/duckdb/src/main/capi/prepared-c.cpp +2 -2
  678. package/src/duckdb/src/main/capi/replacement_scan-c.cpp +6 -6
  679. package/src/duckdb/src/main/capi/result-c.cpp +1 -1
  680. package/src/duckdb/src/main/capi/table_function-c.cpp +4 -4
  681. package/src/duckdb/src/main/capi/threading-c.cpp +8 -0
  682. package/src/duckdb/src/main/client_context.cpp +90 -61
  683. package/src/duckdb/src/main/client_context_file_opener.cpp +14 -0
  684. package/src/duckdb/src/main/client_data.cpp +2 -0
  685. package/src/duckdb/src/main/client_verify.cpp +7 -7
  686. package/src/duckdb/src/main/config.cpp +13 -2
  687. package/src/duckdb/src/main/connection.cpp +14 -15
  688. package/src/duckdb/src/main/database.cpp +88 -34
  689. package/src/duckdb/src/main/database_manager.cpp +6 -4
  690. package/src/duckdb/src/main/error_manager.cpp +1 -1
  691. package/src/duckdb/src/main/extension/extension_alias.cpp +1 -0
  692. package/src/duckdb/src/main/extension/extension_helper.cpp +18 -1
  693. package/src/duckdb/src/main/extension/extension_install.cpp +6 -1
  694. package/src/duckdb/src/main/extension/extension_load.cpp +22 -28
  695. package/src/duckdb/src/main/materialized_query_result.cpp +16 -4
  696. package/src/duckdb/src/main/pending_query_result.cpp +4 -4
  697. package/src/duckdb/src/main/prepared_statement.cpp +16 -3
  698. package/src/duckdb/src/main/query_profiler.cpp +6 -6
  699. package/src/duckdb/src/main/query_result.cpp +12 -7
  700. package/src/duckdb/src/main/relation/aggregate_relation.cpp +6 -6
  701. package/src/duckdb/src/main/relation/create_table_relation.cpp +4 -4
  702. package/src/duckdb/src/main/relation/create_view_relation.cpp +7 -6
  703. package/src/duckdb/src/main/relation/cross_product_relation.cpp +6 -5
  704. package/src/duckdb/src/main/relation/delete_relation.cpp +3 -3
  705. package/src/duckdb/src/main/relation/distinct_relation.cpp +1 -1
  706. package/src/duckdb/src/main/relation/explain_relation.cpp +2 -2
  707. package/src/duckdb/src/main/relation/filter_relation.cpp +4 -3
  708. package/src/duckdb/src/main/relation/insert_relation.cpp +3 -3
  709. package/src/duckdb/src/main/relation/join_relation.cpp +7 -7
  710. package/src/duckdb/src/main/relation/limit_relation.cpp +2 -2
  711. package/src/duckdb/src/main/relation/order_relation.cpp +3 -3
  712. package/src/duckdb/src/main/relation/projection_relation.cpp +3 -3
  713. package/src/duckdb/src/main/relation/query_relation.cpp +5 -4
  714. package/src/duckdb/src/main/relation/read_csv_relation.cpp +31 -39
  715. package/src/duckdb/src/main/relation/read_json_relation.cpp +20 -0
  716. package/src/duckdb/src/main/relation/setop_relation.cpp +3 -3
  717. package/src/duckdb/src/main/relation/subquery_relation.cpp +2 -1
  718. package/src/duckdb/src/main/relation/table_function_relation.cpp +29 -17
  719. package/src/duckdb/src/main/relation/table_relation.cpp +7 -7
  720. package/src/duckdb/src/main/relation/update_relation.cpp +9 -6
  721. package/src/duckdb/src/main/relation/value_relation.cpp +6 -6
  722. package/src/duckdb/src/main/relation/view_relation.cpp +4 -3
  723. package/src/duckdb/src/main/relation/write_csv_relation.cpp +6 -3
  724. package/src/duckdb/src/main/relation/write_parquet_relation.cpp +37 -0
  725. package/src/duckdb/src/main/relation.cpp +53 -30
  726. package/src/duckdb/src/main/settings/settings.cpp +20 -3
  727. package/src/duckdb/src/main/stream_query_result.cpp +6 -5
  728. package/src/duckdb/src/main/valid_checker.cpp +1 -1
  729. package/src/duckdb/src/optimizer/cse_optimizer.cpp +5 -5
  730. package/src/duckdb/src/optimizer/deliminator.cpp +16 -9
  731. package/src/duckdb/src/optimizer/expression_heuristics.cpp +2 -2
  732. package/src/duckdb/src/optimizer/expression_rewriter.cpp +7 -7
  733. package/src/duckdb/src/optimizer/filter_combiner.cpp +41 -36
  734. package/src/duckdb/src/optimizer/filter_pullup.cpp +17 -17
  735. package/src/duckdb/src/optimizer/filter_pushdown.cpp +24 -24
  736. package/src/duckdb/src/optimizer/in_clause_rewriter.cpp +14 -14
  737. package/src/duckdb/src/optimizer/join_order/cardinality_estimator.cpp +8 -7
  738. package/src/duckdb/src/optimizer/join_order/join_order_optimizer.cpp +77 -61
  739. package/src/duckdb/src/optimizer/join_order/join_relation_set.cpp +5 -5
  740. package/src/duckdb/src/optimizer/join_order/query_graph.cpp +1 -1
  741. package/src/duckdb/src/optimizer/optimizer.cpp +19 -11
  742. package/src/duckdb/src/optimizer/pullup/pullup_both_side.cpp +4 -4
  743. package/src/duckdb/src/optimizer/pullup/pullup_filter.cpp +4 -4
  744. package/src/duckdb/src/optimizer/pullup/pullup_from_left.cpp +3 -3
  745. package/src/duckdb/src/optimizer/pullup/pullup_projection.cpp +7 -7
  746. package/src/duckdb/src/optimizer/pullup/pullup_set_operation.cpp +2 -2
  747. package/src/duckdb/src/optimizer/pushdown/pushdown_aggregate.cpp +6 -6
  748. package/src/duckdb/src/optimizer/pushdown/pushdown_cross_product.cpp +8 -7
  749. package/src/duckdb/src/optimizer/pushdown/pushdown_filter.cpp +4 -4
  750. package/src/duckdb/src/optimizer/pushdown/pushdown_get.cpp +5 -5
  751. package/src/duckdb/src/optimizer/pushdown/pushdown_inner_join.cpp +8 -8
  752. package/src/duckdb/src/optimizer/pushdown/pushdown_left_join.cpp +13 -13
  753. package/src/duckdb/src/optimizer/pushdown/pushdown_limit.cpp +2 -2
  754. package/src/duckdb/src/optimizer/pushdown/pushdown_mark_join.cpp +4 -4
  755. package/src/duckdb/src/optimizer/pushdown/pushdown_projection.cpp +6 -6
  756. package/src/duckdb/src/optimizer/pushdown/pushdown_set_operation.cpp +9 -9
  757. package/src/duckdb/src/optimizer/pushdown/pushdown_single_join.cpp +4 -4
  758. package/src/duckdb/src/optimizer/regex_range_filter.cpp +5 -5
  759. package/src/duckdb/src/optimizer/remove_unused_columns.cpp +13 -4
  760. package/src/duckdb/src/optimizer/rule/arithmetic_simplification.cpp +6 -6
  761. package/src/duckdb/src/optimizer/rule/case_simplification.cpp +3 -3
  762. package/src/duckdb/src/optimizer/rule/comparison_simplification.cpp +6 -6
  763. package/src/duckdb/src/optimizer/rule/conjunction_simplification.cpp +2 -2
  764. package/src/duckdb/src/optimizer/rule/constant_folding.cpp +1 -1
  765. package/src/duckdb/src/optimizer/rule/date_part_simplification.cpp +3 -3
  766. package/src/duckdb/src/optimizer/rule/distributivity.cpp +11 -11
  767. package/src/duckdb/src/optimizer/rule/empty_needle_removal.cpp +2 -2
  768. package/src/duckdb/src/optimizer/rule/enum_comparison.cpp +8 -7
  769. package/src/duckdb/src/optimizer/rule/equal_or_null_simplification.cpp +7 -7
  770. package/src/duckdb/src/optimizer/rule/in_clause_simplification_rule.cpp +5 -5
  771. package/src/duckdb/src/optimizer/rule/like_optimizations.cpp +8 -8
  772. package/src/duckdb/src/optimizer/rule/move_constants.cpp +14 -14
  773. package/src/duckdb/src/optimizer/rule/regex_optimizations.cpp +3 -3
  774. package/src/duckdb/src/optimizer/statistics/expression/propagate_and_compress.cpp +12 -12
  775. package/src/duckdb/src/optimizer/statistics/expression/propagate_between.cpp +12 -10
  776. package/src/duckdb/src/optimizer/statistics/expression/propagate_cast.cpp +2 -2
  777. package/src/duckdb/src/optimizer/statistics/expression/propagate_comparison.cpp +6 -6
  778. package/src/duckdb/src/optimizer/statistics/expression/propagate_conjunction.cpp +1 -1
  779. package/src/duckdb/src/optimizer/statistics/expression/propagate_constant.cpp +4 -4
  780. package/src/duckdb/src/optimizer/statistics/expression/propagate_operator.cpp +3 -3
  781. package/src/duckdb/src/optimizer/statistics/operator/propagate_aggregate.cpp +3 -3
  782. package/src/duckdb/src/optimizer/statistics/operator/propagate_filter.cpp +2 -2
  783. package/src/duckdb/src/optimizer/statistics/operator/propagate_get.cpp +3 -3
  784. package/src/duckdb/src/optimizer/statistics/operator/propagate_join.cpp +69 -13
  785. package/src/duckdb/src/optimizer/statistics/operator/propagate_order.cpp +1 -1
  786. package/src/duckdb/src/optimizer/statistics/operator/propagate_projection.cpp +3 -3
  787. package/src/duckdb/src/optimizer/statistics/operator/propagate_set_operation.cpp +1 -1
  788. package/src/duckdb/src/optimizer/statistics/operator/propagate_window.cpp +1 -1
  789. package/src/duckdb/src/optimizer/statistics_propagator.cpp +3 -1
  790. package/src/duckdb/src/optimizer/topn_optimizer.cpp +4 -4
  791. package/src/duckdb/src/optimizer/unnest_rewriter.cpp +312 -0
  792. package/src/duckdb/src/parallel/base_pipeline_event.cpp +1 -1
  793. package/src/duckdb/src/parallel/event.cpp +4 -4
  794. package/src/duckdb/src/parallel/executor.cpp +13 -9
  795. package/src/duckdb/src/parallel/pipeline.cpp +4 -4
  796. package/src/duckdb/src/parallel/pipeline_event.cpp +1 -1
  797. package/src/duckdb/src/parallel/pipeline_executor.cpp +1 -1
  798. package/src/duckdb/src/parallel/pipeline_finish_event.cpp +1 -1
  799. package/src/duckdb/src/parallel/pipeline_initialize_event.cpp +3 -3
  800. package/src/duckdb/src/parallel/task_scheduler.cpp +10 -10
  801. package/src/duckdb/src/parser/column_definition.cpp +16 -12
  802. package/src/duckdb/src/parser/column_list.cpp +20 -2
  803. package/src/duckdb/src/parser/constraints/check_constraint.cpp +2 -2
  804. package/src/duckdb/src/parser/constraints/foreign_key_constraint.cpp +3 -3
  805. package/src/duckdb/src/parser/constraints/unique_constraint.cpp +5 -5
  806. package/src/duckdb/src/parser/expression/between_expression.cpp +5 -5
  807. package/src/duckdb/src/parser/expression/case_expression.cpp +5 -5
  808. package/src/duckdb/src/parser/expression/cast_expression.cpp +5 -5
  809. package/src/duckdb/src/parser/expression/collate_expression.cpp +5 -5
  810. package/src/duckdb/src/parser/expression/columnref_expression.cpp +10 -8
  811. package/src/duckdb/src/parser/expression/comparison_expression.cpp +4 -4
  812. package/src/duckdb/src/parser/expression/conjunction_expression.cpp +9 -9
  813. package/src/duckdb/src/parser/expression/constant_expression.cpp +4 -4
  814. package/src/duckdb/src/parser/expression/default_expression.cpp +1 -1
  815. package/src/duckdb/src/parser/expression/function_expression.cpp +12 -11
  816. package/src/duckdb/src/parser/expression/lambda_expression.cpp +4 -4
  817. package/src/duckdb/src/parser/expression/operator_expression.cpp +6 -6
  818. package/src/duckdb/src/parser/expression/parameter_expression.cpp +3 -3
  819. package/src/duckdb/src/parser/expression/positional_reference_expression.cpp +4 -4
  820. package/src/duckdb/src/parser/expression/star_expression.cpp +5 -5
  821. package/src/duckdb/src/parser/expression/subquery_expression.cpp +4 -4
  822. package/src/duckdb/src/parser/expression/window_expression.cpp +6 -6
  823. package/src/duckdb/src/parser/parsed_data/alter_function_info.cpp +4 -2
  824. package/src/duckdb/src/parser/parsed_data/alter_info.cpp +2 -2
  825. package/src/duckdb/src/parser/parsed_data/alter_table_info.cpp +45 -41
  826. package/src/duckdb/src/parser/parsed_data/create_aggregate_function_info.cpp +3 -3
  827. package/src/duckdb/src/parser/parsed_data/create_collation_info.cpp +3 -3
  828. package/src/duckdb/src/parser/parsed_data/create_copy_function_info.cpp +2 -2
  829. package/src/duckdb/src/parser/parsed_data/create_index_info.cpp +1 -1
  830. package/src/duckdb/src/parser/parsed_data/create_info.cpp +3 -0
  831. package/src/duckdb/src/parser/parsed_data/create_pragma_function_info.cpp +4 -4
  832. package/src/duckdb/src/parser/parsed_data/create_scalar_function_info.cpp +4 -4
  833. package/src/duckdb/src/parser/parsed_data/create_table_function_info.cpp +4 -4
  834. package/src/duckdb/src/parser/parsed_data/create_table_info.cpp +4 -3
  835. package/src/duckdb/src/parser/parsed_data/create_view_info.cpp +56 -3
  836. package/src/duckdb/src/parser/parsed_expression.cpp +17 -17
  837. package/src/duckdb/src/parser/parsed_expression_iterator.cpp +2 -7
  838. package/src/duckdb/src/parser/parser.cpp +148 -31
  839. package/src/duckdb/src/parser/query_node/recursive_cte_node.cpp +2 -2
  840. package/src/duckdb/src/parser/query_node/select_node.cpp +2 -2
  841. package/src/duckdb/src/parser/query_node/set_operation_node.cpp +2 -2
  842. package/src/duckdb/src/parser/query_node.cpp +5 -5
  843. package/src/duckdb/src/parser/result_modifier.cpp +9 -9
  844. package/src/duckdb/src/parser/statement/copy_statement.cpp +102 -0
  845. package/src/duckdb/src/parser/statement/detach_statement.cpp +15 -0
  846. package/src/duckdb/src/parser/statement/explain_statement.cpp +1 -1
  847. package/src/duckdb/src/parser/statement/export_statement.cpp +1 -1
  848. package/src/duckdb/src/parser/statement/extension_statement.cpp +2 -1
  849. package/src/duckdb/src/parser/statement/insert_statement.cpp +87 -1
  850. package/src/duckdb/src/parser/statement/relation_statement.cpp +1 -1
  851. package/src/duckdb/src/parser/statement/set_statement.cpp +3 -3
  852. package/src/duckdb/src/parser/statement/update_statement.cpp +21 -6
  853. package/src/duckdb/src/parser/tableref/basetableref.cpp +2 -2
  854. package/src/duckdb/src/parser/tableref/expressionlistref.cpp +4 -4
  855. package/src/duckdb/src/parser/tableref/joinref.cpp +20 -9
  856. package/src/duckdb/src/parser/tableref/subqueryref.cpp +5 -5
  857. package/src/duckdb/src/parser/tableref/table_function.cpp +2 -2
  858. package/src/duckdb/src/parser/tableref.cpp +2 -5
  859. package/src/duckdb/src/parser/transform/constraint/transform_constraint.cpp +2 -2
  860. package/src/duckdb/src/parser/transform/expression/transform_array_access.cpp +5 -5
  861. package/src/duckdb/src/parser/transform/expression/transform_bool_expr.cpp +9 -7
  862. package/src/duckdb/src/parser/transform/expression/transform_case.cpp +4 -4
  863. package/src/duckdb/src/parser/transform/expression/transform_cast.cpp +1 -1
  864. package/src/duckdb/src/parser/transform/expression/transform_coalesce.cpp +2 -2
  865. package/src/duckdb/src/parser/transform/expression/transform_columnref.cpp +5 -5
  866. package/src/duckdb/src/parser/transform/expression/transform_constant.cpp +1 -1
  867. package/src/duckdb/src/parser/transform/expression/transform_expression.cpp +1 -1
  868. package/src/duckdb/src/parser/transform/expression/transform_function.cpp +24 -24
  869. package/src/duckdb/src/parser/transform/expression/transform_grouping_function.cpp +1 -1
  870. package/src/duckdb/src/parser/transform/expression/transform_interval.cpp +4 -4
  871. package/src/duckdb/src/parser/transform/expression/transform_is_null.cpp +1 -1
  872. package/src/duckdb/src/parser/transform/expression/transform_lambda.cpp +1 -1
  873. package/src/duckdb/src/parser/transform/expression/transform_operator.cpp +37 -36
  874. package/src/duckdb/src/parser/transform/expression/transform_param_ref.cpp +1 -1
  875. package/src/duckdb/src/parser/transform/expression/transform_positional_reference.cpp +1 -1
  876. package/src/duckdb/src/parser/transform/expression/transform_subquery.cpp +13 -13
  877. package/src/duckdb/src/parser/transform/helpers/nodetype_to_string.cpp +2 -0
  878. package/src/duckdb/src/parser/transform/helpers/transform_cte.cpp +1 -1
  879. package/src/duckdb/src/parser/transform/helpers/transform_groupby.cpp +6 -6
  880. package/src/duckdb/src/parser/transform/helpers/transform_orderby.cpp +1 -1
  881. package/src/duckdb/src/parser/transform/helpers/transform_typename.cpp +35 -4
  882. package/src/duckdb/src/parser/transform/statement/transform_alter_sequence.cpp +1 -1
  883. package/src/duckdb/src/parser/transform/statement/transform_alter_table.cpp +8 -8
  884. package/src/duckdb/src/parser/transform/statement/transform_attach.cpp +2 -2
  885. package/src/duckdb/src/parser/transform/statement/transform_checkpoint.cpp +3 -3
  886. package/src/duckdb/src/parser/transform/statement/transform_copy.cpp +5 -3
  887. package/src/duckdb/src/parser/transform/statement/transform_create_database.cpp +28 -0
  888. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +6 -6
  889. package/src/duckdb/src/parser/transform/statement/transform_create_index.cpp +25 -18
  890. package/src/duckdb/src/parser/transform/statement/transform_create_schema.cpp +1 -1
  891. package/src/duckdb/src/parser/transform/statement/transform_create_sequence.cpp +1 -1
  892. package/src/duckdb/src/parser/transform/statement/transform_create_table.cpp +4 -4
  893. package/src/duckdb/src/parser/transform/statement/transform_create_table_as.cpp +2 -2
  894. package/src/duckdb/src/parser/transform/statement/transform_create_type.cpp +2 -2
  895. package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +1 -1
  896. package/src/duckdb/src/parser/transform/statement/transform_delete.cpp +1 -2
  897. package/src/duckdb/src/parser/transform/statement/transform_detach.cpp +19 -0
  898. package/src/duckdb/src/parser/transform/statement/transform_drop.cpp +13 -4
  899. package/src/duckdb/src/parser/transform/statement/transform_export.cpp +1 -1
  900. package/src/duckdb/src/parser/transform/statement/transform_insert.cpp +20 -5
  901. package/src/duckdb/src/parser/transform/statement/transform_load.cpp +1 -1
  902. package/src/duckdb/src/parser/transform/statement/transform_pragma.cpp +9 -2
  903. package/src/duckdb/src/parser/transform/statement/transform_rename.cpp +4 -4
  904. package/src/duckdb/src/parser/transform/statement/transform_select_node.cpp +5 -5
  905. package/src/duckdb/src/parser/transform/statement/transform_show.cpp +8 -7
  906. package/src/duckdb/src/parser/transform/statement/transform_update.cpp +15 -7
  907. package/src/duckdb/src/parser/transform/statement/transform_upsert.cpp +95 -0
  908. package/src/duckdb/src/parser/transform/statement/transform_use.cpp +1 -1
  909. package/src/duckdb/src/parser/transform/statement/transform_vacuum.cpp +1 -1
  910. package/src/duckdb/src/parser/transform/tableref/transform_base_tableref.cpp +1 -1
  911. package/src/duckdb/src/parser/transform/tableref/transform_from.cpp +10 -10
  912. package/src/duckdb/src/parser/transform/tableref/transform_join.cpp +12 -10
  913. package/src/duckdb/src/parser/transform/tableref/transform_subquery.cpp +2 -2
  914. package/src/duckdb/src/parser/transform/tableref/transform_table_function.cpp +1 -1
  915. package/src/duckdb/src/parser/transformer.cpp +6 -2
  916. package/src/duckdb/src/planner/bind_context.cpp +15 -14
  917. package/src/duckdb/src/planner/binder/expression/bind_aggregate_expression.cpp +9 -9
  918. package/src/duckdb/src/planner/binder/expression/bind_between_expression.cpp +12 -12
  919. package/src/duckdb/src/planner/binder/expression/bind_case_expression.cpp +5 -5
  920. package/src/duckdb/src/planner/binder/expression/bind_cast_expression.cpp +5 -5
  921. package/src/duckdb/src/planner/binder/expression/bind_collate_expression.cpp +1 -1
  922. package/src/duckdb/src/planner/binder/expression/bind_columnref_expression.cpp +13 -12
  923. package/src/duckdb/src/planner/binder/expression/bind_comparison_expression.cpp +9 -8
  924. package/src/duckdb/src/planner/binder/expression/bind_conjunction_expression.cpp +3 -2
  925. package/src/duckdb/src/planner/binder/expression/bind_function_expression.cpp +59 -16
  926. package/src/duckdb/src/planner/binder/expression/bind_lambda.cpp +44 -26
  927. package/src/duckdb/src/planner/binder/expression/bind_macro_expression.cpp +1 -1
  928. package/src/duckdb/src/planner/binder/expression/bind_operator_expression.cpp +6 -6
  929. package/src/duckdb/src/planner/binder/expression/bind_parameter_expression.cpp +3 -3
  930. package/src/duckdb/src/planner/binder/expression/bind_subquery_expression.cpp +12 -12
  931. package/src/duckdb/src/planner/binder/expression/bind_unnest_expression.cpp +3 -3
  932. package/src/duckdb/src/planner/binder/expression/bind_window_expression.cpp +19 -19
  933. package/src/duckdb/src/planner/binder/query_node/bind_recursive_cte_node.cpp +1 -1
  934. package/src/duckdb/src/planner/binder/query_node/bind_select_node.cpp +38 -34
  935. package/src/duckdb/src/planner/binder/query_node/bind_setop_node.cpp +5 -5
  936. package/src/duckdb/src/planner/binder/query_node/bind_table_macro_node.cpp +1 -1
  937. package/src/duckdb/src/planner/binder/query_node/plan_query_node.cpp +14 -14
  938. package/src/duckdb/src/planner/binder/query_node/plan_recursive_cte_node.cpp +9 -8
  939. package/src/duckdb/src/planner/binder/query_node/plan_select_node.cpp +31 -31
  940. package/src/duckdb/src/planner/binder/query_node/plan_setop.cpp +21 -19
  941. package/src/duckdb/src/planner/binder/query_node/plan_subquery.cpp +63 -61
  942. package/src/duckdb/src/planner/binder/statement/bind_attach.cpp +1 -1
  943. package/src/duckdb/src/planner/binder/statement/bind_call.cpp +1 -1
  944. package/src/duckdb/src/planner/binder/statement/bind_copy.cpp +102 -25
  945. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +145 -54
  946. package/src/duckdb/src/planner/binder/statement/bind_create_table.cpp +10 -10
  947. package/src/duckdb/src/planner/binder/statement/bind_delete.cpp +13 -12
  948. package/src/duckdb/src/planner/binder/statement/bind_detach.cpp +19 -0
  949. package/src/duckdb/src/planner/binder/statement/bind_drop.cpp +30 -5
  950. package/src/duckdb/src/planner/binder/statement/bind_execute.cpp +7 -7
  951. package/src/duckdb/src/planner/binder/statement/bind_explain.cpp +2 -2
  952. package/src/duckdb/src/planner/binder/statement/bind_export.cpp +30 -25
  953. package/src/duckdb/src/planner/binder/statement/bind_extension.cpp +3 -2
  954. package/src/duckdb/src/planner/binder/statement/bind_insert.cpp +361 -20
  955. package/src/duckdb/src/planner/binder/statement/bind_load.cpp +1 -1
  956. package/src/duckdb/src/planner/binder/statement/bind_logical_plan.cpp +1 -1
  957. package/src/duckdb/src/planner/binder/statement/bind_prepare.cpp +3 -3
  958. package/src/duckdb/src/planner/binder/statement/bind_show.cpp +2 -2
  959. package/src/duckdb/src/planner/binder/statement/bind_simple.cpp +2 -2
  960. package/src/duckdb/src/planner/binder/statement/bind_summarize.cpp +31 -29
  961. package/src/duckdb/src/planner/binder/statement/bind_update.cpp +75 -57
  962. package/src/duckdb/src/planner/binder/statement/bind_vacuum.cpp +11 -10
  963. package/src/duckdb/src/planner/binder/tableref/bind_basetableref.cpp +19 -10
  964. package/src/duckdb/src/planner/binder/tableref/bind_expressionlistref.cpp +4 -4
  965. package/src/duckdb/src/planner/binder/tableref/bind_joinref.cpp +26 -17
  966. package/src/duckdb/src/planner/binder/tableref/bind_subqueryref.cpp +2 -2
  967. package/src/duckdb/src/planner/binder/tableref/bind_table_function.cpp +22 -18
  968. package/src/duckdb/src/planner/binder/tableref/plan_basetableref.cpp +1 -1
  969. package/src/duckdb/src/planner/binder/tableref/plan_expressionlistref.cpp +3 -3
  970. package/src/duckdb/src/planner/binder/tableref/plan_joinref.cpp +43 -32
  971. package/src/duckdb/src/planner/binder/tableref/plan_table_function.cpp +1 -1
  972. package/src/duckdb/src/planner/binder.cpp +40 -23
  973. package/src/duckdb/src/planner/bound_result_modifier.cpp +3 -3
  974. package/src/duckdb/src/planner/expression/bound_aggregate_expression.cpp +6 -6
  975. package/src/duckdb/src/planner/expression/bound_between_expression.cpp +4 -3
  976. package/src/duckdb/src/planner/expression/bound_case_expression.cpp +12 -12
  977. package/src/duckdb/src/planner/expression/bound_cast_expression.cpp +9 -8
  978. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +4 -4
  979. package/src/duckdb/src/planner/expression/bound_comparison_expression.cpp +4 -3
  980. package/src/duckdb/src/planner/expression/bound_conjunction_expression.cpp +5 -5
  981. package/src/duckdb/src/planner/expression/bound_constant_expression.cpp +2 -2
  982. package/src/duckdb/src/planner/expression/bound_expression.cpp +1 -1
  983. package/src/duckdb/src/planner/expression/bound_function_expression.cpp +8 -7
  984. package/src/duckdb/src/planner/expression/bound_lambda_expression.cpp +3 -3
  985. package/src/duckdb/src/planner/expression/bound_lambdaref_expression.cpp +71 -0
  986. package/src/duckdb/src/planner/expression/bound_operator_expression.cpp +4 -4
  987. package/src/duckdb/src/planner/expression/bound_parameter_expression.cpp +3 -3
  988. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +3 -3
  989. package/src/duckdb/src/planner/expression/bound_subquery_expression.cpp +1 -1
  990. package/src/duckdb/src/planner/expression/bound_unnest_expression.cpp +4 -4
  991. package/src/duckdb/src/planner/expression/bound_window_expression.cpp +8 -7
  992. package/src/duckdb/src/planner/expression.cpp +1 -1
  993. package/src/duckdb/src/planner/expression_binder/alter_binder.cpp +3 -4
  994. package/src/duckdb/src/planner/expression_binder/check_binder.cpp +16 -2
  995. package/src/duckdb/src/planner/expression_binder/column_alias_binder.cpp +6 -4
  996. package/src/duckdb/src/planner/expression_binder/constant_binder.cpp +1 -1
  997. package/src/duckdb/src/planner/expression_binder/group_binder.cpp +2 -2
  998. package/src/duckdb/src/planner/expression_binder/having_binder.cpp +5 -2
  999. package/src/duckdb/src/planner/expression_binder/lateral_binder.cpp +22 -6
  1000. package/src/duckdb/src/planner/expression_binder/order_binder.cpp +6 -5
  1001. package/src/duckdb/src/planner/expression_binder/relation_binder.cpp +1 -1
  1002. package/src/duckdb/src/planner/expression_binder/returning_binder.cpp +1 -9
  1003. package/src/duckdb/src/planner/expression_binder/select_binder.cpp +7 -2
  1004. package/src/duckdb/src/planner/expression_binder/table_function_binder.cpp +15 -2
  1005. package/src/duckdb/src/planner/expression_binder.cpp +6 -6
  1006. package/src/duckdb/src/planner/expression_iterator.cpp +4 -7
  1007. package/src/duckdb/src/planner/filter/conjunction_filter.cpp +2 -2
  1008. package/src/duckdb/src/planner/filter/constant_filter.cpp +1 -1
  1009. package/src/duckdb/src/planner/joinside.cpp +10 -9
  1010. package/src/duckdb/src/planner/logical_operator.cpp +8 -3
  1011. package/src/duckdb/src/planner/logical_operator_visitor.cpp +11 -1
  1012. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +8 -7
  1013. package/src/duckdb/src/planner/operator/logical_any_join.cpp +2 -2
  1014. package/src/duckdb/src/planner/operator/logical_column_data_get.cpp +4 -3
  1015. package/src/duckdb/src/planner/operator/logical_comparison_join.cpp +1 -1
  1016. package/src/duckdb/src/planner/operator/logical_copy_to_file.cpp +10 -5
  1017. package/src/duckdb/src/planner/operator/logical_create.cpp +1 -1
  1018. package/src/duckdb/src/planner/operator/logical_create_index.cpp +2 -2
  1019. package/src/duckdb/src/planner/operator/logical_create_table.cpp +1 -1
  1020. package/src/duckdb/src/planner/operator/logical_cross_product.cpp +3 -19
  1021. package/src/duckdb/src/planner/operator/logical_delete.cpp +22 -1
  1022. package/src/duckdb/src/planner/operator/logical_delim_join.cpp +1 -1
  1023. package/src/duckdb/src/planner/operator/logical_distinct.cpp +1 -1
  1024. package/src/duckdb/src/planner/operator/logical_empty_result.cpp +1 -1
  1025. package/src/duckdb/src/planner/operator/logical_explain.cpp +1 -1
  1026. package/src/duckdb/src/planner/operator/logical_expression_get.cpp +1 -1
  1027. package/src/duckdb/src/planner/operator/logical_filter.cpp +6 -6
  1028. package/src/duckdb/src/planner/operator/logical_get.cpp +10 -10
  1029. package/src/duckdb/src/planner/operator/logical_insert.cpp +26 -3
  1030. package/src/duckdb/src/planner/operator/logical_limit.cpp +2 -2
  1031. package/src/duckdb/src/planner/operator/logical_limit_percent.cpp +1 -1
  1032. package/src/duckdb/src/planner/operator/logical_order.cpp +3 -3
  1033. package/src/duckdb/src/planner/operator/logical_positional_join.cpp +30 -0
  1034. package/src/duckdb/src/planner/operator/logical_projection.cpp +2 -2
  1035. package/src/duckdb/src/planner/operator/logical_sample.cpp +4 -4
  1036. package/src/duckdb/src/planner/operator/logical_show.cpp +1 -1
  1037. package/src/duckdb/src/planner/operator/logical_simple.cpp +33 -2
  1038. package/src/duckdb/src/planner/operator/logical_top_n.cpp +1 -1
  1039. package/src/duckdb/src/planner/operator/logical_unconditional_join.cpp +26 -0
  1040. package/src/duckdb/src/planner/operator/logical_unnest.cpp +2 -2
  1041. package/src/duckdb/src/planner/operator/logical_update.cpp +20 -1
  1042. package/src/duckdb/src/planner/operator/logical_window.cpp +1 -1
  1043. package/src/duckdb/src/planner/parsed_data/bound_create_table_info.cpp +1 -1
  1044. package/src/duckdb/src/planner/planner.cpp +8 -9
  1045. package/src/duckdb/src/planner/pragma_handler.cpp +3 -3
  1046. package/src/duckdb/src/planner/subquery/flatten_dependent_join.cpp +66 -60
  1047. package/src/duckdb/src/planner/subquery/rewrite_correlated_expressions.cpp +4 -3
  1048. package/src/duckdb/src/planner/table_binding.cpp +61 -30
  1049. package/src/duckdb/src/planner/table_filter.cpp +6 -6
  1050. package/src/duckdb/src/storage/arena_allocator.cpp +37 -7
  1051. package/src/duckdb/src/storage/block.cpp +2 -2
  1052. package/src/duckdb/src/storage/buffer/buffer_handle.cpp +1 -1
  1053. package/src/duckdb/src/storage/buffer_manager.cpp +48 -33
  1054. package/src/duckdb/src/storage/checkpoint/row_group_writer.cpp +2 -2
  1055. package/src/duckdb/src/storage/checkpoint/table_data_reader.cpp +1 -1
  1056. package/src/duckdb/src/storage/checkpoint/table_data_writer.cpp +6 -4
  1057. package/src/duckdb/src/storage/checkpoint_manager.cpp +14 -13
  1058. package/src/duckdb/src/storage/compression/bitpacking.cpp +5 -4
  1059. package/src/duckdb/src/storage/compression/dictionary_compression.cpp +3 -3
  1060. package/src/duckdb/src/storage/compression/fixed_size_uncompressed.cpp +5 -5
  1061. package/src/duckdb/src/storage/compression/fsst.cpp +40 -25
  1062. package/src/duckdb/src/storage/compression/rle.cpp +3 -3
  1063. package/src/duckdb/src/storage/compression/string_uncompressed.cpp +8 -8
  1064. package/src/duckdb/src/storage/compression/validity_uncompressed.cpp +2 -2
  1065. package/src/duckdb/src/storage/data_table.cpp +309 -104
  1066. package/src/duckdb/src/storage/index.cpp +12 -6
  1067. package/src/duckdb/src/storage/local_storage.cpp +27 -32
  1068. package/src/duckdb/src/storage/magic_bytes.cpp +31 -0
  1069. package/src/duckdb/src/storage/meta_block_writer.cpp +1 -1
  1070. package/src/duckdb/src/storage/partial_block_manager.cpp +4 -4
  1071. package/src/duckdb/src/storage/single_file_block_manager.cpp +108 -71
  1072. package/src/duckdb/src/storage/statistics/base_statistics.cpp +13 -12
  1073. package/src/duckdb/src/storage/statistics/column_statistics.cpp +2 -2
  1074. package/src/duckdb/src/storage/statistics/distinct_statistics.cpp +2 -2
  1075. package/src/duckdb/src/storage/statistics/list_statistics.cpp +4 -4
  1076. package/src/duckdb/src/storage/statistics/numeric_statistics.cpp +106 -8
  1077. package/src/duckdb/src/storage/statistics/segment_statistics.cpp +2 -2
  1078. package/src/duckdb/src/storage/statistics/string_statistics.cpp +4 -4
  1079. package/src/duckdb/src/storage/statistics/struct_statistics.cpp +5 -4
  1080. package/src/duckdb/src/storage/storage_info.cpp +3 -2
  1081. package/src/duckdb/src/storage/storage_manager.cpp +8 -4
  1082. package/src/duckdb/src/storage/table/chunk_info.cpp +2 -2
  1083. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +4 -4
  1084. package/src/duckdb/src/storage/table/column_data.cpp +30 -38
  1085. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +5 -5
  1086. package/src/duckdb/src/storage/table/column_segment.cpp +16 -16
  1087. package/src/duckdb/src/storage/table/list_column_data.cpp +11 -11
  1088. package/src/duckdb/src/storage/table/row_group.cpp +21 -18
  1089. package/src/duckdb/src/storage/table/row_group_collection.cpp +21 -22
  1090. package/src/duckdb/src/storage/table/scan_state.cpp +3 -3
  1091. package/src/duckdb/src/storage/table/segment_tree.cpp +5 -5
  1092. package/src/duckdb/src/storage/table/standard_column_data.cpp +11 -11
  1093. package/src/duckdb/src/storage/table/struct_column_data.cpp +13 -13
  1094. package/src/duckdb/src/storage/table/table_statistics.cpp +1 -1
  1095. package/src/duckdb/src/storage/table/update_segment.cpp +22 -6
  1096. package/src/duckdb/src/storage/table_index_list.cpp +12 -10
  1097. package/src/duckdb/src/storage/wal_replay.cpp +6 -6
  1098. package/src/duckdb/src/transaction/commit_state.cpp +9 -3
  1099. package/src/duckdb/src/transaction/duck_transaction.cpp +155 -0
  1100. package/src/duckdb/src/transaction/duck_transaction_manager.cpp +342 -0
  1101. package/src/duckdb/src/transaction/meta_transaction.cpp +3 -0
  1102. package/src/duckdb/src/transaction/transaction.cpp +10 -132
  1103. package/src/duckdb/src/transaction/transaction_context.cpp +2 -2
  1104. package/src/duckdb/src/transaction/transaction_manager.cpp +1 -321
  1105. package/src/duckdb/src/verification/copied_statement_verifier.cpp +1 -1
  1106. package/src/duckdb/src/verification/deserialized_statement_verifier.cpp +1 -1
  1107. package/src/duckdb/src/verification/external_statement_verifier.cpp +1 -1
  1108. package/src/duckdb/src/verification/parsed_statement_verifier.cpp +2 -2
  1109. package/src/duckdb/src/verification/prepared_statement_verifier.cpp +12 -12
  1110. package/src/duckdb/src/verification/statement_verifier.cpp +5 -4
  1111. package/src/duckdb/src/verification/unoptimized_statement_verifier.cpp +1 -1
  1112. package/src/duckdb/third_party/fast_float/fast_float/fast_float.h +22 -19
  1113. package/src/duckdb/third_party/fmt/include/fmt/core.h +5 -3
  1114. package/src/duckdb/third_party/fmt/include/fmt/format.h +10 -10
  1115. package/src/duckdb/third_party/libpg_query/include/nodes/nodes.hpp +20 -1
  1116. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +26 -0
  1117. package/src/duckdb/third_party/libpg_query/include/parser/gram.hpp +531 -1004
  1118. package/src/duckdb/third_party/libpg_query/include/parser/kwlist.hpp +1 -0
  1119. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +19942 -19542
  1120. package/src/duckdb/third_party/libpg_query/src_backend_parser_scan.cpp +2 -2
  1121. package/src/duckdb/third_party/mbedtls/library/bignum.cpp +1 -3
  1122. package/src/duckdb/third_party/thrift/thrift/TApplicationException.h +0 -3
  1123. package/src/duckdb/third_party/thrift/thrift/Thrift.h +8 -2
  1124. package/src/duckdb/third_party/zstd/decompress/huf_decompress.cpp +4 -4
  1125. package/src/duckdb/ub_extension_icu_third_party_icu_i18n.cpp +6 -6
  1126. package/src/duckdb/ub_extension_json_json_functions.cpp +8 -0
  1127. package/src/duckdb/ub_src_catalog.cpp +4 -0
  1128. package/src/duckdb/ub_src_catalog_catalog_entry.cpp +6 -0
  1129. package/src/duckdb/ub_src_common.cpp +2 -0
  1130. package/src/duckdb/ub_src_common_types.cpp +6 -0
  1131. package/src/duckdb/ub_src_execution_operator_join.cpp +2 -0
  1132. package/src/duckdb/ub_src_execution_operator_scan.cpp +2 -0
  1133. package/src/duckdb/ub_src_execution_operator_schema.cpp +2 -0
  1134. package/src/duckdb/ub_src_execution_physical_plan.cpp +2 -0
  1135. package/src/duckdb/ub_src_function_cast.cpp +2 -0
  1136. package/src/duckdb/ub_src_function_scalar_date.cpp +2 -0
  1137. package/src/duckdb/ub_src_function_scalar_string.cpp +2 -0
  1138. package/src/duckdb/ub_src_function_table_system.cpp +2 -2
  1139. package/src/duckdb/ub_src_main.cpp +0 -2
  1140. package/src/duckdb/ub_src_main_relation.cpp +4 -0
  1141. package/src/duckdb/ub_src_optimizer.cpp +2 -0
  1142. package/src/duckdb/ub_src_parser_statement.cpp +2 -0
  1143. package/src/duckdb/ub_src_parser_tableref.cpp +0 -2
  1144. package/src/duckdb/ub_src_parser_transform_statement.cpp +6 -0
  1145. package/src/duckdb/ub_src_planner_binder_statement.cpp +2 -0
  1146. package/src/duckdb/ub_src_planner_binder_tableref.cpp +0 -4
  1147. package/src/duckdb/ub_src_planner_expression.cpp +2 -0
  1148. package/src/duckdb/ub_src_planner_operator.cpp +4 -0
  1149. package/src/duckdb/ub_src_storage.cpp +2 -0
  1150. package/src/duckdb/ub_src_transaction.cpp +4 -0
  1151. package/src/duckdb_node.hpp +8 -0
  1152. package/src/statement.cpp +5 -50
  1153. package/src/utils.cpp +42 -0
  1154. package/test/replacement_scan.test.ts +144 -0
  1155. package/test/udf.test.ts +9 -0
  1156. package/src/duckdb/src/function/table/system/pragma_database_list.cpp +0 -59
  1157. package/src/duckdb/src/include/duckdb/function/replacement_open.hpp +0 -45
  1158. package/src/duckdb/src/include/duckdb/parser/tableref/crossproductref.hpp +0 -36
  1159. package/src/duckdb/src/main/extension_prefix_opener.cpp +0 -47
  1160. package/src/duckdb/src/parser/tableref/crossproductref.cpp +0 -43
  1161. package/src/duckdb/src/planner/binder/tableref/bind_crossproductref.cpp +0 -31
  1162. package/src/duckdb/src/planner/binder/tableref/plan_crossproductref.cpp +0 -26
@@ -1,14 +1,14 @@
1
- /* A Bison parser, made by GNU Bison 2.3. */
1
+ /* A Bison parser, made by GNU Bison 3.5.1. */
2
2
 
3
- /* Skeleton interface for Bison's Yacc-like parsers in C
3
+ /* Bison interface for Yacc-like parsers in C
4
4
 
5
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6
- Free Software Foundation, Inc.
5
+ Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2020 Free Software Foundation,
6
+ 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 2, or (at your option)
11
- any later version.
10
+ the Free Software Foundation, either version 3 of the License, or
11
+ (at your option) 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,9 +16,7 @@
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, write to the Free Software
20
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
- Boston, MA 02110-1301, USA. */
19
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
22
20
 
23
21
  /* As a special exception, you may create a larger work that contains
24
22
  part or all of the Bison parser skeleton and distribute that work
@@ -33,995 +31,520 @@
33
31
  This special exception was added by the Free Software Foundation in
34
32
  version 2.2 of Bison. */
35
33
 
36
- /* Tokens. */
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. */
37
48
  #ifndef YYTOKENTYPE
38
49
  # define YYTOKENTYPE
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
- ANY = 291,
76
- ARRAY = 292,
77
- AS = 293,
78
- ASC_P = 294,
79
- ASSERTION = 295,
80
- ASSIGNMENT = 296,
81
- ASYMMETRIC = 297,
82
- AT = 298,
83
- ATTACH = 299,
84
- ATTRIBUTE = 300,
85
- AUTHORIZATION = 301,
86
- BACKWARD = 302,
87
- BEFORE = 303,
88
- BEGIN_P = 304,
89
- BETWEEN = 305,
90
- BIGINT = 306,
91
- BINARY = 307,
92
- BIT = 308,
93
- BOOLEAN_P = 309,
94
- BOTH = 310,
95
- BY = 311,
96
- CACHE = 312,
97
- CALL_P = 313,
98
- CALLED = 314,
99
- CASCADE = 315,
100
- CASCADED = 316,
101
- CASE = 317,
102
- CAST = 318,
103
- CATALOG_P = 319,
104
- CHAIN = 320,
105
- CHAR_P = 321,
106
- CHARACTER = 322,
107
- CHARACTERISTICS = 323,
108
- CHECK_P = 324,
109
- CHECKPOINT = 325,
110
- CLASS = 326,
111
- CLOSE = 327,
112
- CLUSTER = 328,
113
- COALESCE = 329,
114
- COLLATE = 330,
115
- COLLATION = 331,
116
- COLUMN = 332,
117
- COLUMNS = 333,
118
- COMMENT = 334,
119
- COMMENTS = 335,
120
- COMMIT = 336,
121
- COMMITTED = 337,
122
- COMPRESSION = 338,
123
- CONCURRENTLY = 339,
124
- CONFIGURATION = 340,
125
- CONFLICT = 341,
126
- CONNECTION = 342,
127
- CONSTRAINT = 343,
128
- CONSTRAINTS = 344,
129
- CONTENT_P = 345,
130
- CONTINUE_P = 346,
131
- CONVERSION_P = 347,
132
- COPY = 348,
133
- COST = 349,
134
- CREATE_P = 350,
135
- CROSS = 351,
136
- CSV = 352,
137
- CUBE = 353,
138
- CURRENT_P = 354,
139
- CURRENT_CATALOG = 355,
140
- CURRENT_DATE = 356,
141
- CURRENT_ROLE = 357,
142
- CURRENT_SCHEMA = 358,
143
- CURRENT_TIME = 359,
144
- CURRENT_TIMESTAMP = 360,
145
- CURRENT_USER = 361,
146
- CURSOR = 362,
147
- CYCLE = 363,
148
- DATA_P = 364,
149
- DATABASE = 365,
150
- DAY_P = 366,
151
- DAYS_P = 367,
152
- DEALLOCATE = 368,
153
- DEC = 369,
154
- DECIMAL_P = 370,
155
- DECLARE = 371,
156
- DEFAULT = 372,
157
- DEFAULTS = 373,
158
- DEFERRABLE = 374,
159
- DEFERRED = 375,
160
- DEFINER = 376,
161
- DELETE_P = 377,
162
- DELIMITER = 378,
163
- DELIMITERS = 379,
164
- DEPENDS = 380,
165
- DESC_P = 381,
166
- DESCRIBE = 382,
167
- DETACH = 383,
168
- DICTIONARY = 384,
169
- DISABLE_P = 385,
170
- DISCARD = 386,
171
- DISTINCT = 387,
172
- DO = 388,
173
- DOCUMENT_P = 389,
174
- DOMAIN_P = 390,
175
- DOUBLE_P = 391,
176
- DROP = 392,
177
- EACH = 393,
178
- ELSE = 394,
179
- ENABLE_P = 395,
180
- ENCODING = 396,
181
- ENCRYPTED = 397,
182
- END_P = 398,
183
- ENUM_P = 399,
184
- ESCAPE = 400,
185
- EVENT = 401,
186
- EXCEPT = 402,
187
- EXCLUDE = 403,
188
- EXCLUDING = 404,
189
- EXCLUSIVE = 405,
190
- EXECUTE = 406,
191
- EXISTS = 407,
192
- EXPLAIN = 408,
193
- EXPORT_P = 409,
194
- EXPORT_STATE = 410,
195
- EXTENSION = 411,
196
- EXTERNAL = 412,
197
- EXTRACT = 413,
198
- FALSE_P = 414,
199
- FAMILY = 415,
200
- FETCH = 416,
201
- FILTER = 417,
202
- FIRST_P = 418,
203
- FLOAT_P = 419,
204
- FOLLOWING = 420,
205
- FOR = 421,
206
- FORCE = 422,
207
- FOREIGN = 423,
208
- FORWARD = 424,
209
- FREEZE = 425,
210
- FROM = 426,
211
- FULL = 427,
212
- FUNCTION = 428,
213
- FUNCTIONS = 429,
214
- GENERATED = 430,
215
- GLOB = 431,
216
- GLOBAL = 432,
217
- GRANT = 433,
218
- GRANTED = 434,
219
- GROUP_P = 435,
220
- GROUPING = 436,
221
- GROUPING_ID = 437,
222
- HANDLER = 438,
223
- HAVING = 439,
224
- HEADER_P = 440,
225
- HOLD = 441,
226
- HOUR_P = 442,
227
- HOURS_P = 443,
228
- IDENTITY_P = 444,
229
- IF_P = 445,
230
- IGNORE_P = 446,
231
- ILIKE = 447,
232
- IMMEDIATE = 448,
233
- IMMUTABLE = 449,
234
- IMPLICIT_P = 450,
235
- IMPORT_P = 451,
236
- IN_P = 452,
237
- INCLUDING = 453,
238
- INCREMENT = 454,
239
- INDEX = 455,
240
- INDEXES = 456,
241
- INHERIT = 457,
242
- INHERITS = 458,
243
- INITIALLY = 459,
244
- INLINE_P = 460,
245
- INNER_P = 461,
246
- INOUT = 462,
247
- INPUT_P = 463,
248
- INSENSITIVE = 464,
249
- INSERT = 465,
250
- INSTALL = 466,
251
- INSTEAD = 467,
252
- INT_P = 468,
253
- INTEGER = 469,
254
- INTERSECT = 470,
255
- INTERVAL = 471,
256
- INTO = 472,
257
- INVOKER = 473,
258
- IS = 474,
259
- ISNULL = 475,
260
- ISOLATION = 476,
261
- JOIN = 477,
262
- JSON = 478,
263
- KEY = 479,
264
- LABEL = 480,
265
- LANGUAGE = 481,
266
- LARGE_P = 482,
267
- LAST_P = 483,
268
- LATERAL_P = 484,
269
- LEADING = 485,
270
- LEAKPROOF = 486,
271
- LEFT = 487,
272
- LEVEL = 488,
273
- LIKE = 489,
274
- LIMIT = 490,
275
- LISTEN = 491,
276
- LOAD = 492,
277
- LOCAL = 493,
278
- LOCALTIME = 494,
279
- LOCALTIMESTAMP = 495,
280
- LOCATION = 496,
281
- LOCK_P = 497,
282
- LOCKED = 498,
283
- LOGGED = 499,
284
- MACRO = 500,
285
- MAP = 501,
286
- MAPPING = 502,
287
- MATCH = 503,
288
- MATERIALIZED = 504,
289
- MAXVALUE = 505,
290
- METHOD = 506,
291
- MICROSECOND_P = 507,
292
- MICROSECONDS_P = 508,
293
- MILLISECOND_P = 509,
294
- MILLISECONDS_P = 510,
295
- MINUTE_P = 511,
296
- MINUTES_P = 512,
297
- MINVALUE = 513,
298
- MODE = 514,
299
- MONTH_P = 515,
300
- MONTHS_P = 516,
301
- MOVE = 517,
302
- NAME_P = 518,
303
- NAMES = 519,
304
- NATIONAL = 520,
305
- NATURAL = 521,
306
- NCHAR = 522,
307
- NEW = 523,
308
- NEXT = 524,
309
- NO = 525,
310
- NONE = 526,
311
- NOT = 527,
312
- NOTHING = 528,
313
- NOTIFY = 529,
314
- NOTNULL = 530,
315
- NOWAIT = 531,
316
- NULL_P = 532,
317
- NULLIF = 533,
318
- NULLS_P = 534,
319
- NUMERIC = 535,
320
- OBJECT_P = 536,
321
- OF = 537,
322
- OFF = 538,
323
- OFFSET = 539,
324
- OIDS = 540,
325
- OLD = 541,
326
- ON = 542,
327
- ONLY = 543,
328
- OPERATOR = 544,
329
- OPTION = 545,
330
- OPTIONS = 546,
331
- OR = 547,
332
- ORDER = 548,
333
- ORDINALITY = 549,
334
- OUT_P = 550,
335
- OUTER_P = 551,
336
- OVER = 552,
337
- OVERLAPS = 553,
338
- OVERLAY = 554,
339
- OVERRIDING = 555,
340
- OWNED = 556,
341
- OWNER = 557,
342
- PARALLEL = 558,
343
- PARSER = 559,
344
- PARTIAL = 560,
345
- PARTITION = 561,
346
- PASSING = 562,
347
- PASSWORD = 563,
348
- PERCENT = 564,
349
- PLACING = 565,
350
- PLANS = 566,
351
- POLICY = 567,
352
- POSITION = 568,
353
- PRAGMA_P = 569,
354
- PRECEDING = 570,
355
- PRECISION = 571,
356
- PREPARE = 572,
357
- PREPARED = 573,
358
- PRESERVE = 574,
359
- PRIMARY = 575,
360
- PRIOR = 576,
361
- PRIVILEGES = 577,
362
- PROCEDURAL = 578,
363
- PROCEDURE = 579,
364
- PROGRAM = 580,
365
- PUBLICATION = 581,
366
- QUALIFY = 582,
367
- QUOTE = 583,
368
- RANGE = 584,
369
- READ_P = 585,
370
- REAL = 586,
371
- REASSIGN = 587,
372
- RECHECK = 588,
373
- RECURSIVE = 589,
374
- REF = 590,
375
- REFERENCES = 591,
376
- REFERENCING = 592,
377
- REFRESH = 593,
378
- REINDEX = 594,
379
- RELATIVE_P = 595,
380
- RELEASE = 596,
381
- RENAME = 597,
382
- REPEATABLE = 598,
383
- REPLACE = 599,
384
- REPLICA = 600,
385
- RESET = 601,
386
- RESPECT_P = 602,
387
- RESTART = 603,
388
- RESTRICT = 604,
389
- RETURNING = 605,
390
- RETURNS = 606,
391
- REVOKE = 607,
392
- RIGHT = 608,
393
- ROLE = 609,
394
- ROLLBACK = 610,
395
- ROLLUP = 611,
396
- ROW = 612,
397
- ROWS = 613,
398
- RULE = 614,
399
- SAMPLE = 615,
400
- SAVEPOINT = 616,
401
- SCHEMA = 617,
402
- SCHEMAS = 618,
403
- SCROLL = 619,
404
- SEARCH = 620,
405
- SECOND_P = 621,
406
- SECONDS_P = 622,
407
- SECURITY = 623,
408
- SELECT = 624,
409
- SEQUENCE = 625,
410
- SEQUENCES = 626,
411
- SERIALIZABLE = 627,
412
- SERVER = 628,
413
- SESSION = 629,
414
- SESSION_USER = 630,
415
- SET = 631,
416
- SETOF = 632,
417
- SETS = 633,
418
- SHARE = 634,
419
- SHOW = 635,
420
- SIMILAR = 636,
421
- SIMPLE = 637,
422
- SKIP = 638,
423
- SMALLINT = 639,
424
- SNAPSHOT = 640,
425
- SOME = 641,
426
- SQL_P = 642,
427
- STABLE = 643,
428
- STANDALONE_P = 644,
429
- START = 645,
430
- STATEMENT = 646,
431
- STATISTICS = 647,
432
- STDIN = 648,
433
- STDOUT = 649,
434
- STORAGE = 650,
435
- STORED = 651,
436
- STRICT_P = 652,
437
- STRIP_P = 653,
438
- STRUCT = 654,
439
- SUBSCRIPTION = 655,
440
- SUBSTRING = 656,
441
- SUMMARIZE = 657,
442
- SYMMETRIC = 658,
443
- SYSID = 659,
444
- SYSTEM_P = 660,
445
- TABLE = 661,
446
- TABLES = 662,
447
- TABLESAMPLE = 663,
448
- TABLESPACE = 664,
449
- TEMP = 665,
450
- TEMPLATE = 666,
451
- TEMPORARY = 667,
452
- TEXT_P = 668,
453
- THEN = 669,
454
- TIME = 670,
455
- TIMESTAMP = 671,
456
- TO = 672,
457
- TRAILING = 673,
458
- TRANSACTION = 674,
459
- TRANSFORM = 675,
460
- TREAT = 676,
461
- TRIGGER = 677,
462
- TRIM = 678,
463
- TRUE_P = 679,
464
- TRUNCATE = 680,
465
- TRUSTED = 681,
466
- TRY_CAST = 682,
467
- TYPE_P = 683,
468
- TYPES_P = 684,
469
- UNBOUNDED = 685,
470
- UNCOMMITTED = 686,
471
- UNENCRYPTED = 687,
472
- UNION = 688,
473
- UNIQUE = 689,
474
- UNKNOWN = 690,
475
- UNLISTEN = 691,
476
- UNLOGGED = 692,
477
- UNTIL = 693,
478
- UPDATE = 694,
479
- USE_P = 695,
480
- USER = 696,
481
- USING = 697,
482
- VACUUM = 698,
483
- VALID = 699,
484
- VALIDATE = 700,
485
- VALIDATOR = 701,
486
- VALUE_P = 702,
487
- VALUES = 703,
488
- VARCHAR = 704,
489
- VARIADIC = 705,
490
- VARYING = 706,
491
- VERBOSE = 707,
492
- VERSION_P = 708,
493
- VIEW = 709,
494
- VIEWS = 710,
495
- VIRTUAL = 711,
496
- VOLATILE = 712,
497
- WHEN = 713,
498
- WHERE = 714,
499
- WHITESPACE_P = 715,
500
- WINDOW = 716,
501
- WITH = 717,
502
- WITHIN = 718,
503
- WITHOUT = 719,
504
- WORK = 720,
505
- WRAPPER = 721,
506
- WRITE_P = 722,
507
- XML_P = 723,
508
- XMLATTRIBUTES = 724,
509
- XMLCONCAT = 725,
510
- XMLELEMENT = 726,
511
- XMLEXISTS = 727,
512
- XMLFOREST = 728,
513
- XMLNAMESPACES = 729,
514
- XMLPARSE = 730,
515
- XMLPI = 731,
516
- XMLROOT = 732,
517
- XMLSERIALIZE = 733,
518
- XMLTABLE = 734,
519
- YEAR_P = 735,
520
- YEARS_P = 736,
521
- YES_P = 737,
522
- ZONE = 738,
523
- NOT_LA = 739,
524
- NULLS_LA = 740,
525
- WITH_LA = 741,
526
- POSTFIXOP = 742,
527
- UMINUS = 743
528
- };
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
+ };
529
540
  #endif
530
- /* Tokens. */
531
- #define IDENT 258
532
- #define FCONST 259
533
- #define SCONST 260
534
- #define BCONST 261
535
- #define XCONST 262
536
- #define Op 263
537
- #define ICONST 264
538
- #define PARAM 265
539
- #define TYPECAST 266
540
- #define DOT_DOT 267
541
- #define COLON_EQUALS 268
542
- #define EQUALS_GREATER 269
543
- #define POWER_OF 270
544
- #define LAMBDA_ARROW 271
545
- #define DOUBLE_ARROW 272
546
- #define LESS_EQUALS 273
547
- #define GREATER_EQUALS 274
548
- #define NOT_EQUALS 275
549
- #define ABORT_P 276
550
- #define ABSOLUTE_P 277
551
- #define ACCESS 278
552
- #define ACTION 279
553
- #define ADD_P 280
554
- #define ADMIN 281
555
- #define AFTER 282
556
- #define AGGREGATE 283
557
- #define ALL 284
558
- #define ALSO 285
559
- #define ALTER 286
560
- #define ALWAYS 287
561
- #define ANALYSE 288
562
- #define ANALYZE 289
563
- #define AND 290
564
- #define ANY 291
565
- #define ARRAY 292
566
- #define AS 293
567
- #define ASC_P 294
568
- #define ASSERTION 295
569
- #define ASSIGNMENT 296
570
- #define ASYMMETRIC 297
571
- #define AT 298
572
- #define ATTACH 299
573
- #define ATTRIBUTE 300
574
- #define AUTHORIZATION 301
575
- #define BACKWARD 302
576
- #define BEFORE 303
577
- #define BEGIN_P 304
578
- #define BETWEEN 305
579
- #define BIGINT 306
580
- #define BINARY 307
581
- #define BIT 308
582
- #define BOOLEAN_P 309
583
- #define BOTH 310
584
- #define BY 311
585
- #define CACHE 312
586
- #define CALL_P 313
587
- #define CALLED 314
588
- #define CASCADE 315
589
- #define CASCADED 316
590
- #define CASE 317
591
- #define CAST 318
592
- #define CATALOG_P 319
593
- #define CHAIN 320
594
- #define CHAR_P 321
595
- #define CHARACTER 322
596
- #define CHARACTERISTICS 323
597
- #define CHECK_P 324
598
- #define CHECKPOINT 325
599
- #define CLASS 326
600
- #define CLOSE 327
601
- #define CLUSTER 328
602
- #define COALESCE 329
603
- #define COLLATE 330
604
- #define COLLATION 331
605
- #define COLUMN 332
606
- #define COLUMNS 333
607
- #define COMMENT 334
608
- #define COMMENTS 335
609
- #define COMMIT 336
610
- #define COMMITTED 337
611
- #define COMPRESSION 338
612
- #define CONCURRENTLY 339
613
- #define CONFIGURATION 340
614
- #define CONFLICT 341
615
- #define CONNECTION 342
616
- #define CONSTRAINT 343
617
- #define CONSTRAINTS 344
618
- #define CONTENT_P 345
619
- #define CONTINUE_P 346
620
- #define CONVERSION_P 347
621
- #define COPY 348
622
- #define COST 349
623
- #define CREATE_P 350
624
- #define CROSS 351
625
- #define CSV 352
626
- #define CUBE 353
627
- #define CURRENT_P 354
628
- #define CURRENT_CATALOG 355
629
- #define CURRENT_DATE 356
630
- #define CURRENT_ROLE 357
631
- #define CURRENT_SCHEMA 358
632
- #define CURRENT_TIME 359
633
- #define CURRENT_TIMESTAMP 360
634
- #define CURRENT_USER 361
635
- #define CURSOR 362
636
- #define CYCLE 363
637
- #define DATA_P 364
638
- #define DATABASE 365
639
- #define DAY_P 366
640
- #define DAYS_P 367
641
- #define DEALLOCATE 368
642
- #define DEC 369
643
- #define DECIMAL_P 370
644
- #define DECLARE 371
645
- #define DEFAULT 372
646
- #define DEFAULTS 373
647
- #define DEFERRABLE 374
648
- #define DEFERRED 375
649
- #define DEFINER 376
650
- #define DELETE_P 377
651
- #define DELIMITER 378
652
- #define DELIMITERS 379
653
- #define DEPENDS 380
654
- #define DESC_P 381
655
- #define DESCRIBE 382
656
- #define DETACH 383
657
- #define DICTIONARY 384
658
- #define DISABLE_P 385
659
- #define DISCARD 386
660
- #define DISTINCT 387
661
- #define DO 388
662
- #define DOCUMENT_P 389
663
- #define DOMAIN_P 390
664
- #define DOUBLE_P 391
665
- #define DROP 392
666
- #define EACH 393
667
- #define ELSE 394
668
- #define ENABLE_P 395
669
- #define ENCODING 396
670
- #define ENCRYPTED 397
671
- #define END_P 398
672
- #define ENUM_P 399
673
- #define ESCAPE 400
674
- #define EVENT 401
675
- #define EXCEPT 402
676
- #define EXCLUDE 403
677
- #define EXCLUDING 404
678
- #define EXCLUSIVE 405
679
- #define EXECUTE 406
680
- #define EXISTS 407
681
- #define EXPLAIN 408
682
- #define EXPORT_P 409
683
- #define EXPORT_STATE 410
684
- #define EXTENSION 411
685
- #define EXTERNAL 412
686
- #define EXTRACT 413
687
- #define FALSE_P 414
688
- #define FAMILY 415
689
- #define FETCH 416
690
- #define FILTER 417
691
- #define FIRST_P 418
692
- #define FLOAT_P 419
693
- #define FOLLOWING 420
694
- #define FOR 421
695
- #define FORCE 422
696
- #define FOREIGN 423
697
- #define FORWARD 424
698
- #define FREEZE 425
699
- #define FROM 426
700
- #define FULL 427
701
- #define FUNCTION 428
702
- #define FUNCTIONS 429
703
- #define GENERATED 430
704
- #define GLOB 431
705
- #define GLOBAL 432
706
- #define GRANT 433
707
- #define GRANTED 434
708
- #define GROUP_P 435
709
- #define GROUPING 436
710
- #define GROUPING_ID 437
711
- #define HANDLER 438
712
- #define HAVING 439
713
- #define HEADER_P 440
714
- #define HOLD 441
715
- #define HOUR_P 442
716
- #define HOURS_P 443
717
- #define IDENTITY_P 444
718
- #define IF_P 445
719
- #define IGNORE_P 446
720
- #define ILIKE 447
721
- #define IMMEDIATE 448
722
- #define IMMUTABLE 449
723
- #define IMPLICIT_P 450
724
- #define IMPORT_P 451
725
- #define IN_P 452
726
- #define INCLUDING 453
727
- #define INCREMENT 454
728
- #define INDEX 455
729
- #define INDEXES 456
730
- #define INHERIT 457
731
- #define INHERITS 458
732
- #define INITIALLY 459
733
- #define INLINE_P 460
734
- #define INNER_P 461
735
- #define INOUT 462
736
- #define INPUT_P 463
737
- #define INSENSITIVE 464
738
- #define INSERT 465
739
- #define INSTALL 466
740
- #define INSTEAD 467
741
- #define INT_P 468
742
- #define INTEGER 469
743
- #define INTERSECT 470
744
- #define INTERVAL 471
745
- #define INTO 472
746
- #define INVOKER 473
747
- #define IS 474
748
- #define ISNULL 475
749
- #define ISOLATION 476
750
- #define JOIN 477
751
- #define JSON 478
752
- #define KEY 479
753
- #define LABEL 480
754
- #define LANGUAGE 481
755
- #define LARGE_P 482
756
- #define LAST_P 483
757
- #define LATERAL_P 484
758
- #define LEADING 485
759
- #define LEAKPROOF 486
760
- #define LEFT 487
761
- #define LEVEL 488
762
- #define LIKE 489
763
- #define LIMIT 490
764
- #define LISTEN 491
765
- #define LOAD 492
766
- #define LOCAL 493
767
- #define LOCALTIME 494
768
- #define LOCALTIMESTAMP 495
769
- #define LOCATION 496
770
- #define LOCK_P 497
771
- #define LOCKED 498
772
- #define LOGGED 499
773
- #define MACRO 500
774
- #define MAP 501
775
- #define MAPPING 502
776
- #define MATCH 503
777
- #define MATERIALIZED 504
778
- #define MAXVALUE 505
779
- #define METHOD 506
780
- #define MICROSECOND_P 507
781
- #define MICROSECONDS_P 508
782
- #define MILLISECOND_P 509
783
- #define MILLISECONDS_P 510
784
- #define MINUTE_P 511
785
- #define MINUTES_P 512
786
- #define MINVALUE 513
787
- #define MODE 514
788
- #define MONTH_P 515
789
- #define MONTHS_P 516
790
- #define MOVE 517
791
- #define NAME_P 518
792
- #define NAMES 519
793
- #define NATIONAL 520
794
- #define NATURAL 521
795
- #define NCHAR 522
796
- #define NEW 523
797
- #define NEXT 524
798
- #define NO 525
799
- #define NONE 526
800
- #define NOT 527
801
- #define NOTHING 528
802
- #define NOTIFY 529
803
- #define NOTNULL 530
804
- #define NOWAIT 531
805
- #define NULL_P 532
806
- #define NULLIF 533
807
- #define NULLS_P 534
808
- #define NUMERIC 535
809
- #define OBJECT_P 536
810
- #define OF 537
811
- #define OFF 538
812
- #define OFFSET 539
813
- #define OIDS 540
814
- #define OLD 541
815
- #define ON 542
816
- #define ONLY 543
817
- #define OPERATOR 544
818
- #define OPTION 545
819
- #define OPTIONS 546
820
- #define OR 547
821
- #define ORDER 548
822
- #define ORDINALITY 549
823
- #define OUT_P 550
824
- #define OUTER_P 551
825
- #define OVER 552
826
- #define OVERLAPS 553
827
- #define OVERLAY 554
828
- #define OVERRIDING 555
829
- #define OWNED 556
830
- #define OWNER 557
831
- #define PARALLEL 558
832
- #define PARSER 559
833
- #define PARTIAL 560
834
- #define PARTITION 561
835
- #define PASSING 562
836
- #define PASSWORD 563
837
- #define PERCENT 564
838
- #define PLACING 565
839
- #define PLANS 566
840
- #define POLICY 567
841
- #define POSITION 568
842
- #define PRAGMA_P 569
843
- #define PRECEDING 570
844
- #define PRECISION 571
845
- #define PREPARE 572
846
- #define PREPARED 573
847
- #define PRESERVE 574
848
- #define PRIMARY 575
849
- #define PRIOR 576
850
- #define PRIVILEGES 577
851
- #define PROCEDURAL 578
852
- #define PROCEDURE 579
853
- #define PROGRAM 580
854
- #define PUBLICATION 581
855
- #define QUALIFY 582
856
- #define QUOTE 583
857
- #define RANGE 584
858
- #define READ_P 585
859
- #define REAL 586
860
- #define REASSIGN 587
861
- #define RECHECK 588
862
- #define RECURSIVE 589
863
- #define REF 590
864
- #define REFERENCES 591
865
- #define REFERENCING 592
866
- #define REFRESH 593
867
- #define REINDEX 594
868
- #define RELATIVE_P 595
869
- #define RELEASE 596
870
- #define RENAME 597
871
- #define REPEATABLE 598
872
- #define REPLACE 599
873
- #define REPLICA 600
874
- #define RESET 601
875
- #define RESPECT_P 602
876
- #define RESTART 603
877
- #define RESTRICT 604
878
- #define RETURNING 605
879
- #define RETURNS 606
880
- #define REVOKE 607
881
- #define RIGHT 608
882
- #define ROLE 609
883
- #define ROLLBACK 610
884
- #define ROLLUP 611
885
- #define ROW 612
886
- #define ROWS 613
887
- #define RULE 614
888
- #define SAMPLE 615
889
- #define SAVEPOINT 616
890
- #define SCHEMA 617
891
- #define SCHEMAS 618
892
- #define SCROLL 619
893
- #define SEARCH 620
894
- #define SECOND_P 621
895
- #define SECONDS_P 622
896
- #define SECURITY 623
897
- #define SELECT 624
898
- #define SEQUENCE 625
899
- #define SEQUENCES 626
900
- #define SERIALIZABLE 627
901
- #define SERVER 628
902
- #define SESSION 629
903
- #define SESSION_USER 630
904
- #define SET 631
905
- #define SETOF 632
906
- #define SETS 633
907
- #define SHARE 634
908
- #define SHOW 635
909
- #define SIMILAR 636
910
- #define SIMPLE 637
911
- #define SKIP 638
912
- #define SMALLINT 639
913
- #define SNAPSHOT 640
914
- #define SOME 641
915
- #define SQL_P 642
916
- #define STABLE 643
917
- #define STANDALONE_P 644
918
- #define START 645
919
- #define STATEMENT 646
920
- #define STATISTICS 647
921
- #define STDIN 648
922
- #define STDOUT 649
923
- #define STORAGE 650
924
- #define STORED 651
925
- #define STRICT_P 652
926
- #define STRIP_P 653
927
- #define STRUCT 654
928
- #define SUBSCRIPTION 655
929
- #define SUBSTRING 656
930
- #define SUMMARIZE 657
931
- #define SYMMETRIC 658
932
- #define SYSID 659
933
- #define SYSTEM_P 660
934
- #define TABLE 661
935
- #define TABLES 662
936
- #define TABLESAMPLE 663
937
- #define TABLESPACE 664
938
- #define TEMP 665
939
- #define TEMPLATE 666
940
- #define TEMPORARY 667
941
- #define TEXT_P 668
942
- #define THEN 669
943
- #define TIME 670
944
- #define TIMESTAMP 671
945
- #define TO 672
946
- #define TRAILING 673
947
- #define TRANSACTION 674
948
- #define TRANSFORM 675
949
- #define TREAT 676
950
- #define TRIGGER 677
951
- #define TRIM 678
952
- #define TRUE_P 679
953
- #define TRUNCATE 680
954
- #define TRUSTED 681
955
- #define TRY_CAST 682
956
- #define TYPE_P 683
957
- #define TYPES_P 684
958
- #define UNBOUNDED 685
959
- #define UNCOMMITTED 686
960
- #define UNENCRYPTED 687
961
- #define UNION 688
962
- #define UNIQUE 689
963
- #define UNKNOWN 690
964
- #define UNLISTEN 691
965
- #define UNLOGGED 692
966
- #define UNTIL 693
967
- #define UPDATE 694
968
- #define USE_P 695
969
- #define USER 696
970
- #define USING 697
971
- #define VACUUM 698
972
- #define VALID 699
973
- #define VALIDATE 700
974
- #define VALIDATOR 701
975
- #define VALUE_P 702
976
- #define VALUES 703
977
- #define VARCHAR 704
978
- #define VARIADIC 705
979
- #define VARYING 706
980
- #define VERBOSE 707
981
- #define VERSION_P 708
982
- #define VIEW 709
983
- #define VIEWS 710
984
- #define VIRTUAL 711
985
- #define VOLATILE 712
986
- #define WHEN 713
987
- #define WHERE 714
988
- #define WHITESPACE_P 715
989
- #define WINDOW 716
990
- #define WITH 717
991
- #define WITHIN 718
992
- #define WITHOUT 719
993
- #define WORK 720
994
- #define WRAPPER 721
995
- #define WRITE_P 722
996
- #define XML_P 723
997
- #define XMLATTRIBUTES 724
998
- #define XMLCONCAT 725
999
- #define XMLELEMENT 726
1000
- #define XMLEXISTS 727
1001
- #define XMLFOREST 728
1002
- #define XMLNAMESPACES 729
1003
- #define XMLPARSE 730
1004
- #define XMLPI 731
1005
- #define XMLROOT 732
1006
- #define XMLSERIALIZE 733
1007
- #define XMLTABLE 734
1008
- #define YEAR_P 735
1009
- #define YEARS_P 736
1010
- #define YES_P 737
1011
- #define ZONE 738
1012
- #define NOT_LA 739
1013
- #define NULLS_LA 740
1014
- #define WITH_LA 741
1015
- #define POSTFIXOP 742
1016
- #define UMINUS 743
1017
-
1018
-
1019
-
1020
541
 
542
+ /* Value type. */
1021
543
  #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1022
- typedef union YYSTYPE
1023
- #line 14 "third_party/libpg_query/grammar/grammar.y"
544
+ union YYSTYPE
1024
545
  {
546
+ #line 14 "third_party/libpg_query/grammar/grammar.y"
547
+
1025
548
  core_YYSTYPE core_yystype;
1026
549
  /* these fields must match core_YYSTYPE: */
1027
550
  int ival;
@@ -1052,6 +575,7 @@ typedef union YYSTYPE
1052
575
  PGWithClause *with;
1053
576
  PGInferClause *infer;
1054
577
  PGOnConflictClause *onconflict;
578
+ PGOnConflictActionAlias onconflictshorthand;
1055
579
  PGAIndices *aind;
1056
580
  PGResTarget *target;
1057
581
  PGInsertStmt *istmt;
@@ -1064,28 +588,31 @@ typedef union YYSTYPE
1064
588
  PGLockWaitPolicy lockwaitpolicy;
1065
589
  PGSubLinkType subquerytype;
1066
590
  PGViewCheckOption viewcheckoption;
1067
- }
1068
- /* Line 1489 of yacc.c. */
1069
- #line 1070 "third_party/libpg_query/grammar/grammar_out.hpp"
1070
- YYSTYPE;
1071
- # define yystype YYSTYPE /* obsolescent; will be withdrawn */
1072
- # define YYSTYPE_IS_DECLARED 1
1073
- # define YYSTYPE_IS_TRIVIAL 1
1074
- #endif
1075
591
 
592
+ #line 593 "third_party/libpg_query/grammar/grammar_out.hpp"
1076
593
 
594
+ };
595
+ typedef union YYSTYPE YYSTYPE;
596
+ # define YYSTYPE_IS_TRIVIAL 1
597
+ # define YYSTYPE_IS_DECLARED 1
598
+ #endif
1077
599
 
600
+ /* Location type. */
1078
601
  #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
1079
- typedef struct YYLTYPE
602
+ typedef struct YYLTYPE YYLTYPE;
603
+ struct YYLTYPE
1080
604
  {
1081
605
  int first_line;
1082
606
  int first_column;
1083
607
  int last_line;
1084
608
  int last_column;
1085
- } YYLTYPE;
1086
- # define yyltype YYLTYPE /* obsolescent; will be withdrawn */
609
+ };
1087
610
  # define YYLTYPE_IS_DECLARED 1
1088
611
  # define YYLTYPE_IS_TRIVIAL 1
1089
612
  #endif
1090
613
 
1091
614
 
615
+
616
+ int base_yyparse (core_yyscan_t yyscanner);
617
+
618
+ #endif /* !YY_BASE_YY_THIRD_PARTY_LIBPG_QUERY_GRAMMAR_GRAMMAR_OUT_HPP_INCLUDED */