duckdb 0.7.2-dev2820.0 → 0.7.2-dev2995.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 (254) hide show
  1. package/binding.gyp +1 -0
  2. package/package.json +1 -1
  3. package/src/duckdb/extension/icu/icu-datepart.cpp +55 -1
  4. package/src/duckdb/extension/parquet/parquet-extension.cpp +5 -4
  5. package/src/duckdb/src/catalog/catalog_entry/table_catalog_entry.cpp +18 -7
  6. package/src/duckdb/src/catalog/default/default_functions.cpp +2 -0
  7. package/src/duckdb/src/common/arrow/arrow_appender.cpp +3 -3
  8. package/src/duckdb/src/common/arrow/arrow_converter.cpp +2 -2
  9. package/src/duckdb/src/common/local_file_system.cpp +1 -3
  10. package/src/duckdb/src/common/multi_file_reader.cpp +11 -8
  11. package/src/duckdb/src/common/sort/partition_state.cpp +1 -1
  12. package/src/duckdb/src/common/string_util.cpp +6 -1
  13. package/src/duckdb/src/core_functions/function_list.cpp +2 -0
  14. package/src/duckdb/src/core_functions/scalar/string/format_bytes.cpp +29 -0
  15. package/src/duckdb/src/execution/index/art/art.cpp +5 -1
  16. package/src/duckdb/src/execution/operator/aggregate/physical_hash_aggregate.cpp +62 -43
  17. package/src/duckdb/src/execution/operator/aggregate/physical_perfecthash_aggregate.cpp +17 -11
  18. package/src/duckdb/src/execution/operator/aggregate/physical_ungrouped_aggregate.cpp +32 -39
  19. package/src/duckdb/src/execution/operator/aggregate/physical_window.cpp +10 -9
  20. package/src/duckdb/src/execution/operator/helper/physical_batch_collector.cpp +4 -4
  21. package/src/duckdb/src/execution/operator/helper/physical_explain_analyze.cpp +6 -21
  22. package/src/duckdb/src/execution/operator/helper/physical_limit.cpp +13 -13
  23. package/src/duckdb/src/execution/operator/helper/physical_limit_percent.cpp +15 -14
  24. package/src/duckdb/src/execution/operator/helper/physical_load.cpp +3 -2
  25. package/src/duckdb/src/execution/operator/helper/physical_materialized_collector.cpp +4 -4
  26. package/src/duckdb/src/execution/operator/helper/physical_pragma.cpp +4 -2
  27. package/src/duckdb/src/execution/operator/helper/physical_prepare.cpp +4 -2
  28. package/src/duckdb/src/execution/operator/helper/physical_reservoir_sample.cpp +10 -8
  29. package/src/duckdb/src/execution/operator/helper/physical_reset.cpp +4 -3
  30. package/src/duckdb/src/execution/operator/helper/physical_set.cpp +7 -6
  31. package/src/duckdb/src/execution/operator/helper/physical_transaction.cpp +4 -2
  32. package/src/duckdb/src/execution/operator/helper/physical_vacuum.cpp +8 -8
  33. package/src/duckdb/src/execution/operator/join/physical_asof_join.cpp +17 -16
  34. package/src/duckdb/src/execution/operator/join/physical_blockwise_nl_join.cpp +10 -8
  35. package/src/duckdb/src/execution/operator/join/physical_cross_product.cpp +3 -4
  36. package/src/duckdb/src/execution/operator/join/physical_delim_join.cpp +5 -5
  37. package/src/duckdb/src/execution/operator/join/physical_hash_join.cpp +16 -15
  38. package/src/duckdb/src/execution/operator/join/physical_iejoin.cpp +13 -12
  39. package/src/duckdb/src/execution/operator/join/physical_nested_loop_join.cpp +12 -10
  40. package/src/duckdb/src/execution/operator/join/physical_piecewise_merge_join.cpp +13 -11
  41. package/src/duckdb/src/execution/operator/join/physical_positional_join.cpp +8 -6
  42. package/src/duckdb/src/execution/operator/join/physical_range_join.cpp +1 -1
  43. package/src/duckdb/src/execution/operator/order/physical_order.cpp +13 -13
  44. package/src/duckdb/src/execution/operator/order/physical_top_n.cpp +8 -8
  45. package/src/duckdb/src/execution/operator/persistent/physical_batch_insert.cpp +160 -145
  46. package/src/duckdb/src/execution/operator/persistent/physical_copy_to_file.cpp +10 -25
  47. package/src/duckdb/src/execution/operator/persistent/physical_delete.cpp +14 -19
  48. package/src/duckdb/src/execution/operator/persistent/physical_export.cpp +7 -6
  49. package/src/duckdb/src/execution/operator/persistent/physical_insert.cpp +18 -30
  50. package/src/duckdb/src/execution/operator/persistent/physical_update.cpp +14 -18
  51. package/src/duckdb/src/execution/operator/scan/physical_column_data_scan.cpp +6 -4
  52. package/src/duckdb/src/execution/operator/scan/physical_dummy_scan.cpp +4 -19
  53. package/src/duckdb/src/execution/operator/scan/physical_empty_result.cpp +3 -2
  54. package/src/duckdb/src/execution/operator/scan/physical_positional_scan.cpp +14 -5
  55. package/src/duckdb/src/execution/operator/scan/physical_table_scan.cpp +6 -4
  56. package/src/duckdb/src/execution/operator/schema/physical_alter.cpp +3 -19
  57. package/src/duckdb/src/execution/operator/schema/physical_attach.cpp +4 -18
  58. package/src/duckdb/src/execution/operator/schema/physical_create_function.cpp +4 -19
  59. package/src/duckdb/src/execution/operator/schema/physical_create_index.cpp +8 -9
  60. package/src/duckdb/src/execution/operator/schema/physical_create_schema.cpp +4 -19
  61. package/src/duckdb/src/execution/operator/schema/physical_create_sequence.cpp +4 -19
  62. package/src/duckdb/src/execution/operator/schema/physical_create_table.cpp +4 -19
  63. package/src/duckdb/src/execution/operator/schema/physical_create_type.cpp +20 -28
  64. package/src/duckdb/src/execution/operator/schema/physical_create_view.cpp +4 -19
  65. package/src/duckdb/src/execution/operator/schema/physical_detach.cpp +4 -19
  66. package/src/duckdb/src/execution/operator/schema/physical_drop.cpp +3 -19
  67. package/src/duckdb/src/execution/operator/set/physical_recursive_cte.cpp +9 -8
  68. package/src/duckdb/src/execution/operator/set/physical_union.cpp +1 -1
  69. package/src/duckdb/src/execution/physical_operator.cpp +11 -5
  70. package/src/duckdb/src/execution/radix_partitioned_hashtable.cpp +16 -16
  71. package/src/duckdb/src/function/table/arrow_conversion.cpp +3 -3
  72. package/src/duckdb/src/function/table/read_csv.cpp +7 -4
  73. package/src/duckdb/src/function/table/version/pragma_version.cpp +2 -2
  74. package/src/duckdb/src/include/duckdb/catalog/catalog_entry/table_catalog_entry.hpp +7 -1
  75. package/src/duckdb/src/include/duckdb/common/enums/operator_result_type.hpp +16 -4
  76. package/src/duckdb/src/include/duckdb/common/multi_file_reader.hpp +5 -4
  77. package/src/duckdb/src/include/duckdb/common/optional_idx.hpp +45 -0
  78. package/src/duckdb/src/include/duckdb/common/set.hpp +2 -1
  79. package/src/duckdb/src/include/duckdb/core_functions/scalar/string_functions.hpp +15 -0
  80. package/src/duckdb/src/include/duckdb/execution/executor.hpp +10 -1
  81. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_hash_aggregate.hpp +5 -8
  82. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_perfecthash_aggregate.hpp +2 -4
  83. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_ungrouped_aggregate.hpp +3 -7
  84. package/src/duckdb/src/include/duckdb/execution/operator/aggregate/physical_window.hpp +2 -4
  85. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_batch_collector.hpp +1 -2
  86. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_explain_analyze.hpp +2 -5
  87. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit.hpp +2 -4
  88. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_limit_percent.hpp +2 -4
  89. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_load.hpp +1 -2
  90. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_materialized_collector.hpp +1 -2
  91. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_pragma.hpp +1 -2
  92. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_prepare.hpp +1 -2
  93. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reservoir_sample.hpp +2 -4
  94. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_reset.hpp +1 -2
  95. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_set.hpp +1 -2
  96. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_transaction.hpp +1 -2
  97. package/src/duckdb/src/include/duckdb/execution/operator/helper/physical_vacuum.hpp +2 -4
  98. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_asof_join.hpp +2 -4
  99. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_blockwise_nl_join.hpp +2 -4
  100. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_cross_product.hpp +1 -2
  101. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_delim_join.hpp +1 -2
  102. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_hash_join.hpp +2 -4
  103. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_iejoin.hpp +2 -4
  104. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_nested_loop_join.hpp +2 -4
  105. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_piecewise_merge_join.hpp +2 -4
  106. package/src/duckdb/src/include/duckdb/execution/operator/join/physical_positional_join.hpp +2 -4
  107. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_order.hpp +2 -4
  108. package/src/duckdb/src/include/duckdb/execution/operator/order/physical_top_n.hpp +2 -4
  109. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_batch_insert.hpp +3 -5
  110. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_copy_to_file.hpp +2 -5
  111. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_delete.hpp +2 -4
  112. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_export.hpp +2 -4
  113. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_insert.hpp +2 -4
  114. package/src/duckdb/src/include/duckdb/execution/operator/persistent/physical_update.hpp +2 -4
  115. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_column_data_scan.hpp +1 -2
  116. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_dummy_scan.hpp +1 -3
  117. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_empty_result.hpp +1 -2
  118. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_positional_scan.hpp +1 -2
  119. package/src/duckdb/src/include/duckdb/execution/operator/scan/physical_table_scan.hpp +1 -2
  120. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_alter.hpp +1 -3
  121. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_attach.hpp +1 -3
  122. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_function.hpp +1 -3
  123. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_index.hpp +2 -4
  124. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_schema.hpp +1 -3
  125. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_sequence.hpp +1 -3
  126. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_table.hpp +1 -3
  127. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_type.hpp +6 -5
  128. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_create_view.hpp +1 -3
  129. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_detach.hpp +1 -3
  130. package/src/duckdb/src/include/duckdb/execution/operator/schema/physical_drop.hpp +1 -3
  131. package/src/duckdb/src/include/duckdb/execution/operator/set/physical_recursive_cte.hpp +2 -4
  132. package/src/duckdb/src/include/duckdb/execution/physical_operator.hpp +7 -4
  133. package/src/duckdb/src/include/duckdb/execution/physical_operator_states.hpp +26 -6
  134. package/src/duckdb/src/include/duckdb/execution/radix_partitioned_hashtable.hpp +5 -5
  135. package/src/duckdb/src/include/duckdb/function/aggregate_function.hpp +2 -1
  136. package/src/duckdb/src/include/duckdb/function/table_function.hpp +0 -1
  137. package/src/duckdb/src/include/duckdb/main/client_config.hpp +2 -0
  138. package/src/duckdb/src/include/duckdb/main/config.hpp +2 -0
  139. package/src/duckdb/src/include/duckdb/main/database.hpp +1 -0
  140. package/src/duckdb/src/include/duckdb/main/database_manager.hpp +3 -0
  141. package/src/duckdb/src/include/duckdb/main/extension_helper.hpp +0 -2
  142. package/src/duckdb/src/include/duckdb/parallel/event.hpp +1 -1
  143. package/src/duckdb/src/include/duckdb/parallel/interrupt.hpp +63 -0
  144. package/src/duckdb/src/include/duckdb/parallel/pipeline.hpp +16 -3
  145. package/src/duckdb/src/include/duckdb/parallel/pipeline_executor.hpp +51 -7
  146. package/src/duckdb/src/include/duckdb/parallel/task.hpp +21 -2
  147. package/src/duckdb/src/include/duckdb/parallel/task_counter.hpp +2 -2
  148. package/src/duckdb/src/include/duckdb/parallel/task_scheduler.hpp +2 -2
  149. package/src/duckdb/src/include/duckdb/parser/tableref/pivotref.hpp +3 -0
  150. package/src/duckdb/src/include/duckdb/parser/transformer.hpp +5 -1
  151. package/src/duckdb/src/include/duckdb/planner/column_binding.hpp +6 -0
  152. package/src/duckdb/src/include/duckdb/planner/expression/bound_columnref_expression.hpp +1 -0
  153. package/src/duckdb/src/include/duckdb/planner/operator/logical_aggregate.hpp +1 -0
  154. package/src/duckdb/src/include/duckdb/planner/operator/logical_column_data_get.hpp +1 -0
  155. package/src/duckdb/src/include/duckdb/planner/operator/logical_cteref.hpp +1 -0
  156. package/src/duckdb/src/include/duckdb/planner/operator/logical_delete.hpp +1 -0
  157. package/src/duckdb/src/include/duckdb/planner/operator/logical_delim_get.hpp +1 -0
  158. package/src/duckdb/src/include/duckdb/planner/operator/logical_dummy_scan.hpp +1 -0
  159. package/src/duckdb/src/include/duckdb/planner/operator/logical_expression_get.hpp +1 -0
  160. package/src/duckdb/src/include/duckdb/planner/operator/logical_insert.hpp +1 -0
  161. package/src/duckdb/src/include/duckdb/planner/operator/logical_pivot.hpp +1 -0
  162. package/src/duckdb/src/include/duckdb/planner/operator/logical_projection.hpp +1 -0
  163. package/src/duckdb/src/include/duckdb/planner/operator/logical_recursive_cte.hpp +1 -0
  164. package/src/duckdb/src/include/duckdb/planner/operator/logical_set_operation.hpp +1 -0
  165. package/src/duckdb/src/include/duckdb/planner/operator/logical_unnest.hpp +1 -0
  166. package/src/duckdb/src/include/duckdb/planner/operator/logical_update.hpp +1 -0
  167. package/src/duckdb/src/include/duckdb/planner/operator/logical_window.hpp +1 -0
  168. package/src/duckdb/src/include/duckdb/storage/data_table.hpp +1 -0
  169. package/src/duckdb/src/include/duckdb/storage/optimistic_data_writer.hpp +46 -0
  170. package/src/duckdb/src/include/duckdb/storage/partial_block_manager.hpp +24 -3
  171. package/src/duckdb/src/include/duckdb/storage/table/column_checkpoint_state.hpp +46 -1
  172. package/src/duckdb/src/include/duckdb/storage/table/column_data.hpp +9 -10
  173. package/src/duckdb/src/include/duckdb/storage/table/column_segment.hpp +1 -1
  174. package/src/duckdb/src/include/duckdb/storage/table/list_column_data.hpp +2 -2
  175. package/src/duckdb/src/include/duckdb/storage/table/row_group.hpp +3 -3
  176. package/src/duckdb/src/include/duckdb/storage/table/row_group_collection.hpp +1 -0
  177. package/src/duckdb/src/include/duckdb/storage/table/segment_base.hpp +1 -1
  178. package/src/duckdb/src/include/duckdb/storage/table/segment_tree.hpp +22 -0
  179. package/src/duckdb/src/include/duckdb/storage/table/standard_column_data.hpp +3 -3
  180. package/src/duckdb/src/include/duckdb/storage/table/struct_column_data.hpp +2 -2
  181. package/src/duckdb/src/include/duckdb/storage/table/update_segment.hpp +0 -2
  182. package/src/duckdb/src/include/duckdb/storage/table/validity_column_data.hpp +1 -2
  183. package/src/duckdb/src/include/duckdb/transaction/local_storage.hpp +9 -34
  184. package/src/duckdb/src/include/duckdb/verification/no_operator_caching_verifier.hpp +25 -0
  185. package/src/duckdb/src/include/duckdb/verification/statement_verifier.hpp +5 -0
  186. package/src/duckdb/src/main/attached_database.cpp +5 -3
  187. package/src/duckdb/src/main/client_verify.cpp +4 -0
  188. package/src/duckdb/src/main/config.cpp +4 -0
  189. package/src/duckdb/src/main/database.cpp +45 -48
  190. package/src/duckdb/src/main/extension/extension_load.cpp +32 -49
  191. package/src/duckdb/src/parallel/event.cpp +1 -1
  192. package/src/duckdb/src/parallel/executor.cpp +39 -3
  193. package/src/duckdb/src/parallel/executor_task.cpp +11 -0
  194. package/src/duckdb/src/parallel/interrupt.cpp +57 -0
  195. package/src/duckdb/src/parallel/pipeline.cpp +49 -6
  196. package/src/duckdb/src/parallel/pipeline_executor.cpp +248 -69
  197. package/src/duckdb/src/parallel/pipeline_initialize_event.cpp +1 -1
  198. package/src/duckdb/src/parallel/task_scheduler.cpp +57 -22
  199. package/src/duckdb/src/parser/base_expression.cpp +6 -0
  200. package/src/duckdb/src/parser/transform/statement/transform_create_function.cpp +1 -4
  201. package/src/duckdb/src/parser/transform/statement/transform_create_view.cpp +2 -4
  202. package/src/duckdb/src/parser/transform/statement/transform_pivot_stmt.cpp +43 -24
  203. package/src/duckdb/src/parser/transform/tableref/transform_pivot.cpp +3 -0
  204. package/src/duckdb/src/planner/binder/statement/bind_create.cpp +17 -28
  205. package/src/duckdb/src/planner/expression/bound_columnref_expression.cpp +17 -3
  206. package/src/duckdb/src/planner/expression/bound_reference_expression.cpp +8 -2
  207. package/src/duckdb/src/planner/operator/logical_aggregate.cpp +13 -1
  208. package/src/duckdb/src/planner/operator/logical_column_data_get.cpp +11 -0
  209. package/src/duckdb/src/planner/operator/logical_cteref.cpp +11 -0
  210. package/src/duckdb/src/planner/operator/logical_delete.cpp +10 -0
  211. package/src/duckdb/src/planner/operator/logical_delim_get.cpp +12 -1
  212. package/src/duckdb/src/planner/operator/logical_dummy_scan.cpp +12 -1
  213. package/src/duckdb/src/planner/operator/logical_expression_get.cpp +12 -1
  214. package/src/duckdb/src/planner/operator/logical_get.cpp +10 -4
  215. package/src/duckdb/src/planner/operator/logical_insert.cpp +12 -1
  216. package/src/duckdb/src/planner/operator/logical_pivot.cpp +11 -0
  217. package/src/duckdb/src/planner/operator/logical_projection.cpp +11 -0
  218. package/src/duckdb/src/planner/operator/logical_recursive_cte.cpp +11 -0
  219. package/src/duckdb/src/planner/operator/logical_set_operation.cpp +11 -0
  220. package/src/duckdb/src/planner/operator/logical_unnest.cpp +12 -1
  221. package/src/duckdb/src/planner/operator/logical_update.cpp +10 -0
  222. package/src/duckdb/src/planner/operator/logical_window.cpp +11 -0
  223. package/src/duckdb/src/storage/checkpoint_manager.cpp +1 -1
  224. package/src/duckdb/src/storage/data_table.cpp +5 -0
  225. package/src/duckdb/src/storage/local_storage.cpp +40 -110
  226. package/src/duckdb/src/storage/optimistic_data_writer.cpp +96 -0
  227. package/src/duckdb/src/storage/partial_block_manager.cpp +73 -9
  228. package/src/duckdb/src/storage/single_file_block_manager.cpp +3 -1
  229. package/src/duckdb/src/storage/standard_buffer_manager.cpp +17 -12
  230. package/src/duckdb/src/storage/statistics/base_statistics.cpp +3 -0
  231. package/src/duckdb/src/storage/table/column_checkpoint_state.cpp +90 -82
  232. package/src/duckdb/src/storage/table/column_data.cpp +19 -45
  233. package/src/duckdb/src/storage/table/column_data_checkpointer.cpp +7 -7
  234. package/src/duckdb/src/storage/table/column_segment.cpp +1 -1
  235. package/src/duckdb/src/storage/table/list_column_data.cpp +6 -11
  236. package/src/duckdb/src/storage/table/row_group.cpp +13 -14
  237. package/src/duckdb/src/storage/table/row_group_collection.cpp +10 -4
  238. package/src/duckdb/src/storage/table/standard_column_data.cpp +6 -10
  239. package/src/duckdb/src/storage/table/struct_column_data.cpp +7 -13
  240. package/src/duckdb/src/storage/table/update_segment.cpp +0 -25
  241. package/src/duckdb/src/storage/table/validity_column_data.cpp +2 -6
  242. package/src/duckdb/src/transaction/commit_state.cpp +4 -4
  243. package/src/duckdb/src/verification/no_operator_caching_verifier.cpp +13 -0
  244. package/src/duckdb/src/verification/statement_verifier.cpp +4 -0
  245. package/src/duckdb/third_party/fmt/format.cc +0 -5
  246. package/src/duckdb/third_party/fmt/include/fmt/core.h +10 -12
  247. package/src/duckdb/third_party/fmt/include/fmt/format-inl.h +2 -33
  248. package/src/duckdb/third_party/fmt/include/fmt/format.h +61 -24
  249. package/src/duckdb/third_party/fmt/include/fmt/printf.h +15 -1
  250. package/src/duckdb/third_party/libpg_query/include/nodes/parsenodes.hpp +1 -0
  251. package/src/duckdb/third_party/libpg_query/src_backend_parser_gram.cpp +10735 -10674
  252. package/src/duckdb/ub_src_core_functions_scalar_string.cpp +2 -0
  253. package/src/duckdb/ub_src_parallel.cpp +2 -0
  254. package/src/duckdb/ub_src_storage.cpp +2 -0
