Skip to content

Commit 6ecec08

Browse files
author
Dray Lacy
committed
Added HAVING clauses.
1 parent 9731ed0 commit 6ecec08

File tree

5 files changed

+474
-440
lines changed

5 files changed

+474
-440
lines changed

lib/sql/parser.racc

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ rule
2020
| value_expression
2121

2222
table_expression
23-
: from_clause where_clause group_by_clause { result = SQL::Statement::TableExpression.new(val[0], val[1], val[2]) }
23+
: from_clause where_clause group_by_clause having_clause { result = SQL::Statement::TableExpression.new(val[0], val[1], val[2], val[3]) }
2424

2525
from_clause
2626
: FROM table_reference { result = SQL::Statement::FromClause.new(val[1]) }
@@ -43,6 +43,10 @@ rule
4343
grouping_column_reference
4444
: column_reference
4545

46+
having_clause
47+
: # no action
48+
| HAVING search_condition { result = SQL::Statement::HavingClause.new(val[1]) }
49+
4650
# query expression components
4751
between_predicate
4852
: row_value_constructor NOT BETWEEN row_value_constructor AND row_value_constructor { result = SQL::Statement::Not.new(SQL::Statement::Between.new(val[0], val[3], val[5])) }

0 commit comments

Comments
 (0)