system catalogue initial version
This commit is contained in:
14
usql/usql.h
14
usql/usql.h
@@ -11,16 +11,16 @@
|
||||
namespace usql {
|
||||
|
||||
class USql {
|
||||
|
||||
|
||||
public:
|
||||
USql() = default;
|
||||
|
||||
USql();
|
||||
std::unique_ptr<Table> execute(const std::string &command);
|
||||
|
||||
private:
|
||||
std::unique_ptr<Table> execute(Node &node);
|
||||
|
||||
std::unique_ptr<Table> execute_create_table(const CreateTableNode &node);
|
||||
bool execute_create_table_sys_catalogue(const CreateTableNode &node);
|
||||
std::unique_ptr<Table> execute_create_index(const CreateIndexNode &node);
|
||||
std::unique_ptr<Table> execute_create_table_as_table(const CreateTableAsSelectNode &node);
|
||||
std::unique_ptr<Table> execute_load(const LoadIntoTableNode &node);
|
||||
@@ -59,9 +59,6 @@ private:
|
||||
void check_index_not_exists(const std::string &index_name);
|
||||
|
||||
private:
|
||||
Parser m_parser;
|
||||
std::list<Table> m_tables;
|
||||
|
||||
static void execute_distinct(SelectFromTableNode &node, Table *result);
|
||||
static void execute_order_by(SelectFromTableNode &node, Table *result);
|
||||
static void execute_offset_limit(OffsetLimitNode &node, Table *result);
|
||||
@@ -97,6 +94,11 @@ private:
|
||||
bool normalize_where(const Node *node) const;
|
||||
|
||||
Table::rows_scanner get_iterator(Table *table, const Node *where) const;
|
||||
|
||||
|
||||
private:
|
||||
Parser m_parser;
|
||||
std::list<Table> m_tables;
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user