@@ -70,6 +70,12 @@ public:
70
70
  //! Flush a thread context into the client context
71
71
  void Flush(ThreadContext &context);
72
72
 
73
+ //! Reschedules a task that was blocked
74
+ void RescheduleTask(shared_ptr<Task> &task);
75
+
76
+ //! Add the task to be rescheduled
77
+ void AddToBeRescheduled(shared_ptr<Task> &task);
78
+
73
79
  //! Returns the progress of the pipelines
74
80
  bool GetPipelinesProgress(double &current_progress);
75
81
 
@@ -146,6 +152,9 @@ private:
146
152
  //! The last pending execution result (if any)
147
153
  PendingExecutionResult execution_result;
148
154
  //! The current task in process (if any)
149
- unique_ptr<Task> task;
155
+ shared_ptr<Task> task;
156
+
157
+ //! Task that have been descheduled
158
+ unordered_map<Task *, shared_ptr<Task>> to_be_rescheduled_tasks;
150
159
  };
151
160
  } // namespace duckdb
@@ -90,8 +90,7 @@ public:
90
90
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
91
91
  unique_ptr<LocalSourceState> GetLocalSourceState(ExecutionContext &context,
92
92
  GlobalSourceState &gstate) const override;
93
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
94
- LocalSourceState &lstate) const override;
93
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
95
94
 
