%token SHOW TABLES CREATE TABLE DROP DESC INSERT INTO VALUES DELETE FROM ASC ORDER BY
WHERE UPDATE SET SELECT INT CHAR FLOAT INDEX AND JOIN EXIT HELP TXN_BEGIN TXN_COMMIT TXN_ABORT TXN_ROLLBACK ORDER_BY ENABLE_NESTLOOP ENABLE_SORTMERGE
WHERE UPDATE SET SELECT INT CHAR FLOAT INDEX AND JOIN EXIT HELP TXN_BEGIN TXN_COMMIT TXN_ABORT TXN_ROLLBACK ORDER_BY ENABLE_NESTLOOP ENABLE_SORTMERGE COUNT SUM MAX MIN AS GROUPBY HAVING
// non-keywords
%token LEQ NEQ GEQ T_EOF
...
...
@@ -41,7 +41,7 @@ WHERE UPDATE SET SELECT INT CHAR FLOAT INDEX AND JOIN EXIT HELP TXN_BEGIN TXN_CO
%type <sv_expr> expr
%type <sv_val> value
%type <sv_vals> valueList
%type <sv_str> tbName colName
%type <sv_str> tbName colName otherName
%type <sv_strs> tableList colNameList
%type <sv_col> col
%type <sv_cols> colList selector
...
...
@@ -52,7 +52,13 @@ WHERE UPDATE SET SELECT INT CHAR FLOAT INDEX AND JOIN EXIT HELP TXN_BEGIN TXN_CO
%type <sv_orderby> order_clause opt_order_clause
%type <sv_orderby_dir> opt_asc_desc
%type <sv_setKnobType> set_knob_type
%type <sv_target> target
%type <sv_aggregates> aggregates
%type <sv_aggregate> aggregate
%type <sv_aggregate_type> aggregate_type
%type <sv_cols> group_by_list
%type <sv_having> having_expr
%type <sv_havings> having_exprs
%%
start:
stmt ';'
...
...
@@ -154,14 +160,34 @@ dml:
{
$$ = std::make_shared<UpdateStmt>($2, $4, $5);
}
| SELECT selector FROM tableList optWhereClause opt_order_clause
| SHOW INDEX FROM tbName
{
$$ = std::make_shared<ShowIndex>($4);
}
| SELECT target FROM tableList optWhereClause opt_order_clause