Skip to content

Commit 47904c5

Browse files
committed
Some operator precedence fixes
1 parent 1ad9a6d commit 47904c5

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

sql.pegjs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,15 @@ value =
149149

150150
expr =
151151
whitespace
152-
( value
153-
/ ( value binary_operator expr )
152+
( ( value binary_operator expr )
154153
/ ( value COLLATE collation_name )
155154
/ ( value NOT ? ( LIKE / GLOB / REGEXP / MATCH ) expr ( ESCAPE expr )? )
156155
/ ( value ( ISNULL / NOTNULL / ( NOT NULL ) ) )
157156
/ ( value IS NOT ? expr )
158157
/ ( value NOT ? BETWEEN expr AND expr )
159158
/ ( value NOT ? IN ( ( lparen ( select_stmt / ( expr comma )+ )? rparen )
160-
/ ( ( database_name dot )? table_name ) ) ) )
159+
/ ( ( database_name dot )? table_name ) ) )
160+
/ value )
161161

162162
raise_function =
163163
( RAISE lparen ( IGNORE / ( ( ROLLBACK / ABORT / FAIL ) comma error_message ) ) rparen )
@@ -281,7 +281,8 @@ binary_operator =
281281
/ '*' / '/' / '%'
282282
/ '+' / '-'
283283
/ '<<' / '>>' / '&' / '|'
284-
/ '<' / '<=' / '>' / '>='
284+
/ '<=' / '>='
285+
/ '<' / '>'
285286
/ '=' / '==' / '!=' / '<>'
286287
/ 'IS' / 'IS NOT' / 'IN' / 'LIKE' / 'GLOB' / 'MATCH' / 'REGEXP'
287288
/ 'AND'

0 commit comments

Comments
 (0)