work on settings (set and show), perf improvement when adding row into table

This commit is contained in:
2021-08-09 14:15:42 +02:00
parent 474b789d12
commit 710531c455
13 changed files with 124 additions and 49 deletions

View File

@@ -38,6 +38,8 @@ namespace usql {
load_table,
save_table,
drop_table,
set,
show,
column_name,
offset_limit,
column_order,
@@ -323,6 +325,21 @@ namespace usql {
Node(NodeType::delete_from), table_name(name), where(std::move(where_clause)) {}
};
struct SetNode : Node {
std::string name;
std::string value;
SetNode(const std::string& name_, const std::string& value_) :
Node(NodeType::set), name(name_), value(value_) {}
};
struct ShowNode : Node {
std::string name;
ShowNode(const std::string& name_) : Node(NodeType::show), name(name_) {}
};
class Parser {
private:
@@ -334,9 +351,11 @@ namespace usql {
private:
std::unique_ptr<Node> parse_create_table();
std::unique_ptr<Node> parse_drop_table();
std::unique_ptr<Node> parse_load_table();
std::unique_ptr<Node> parse_save_table();
std::unique_ptr<Node> parse_drop_table();
std::unique_ptr<Node> parse_set();
std::unique_ptr<Node> parse_show();
std::unique_ptr<Node> parse_insert_into_table();
std::unique_ptr<Node> parse_select_from_table();
@@ -352,11 +371,10 @@ namespace usql {
RelationalOperatorType parse_relational_operator();
LogicalOperatorType parse_logical_operator();
ArithmeticalOperatorType parse_arithmetical_operator();
std::unique_ptr<Node> parse_relational_expression();
private:
Lexer m_lexer;
std::unique_ptr<Node> parse_relational_expression();
};
}