work on settings (set and show), perf improvement when adding row into table
This commit is contained in:
24
parser.h
24
parser.h
@@ -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();
|
||||
};
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user