96
95
  bool IsSource() const override {
97
96
  return true;
@@ -106,8 +105,7 @@ public:
106
105
 
107
106
  public:
108
107
  // Sink interface
109
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
110
- DataChunk &input) const override;
108
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
111
109
  void Combine(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const override;
112
110
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
113
111
  GlobalSinkState &gstate) const override;
@@ -145,11 +143,10 @@ private:
145
143
  //! Combine the distinct aggregates
146
144
  void CombineDistinct(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const;
147
145
  //! Sink the distinct aggregates for a single grouping
148
- void SinkDistinctGrouping(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
149
- DataChunk &input, idx_t grouping_idx) const;
146
+ void SinkDistinctGrouping(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input,
147
+ idx_t grouping_idx) const;
150
148
  //! Sink the distinct aggregates
151
- void SinkDistinct(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
152
- DataChunk &input) const;
149
+ void SinkDistinct(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const;
153
150
  //! Create groups in the main ht for groups that would otherwise get filtered out completely
154
151
  SinkResultType SinkGroupsOnly(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
155
152
  DataChunk &input) const;
@@ -34,8 +34,7 @@ public:
34
34
  public:
35
35
  // Source interface
36
36
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
37
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
38
- LocalSourceState &lstate) const override;
37
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
39
38
 
40
39
  bool IsSource() const override {
41
40
  return true;
@@ -46,8 +45,7 @@ public:
46
45
 
47
46
  public:
48
47
  // Sink interface
49
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
50
- DataChunk &input) const override;
48
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
51
49
  void Combine(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const override;
52
50
 
53
51
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
@@ -35,9 +35,7 @@ public:
35
35
 
36
36
  public:
37
37
  // Source interface
38
- unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
39
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
40
- LocalSourceState &lstate) const override;
38
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
41
39
 
42
40
  bool IsSource() const override {
43
41
  return true;
@@ -45,8 +43,7 @@ public:
45
43
 
46
44
  public:
47
45
  // Sink interface
48
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
49
- DataChunk &input) const override;
46
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
50
47
  void Combine(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const override;
51
48
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
52
49
  GlobalSinkState &gstate) const override;
@@ -73,8 +70,7 @@ private:
73
70
  //! Combine the distinct aggregates
74
71
  void CombineDistinct(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const;
75
72
  //! Sink the distinct aggregates
76
- void SinkDistinct(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
77
- DataChunk &input) const;
73
+ void SinkDistinct(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const;
78
74
  };
79
75
 
80
76
  } // namespace duckdb
@@ -35,8 +35,7 @@ public:
35
35
  unique_ptr<LocalSourceState> GetLocalSourceState(ExecutionContext &context,
36
36
  GlobalSourceState &gstate) const override;
37
37
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
38
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
39
- LocalSourceState &lstate) const override;
38
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
40
39
 
