34 lines
523 B
C
34 lines
523 B
C
|
|
#ifndef SQLASTSELECTLIST_H
|
|||
|
|
#define SQLASTSELECTLIST_H
|
|||
|
|
|
|||
|
|
#include "SqlAstNode.h"
|
|||
|
|
#include <memory>
|
|||
|
|
#include <vector>
|
|||
|
|
|
|||
|
|
class SqlParser;
|
|||
|
|
|
|||
|
|
namespace SqlAst {
|
|||
|
|
|
|||
|
|
class SelectListEntry;
|
|||
|
|
|
|||
|
|
class SelectList: public Node {
|
|||
|
|
public:
|
|||
|
|
using EntrySPtr = std::shared_ptr<SelectListEntry>;
|
|||
|
|
|
|||
|
|
void add(EntrySPtr entry)
|
|||
|
|
{
|
|||
|
|
entryList.push_back(entry);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
using EntryList = std::vector<EntrySPtr>;
|
|||
|
|
|
|||
|
|
EntryList entryList;
|
|||
|
|
};
|
|||
|
|
|
|||
|
|
std::shared_ptr<SqlAst::SelectList> parseSelectList(SqlParser &parser);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
#endif // SQLASTSELECTLIST_H
|