//===----------------------------------------------------------------------===// // DuckDB // // duckdb/execution/operator/helper/physical_batch_collector.hpp // // //===----------------------------------------------------------------------===// #pragma once #include "duckdb/execution/operator/helper/physical_result_collector.hpp" namespace duckdb { class PhysicalBatchCollector : public PhysicalResultCollector { public: PhysicalBatchCollector(PreparedStatementData &data); public: unique_ptr GetResult(GlobalSinkState &state) override; public: // Sink interface SinkResultType Sink(ExecutionContext &context, DataChunk &chunk, OperatorSinkInput &input) const override; void Combine(ExecutionContext &context, GlobalSinkState &state, LocalSinkState &lstate) const override; SinkFinalizeType Finalize(Pipeline &pipeline, Event &event, ClientContext &context, GlobalSinkState &gstate) const override; unique_ptr GetLocalSinkState(ExecutionContext &context) const override; unique_ptr GetGlobalSinkState(ClientContext &context) const override; bool RequiresBatchIndex() const override { return true; } bool IsSink() const override { return true; } bool ParallelSink() const override { return true; } }; } // namespace duckdb