#pragma once
#include "planner/operator/logical_operator.h"
namespace lbug {
namespace planner {
class LogicalNoop : public LogicalOperator {
static constexpr LogicalOperatorType type_ = LogicalOperatorType::NOOP;
public:
explicit LogicalNoop(common::idx_t messageChildIdx,
std::vector<std::shared_ptr<LogicalOperator>> children)
: LogicalOperator{type_, {std::move(children)}}, messageChildIdx{messageChildIdx} {}
void computeFactorizedSchema() override { createEmptySchema(); }
void computeFlatSchema() override { createEmptySchema(); }
common::idx_t getMessageChildIdx() const { return messageChildIdx; }
std::string getExpressionsForPrinting() const override { return ""; }
std::unique_ptr<LogicalOperator> copy() override {
return std::make_unique<LogicalNoop>(messageChildIdx, copyVector(children));
}
private:
common::idx_t messageChildIdx;
};
} }