2022-04-03 12:27:35 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "Node.h"
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
|
|
namespace sqlast {
|
|
|
|
|
|
|
|
|
|
class Expression;
|
|
|
|
|
|
|
|
|
|
class SelectItem : public Node
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
explicit SelectItem(std::unique_ptr<sqlast::Expression> expr);
|
|
|
|
|
|
|
|
|
|
Expression& GetExpression() { return *expression; }
|
|
|
|
|
|
|
|
|
|
void SetAlias(const std::string &alias);
|
|
|
|
|
std::string GetAlias() const { return alias; }
|
2022-04-07 19:35:29 +02:00
|
|
|
|
|
|
|
|
void Accept(NodeVisitor &visitor) override;
|
2022-04-03 12:27:35 +02:00
|
|
|
private:
|
|
|
|
|
std::unique_ptr<Expression> expression;
|
|
|
|
|
std::string alias;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|