#pragma once
#include "binder/bound_statement.h"
#include "bound_table_scan_info.h"
namespace lbug {
namespace binder {
class BoundStandaloneCallFunction final : public BoundStatement {
static constexpr common::StatementType statementType =
common::StatementType::STANDALONE_CALL_FUNCTION;
public:
explicit BoundStandaloneCallFunction(BoundTableScanInfo info)
: BoundStatement{statementType, BoundStatementResult::createEmptyResult()},
info{std::move(info)} {}
const function::TableFunction& getTableFunction() const {
DASSERT(info.func.has_value());
return *info.func;
}
const function::TableFuncBindData* getBindData() const { return info.bindData.get(); }
private:
BoundTableScanInfo info;
};
} }