41
40
  bool IsSource() const override {
42
41
  return true;
@@ -51,8 +50,7 @@ public:
51
50
 
52
51
  public:
53
52
  // Sink interface
54
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
55
- DataChunk &input) const override;
53
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
56
54
  void Combine(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const override;
57
55
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
58
56
  GlobalSinkState &gstate) const override;
@@ -21,8 +21,7 @@ public:
21
21
 
22
22
  public:
23
23
  // Sink interface
24
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
25
- DataChunk &input) const override;
24
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
26
25
  void Combine(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const override;
27
26
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
28
27
  GlobalSinkState &gstate) const override;
@@ -24,9 +24,7 @@ public:
24
24
 
25
25
  public:
26
26
  // Source interface
27
- unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
28
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
29
- LocalSourceState &lstate) const override;
27
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
30
28
 
31
29
  bool IsSource() const override {
32
30
  return true;
@@ -34,8 +32,7 @@ public:
34
32
 
35
33
  public:
36
34
  // Sink Interface
37
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
38
- DataChunk &input) const override;
35
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
39
36
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
40
37
  GlobalSinkState &gstate) const override;
41
38
 
@@ -35,8 +35,7 @@ public:
35
35
  public:
36
36
  // Source interface
37
37
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
38
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
39
- LocalSourceState &lstate) const override;
38
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
40
39
 
