1//===----------------------------------------------------------------------===//
2// DuckDB
3//
4// duckdb/execution/operator/scan/physical_expression_scan.hpp
5//
6//
7//===----------------------------------------------------------------------===//
8
9#pragma once
10
11#include "duckdb/common/types/chunk_collection.hpp"
12#include "duckdb/execution/physical_operator.hpp"
13
14namespace duckdb {
15
16//! The PhysicalExpressionScan scans a set of expressions
17class PhysicalExpressionScan : public PhysicalOperator {
18public:
19 PhysicalExpressionScan(vector<TypeId> types, vector<vector<unique_ptr<Expression>>> expressions)
20 : PhysicalOperator(PhysicalOperatorType::EXPRESSION_SCAN, types), expressions(move(expressions)) {
21 }
22
23 //! The set of expressions to scan
24 vector<vector<unique_ptr<Expression>>> expressions;
25
26public:
27 void GetChunkInternal(ClientContext &context, DataChunk &chunk, PhysicalOperatorState *state) override;
28 unique_ptr<PhysicalOperatorState> GetOperatorState() override;
29};
30
31} // namespace duckdb
32