41
40
  bool IsSource() const override {
42
41
  return true;
@@ -44,8 +43,7 @@ public:
44
43
 
45
44
  public:
46
45
  // Sink Interface
47
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
48
- DataChunk &input) const override;
46
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
49
47
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
50
48
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
51
49
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
@@ -40,8 +40,7 @@ public:
40
40
  public:
41
41
  // Source interface
42
42
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
43
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
44
- LocalSourceState &lstate) const override;
43
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
45
44
 
46
45
  bool IsSource() const override {
47
46
  return true;
@@ -50,8 +49,7 @@ public:
50
49
  public:
51
50
  // Sink Interface
52
51
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
53
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
54
- DataChunk &input) const override;
52
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
55
53
 
56
54
  bool IsSink() const override {
57
55
  return true;
@@ -28,8 +28,7 @@ public:
28
28
 
29
29
  public:
30
30
  // Source interface
31
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
32
- LocalSourceState &lstate) const override;
31
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
33
32
 
34
33
  bool IsSource() const override {
35
34
  return true;
@@ -23,8 +23,7 @@ public:
23
23
 
24
24
  public:
25
25
  // Sink interface
26
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
27
- DataChunk &input) const override;
26
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
28
27
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
29
28
 
30
29
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
@@ -32,8 +32,7 @@ public:
32
32
 
33
33
  public:
34
34
  // Source interface
35
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
36
- LocalSourceState &lstate) const override;
35
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
37
36
 
38
37
  bool IsSource() const override {
39
38
  return true;
@@ -29,8 +29,7 @@ public:
29
29
 
30
30
  public:
31
31
  // Source interface
32
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
33
- LocalSourceState &lstate) const override;
32
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
34
33
 
35
34
  bool IsSource() const override {
36
35
  return true;
@@ -25,8 +25,7 @@ public:
25
25
 
26
26
  public:
27
27
  // Source interface
28
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
29
- LocalSourceState &lstate) const override;
28
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
30
29
 
31
30
  bool IsSource() const override {
32
31
  return true;
@@ -34,8 +33,7 @@ public:
34
33
 
35
34
  public:
36
35
  // Sink interface
37
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
38
- DataChunk &input) const override;
36
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
39
37
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
40
38
 
41
39
  bool ParallelSink() const override {
@@ -30,8 +30,7 @@ public:
30
30
 
31
31
  public:
32
32
  // Source interface
33
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
34
- LocalSourceState &lstate) const override;
33
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
35
34
 
36
35
  bool IsSource() const override {
37
36
  return true;
@@ -30,8 +30,7 @@ public:
30
30
 
31
31
  public:
32
32
  // Source interface
33
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
34
- LocalSourceState &lstate) const override;
33
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
35
34
 
36
35
  bool IsSource() const override {
37
36
  return true;
@@ -27,8 +27,7 @@ public:
27
27
  unique_ptr<TransactionInfo> info;
28
28
 
29
29
  public:
30
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
31
- LocalSourceState &lstate) const override;
30
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
32
31
 
33
32
  bool IsSource() const override {
34
33
  return true;
@@ -26,8 +26,7 @@ public:
26
26
 
27
27
  public:
28
28
  // Source interface
29
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
30
- LocalSourceState &lstate) const override;
29
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
31
30
 
32
31
  bool IsSource() const override {
33
32
  return true;
@@ -38,8 +37,7 @@ public:
38
37
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
39
38
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
40
39
 
41
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &gstate_p, LocalSinkState &lstate_p,
42
- DataChunk &input) const override;
40
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
43
41
  void Combine(ExecutionContext &context, GlobalSinkState &gstate_p, LocalSinkState &lstate_p) const override;
44
42
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
45
43
  GlobalSinkState &gstate) const override;
@@ -55,8 +55,7 @@ public:
55
55
  unique_ptr<LocalSourceState> GetLocalSourceState(ExecutionContext &context,
56
56
  GlobalSourceState &gstate) const override;
57
57
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
58
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
59
- LocalSourceState &lstate) const override;
58
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
60
59
 
61
60
  bool IsSource() const override {
62
61
  return IsRightOuterJoin(join_type);
@@ -69,8 +68,7 @@ public:
69
68
  // Sink Interface
70
69
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
71
70
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
72
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
73
- DataChunk &input) const override;
71
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
74
72
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
75
73
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
76
74
  GlobalSinkState &gstate) const override;
@@ -44,8 +44,7 @@ public:
44
44
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
45
45
  unique_ptr<LocalSourceState> GetLocalSourceState(ExecutionContext &context,
46
46
  GlobalSourceState &gstate) const override;
47
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
48
- LocalSourceState &lstate) const override;
47
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
49
48
 
50
49
  bool IsSource() const override {
51
50
  return IsRightOuterJoin(join_type);
@@ -58,8 +57,7 @@ public:
58
57
  // Sink interface
59
58
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
60
59
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
61
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
62
- DataChunk &input) const override;
60
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
63
61
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
64
62
  GlobalSinkState &gstate) const override;
65
63
 
@@ -40,8 +40,7 @@ protected:
40
40
  public:
41
41
  // Sink Interface
42
42
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
43
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
44
- DataChunk &input) const override;
43
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
45
44
 
46
45
  bool IsSink() const override {
47
46
  return true;
@@ -34,8 +34,7 @@ public:
34
34
  public:
35
35
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
36
36
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
37
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
38
- DataChunk &input) const override;
37
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
39
38
  void Combine(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const override;
40
39
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
41
40
  GlobalSinkState &gstate) const override;
@@ -62,8 +62,7 @@ protected:
62
62
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
63
63
  unique_ptr<LocalSourceState> GetLocalSourceState(ExecutionContext &context,
64
64
  GlobalSourceState &gstate) const override;
65
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
66
- LocalSourceState &lstate) const override;
65
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
67
66
 
68
67
  //! Becomes a source when it is an external join
69
68
  bool IsSource() const override {
@@ -79,8 +78,7 @@ public:
79
78
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
80
79
 
81
80
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
82
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
83
- DataChunk &input) const override;
81
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
84
82
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
85
83
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
86
84
  GlobalSinkState &gstate) const override;
@@ -37,8 +37,7 @@ public:
37
37
  unique_ptr<LocalSourceState> GetLocalSourceState(ExecutionContext &context,
38
38
  GlobalSourceState &gstate) const override;
39
39
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
40
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
41
- LocalSourceState &lstate) const override;
40
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
42
41
 
43
42
  bool IsSource() const override {
44
43
  return true;
@@ -51,8 +50,7 @@ public:
51
50
  // Sink Interface
52
51
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
53
52
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
54
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
55
- DataChunk &input) const override;
53
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
56
54
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
57
55
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
58
56
  GlobalSinkState &gstate) const override;
@@ -40,8 +40,7 @@ public:
40
40
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
41
41
  unique_ptr<LocalSourceState> GetLocalSourceState(ExecutionContext &context,
42
42
  GlobalSourceState &gstate) const override;
43
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
44
- LocalSourceState &lstate) const override;
43
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
45
44
 
46
45
  bool IsSource() const override {
47
46
  return IsRightOuterJoin(join_type);
@@ -54,8 +53,7 @@ public:
54
53
  // Sink Interface
55
54
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
56
55
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
57
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
58
- DataChunk &input) const override;
56
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
59
57
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
60
58
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
61
59
  GlobalSinkState &gstate) const override;
@@ -46,8 +46,7 @@ protected:
46
46
  public:
47
47
  // Source interface
48
48
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
49
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
50
- LocalSourceState &lstate) const override;
49
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
51
50
 
52
51
  bool IsSource() const override {
53
52
  return IsRightOuterJoin(join_type);
@@ -60,8 +59,7 @@ public:
60
59
  // Sink Interface
61
60
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
62
61
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
63
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
64
- DataChunk &input) const override;
62
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
65
63
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
66
64
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
67
65
  GlobalSinkState &gstate) const override;
@@ -29,8 +29,7 @@ public:
29
29
 
30
30
  public:
31
31
  // Source interface
32
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
33
- LocalSourceState &lstate) const override;
32
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
34
33
 
35
34
  bool IsSource() const override {
36
35
  return true;
@@ -39,8 +38,7 @@ public:
39
38
  public:
40
39
  // Sink Interface
41
40
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
42
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
43
- DataChunk &input) const override;
41
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
44
42
 
45
43
  bool IsSink() const override {
46
44
  return true;
@@ -35,8 +35,7 @@ public:
35
35
  unique_ptr<LocalSourceState> GetLocalSourceState(ExecutionContext &context,
36
36
  GlobalSourceState &gstate) const override;
37
37
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
38
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
39
- LocalSourceState &lstate) const override;
38
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
40
39
  idx_t GetBatchIndex(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
41
40
  LocalSourceState &lstate) const override;
42
41
 
@@ -60,8 +59,7 @@ public:
60
59
  // Sink interface
61
60
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
62
61
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
63
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &gstate_p, LocalSinkState &lstate_p,
64
- DataChunk &input) const override;
62
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
65
63
  void Combine(ExecutionContext &context, GlobalSinkState &gstate_p, LocalSinkState &lstate_p) const override;
66
64
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
67
65
  GlobalSinkState &gstate) const override;
@@ -31,8 +31,7 @@ public:
31
31
  public:
32
32
  // Source interface
33
33
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
34
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
35
- LocalSourceState &lstate) const override;
34
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
36
35
 
37
36
  bool IsSource() const override {
38
37
  return true;
@@ -42,8 +41,7 @@ public:
42
41
  }
43
42
 
44
43
  public:
45
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
46
- DataChunk &input) const override;
44
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
47
45
  void Combine(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const override;
48
46
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
49
47
  GlobalSinkState &gstate) const override;
@@ -42,9 +42,7 @@ public:
42
42
 
43
43
  public:
44
44
  // Source interface
45
- unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
46
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
47
- LocalSourceState &lstate) const override;
45
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
48
46
 
49
47
  bool IsSource() const override {
50
48
  return true;
@@ -54,8 +52,8 @@ public:
54
52
  // Sink interface
55
53
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
56
54
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
57
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
58
- DataChunk &input) const override;
55
+ void NextBatch(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate_p) const override;
56
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
59
57
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
60
58
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
61
59
  GlobalSinkState &gstate) const override;
@@ -41,9 +41,7 @@ public:
41
41
 
42
42
  public:
43
43
  // Source interface
44
- unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
45
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
46
- LocalSourceState &lstate) const override;
44
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
47
45
 
48
46
  bool IsSource() const override {
49
47
  return true;
@@ -51,8 +49,7 @@ public:
51
49
 
52
50
  public:
53
51
  // Sink interface
54
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate,
55
- DataChunk &input) const override;
52
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
56
53
  void Combine(ExecutionContext &context, GlobalSinkState &gstate, LocalSinkState &lstate) const override;
57
54
  SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context,
58
55
  GlobalSinkState &gstate) const override;
@@ -33,8 +33,7 @@ public:
33
33
  public:
34
34
  // Source interface
35
35
  unique_ptr<GlobalSourceState> GetGlobalSourceState(ClientContext &context) const override;
36
- void GetData(ExecutionContext &context, DataChunk &chunk, GlobalSourceState &gstate,
37
- LocalSourceState &lstate) const override;
36
+ SourceResultType GetData(ExecutionContext &context, DataChunk &chunk, OperatorSourceInput &input) const override;
38
37
 
39
38
  bool IsSource() const override {
40
39
  return true;
@@ -44,8 +43,7 @@ public:
44
43
  // Sink interface
45
44
  unique_ptr<GlobalSinkState> GetGlobalSinkState(ClientContext &context) const override;
46
45
  unique_ptr<LocalSinkState> GetLocalSinkState(ExecutionContext &context) const override;
47
- SinkResultType Sink(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate,
48
- DataChunk &input) const override;
46
+ SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override;
49
47
 
50
48
  bool IsSink() const override {
51
49
  return true;