File tree Expand file tree Collapse file tree 5 files changed +15537
-14632
lines changed
src/main/java/org/springframework/ide/vscode/parser/postgresql
spring-boot-language-server/src/test/java/org/springframework/ide/vscode/boot/java/data/jpa/queries Expand file tree Collapse file tree 5 files changed +15537
-14632
lines changed Original file line number Diff line number Diff line change @@ -127,6 +127,18 @@ TYPECAST: '::';
127127PERCENT : ' %' ;
128128
129129PARAM : ' $' ([0-9])+;
130+
131+ // JSON/JSONB operators
132+ JSON_EXTRACT : ' ->' ;
133+ JSON_EXTRACT_TEXT : ' ->>' ;
134+ JSON_PATH_EXTRACT : ' #>' ;
135+ JSON_PATH_EXTRACT_TEXT : ' #>>' ;
136+ JSONB_CONTAINS : ' @>' ;
137+ JSONB_CONTAINED : ' <@' ;
138+ JSONB_DELETE_PATH : ' #-' ;
139+ JSONB_EXISTS_ANY : ' ?|' ;
140+ JSONB_EXISTS_ALL : ' ?&' ;
141+
130142//
131143
132144// OPERATORS (4.1.3)
@@ -144,7 +156,7 @@ Operator:
144156 )+
145157 | // special handling for the single-character operators + and -
146158 [+-]
147- | (' ?#' | ' ?-' | ' ?-|' | ' ?|' | ' ?| |' | ' <?>' )
159+ | (' ?#' | ' ?-' | ' ?-|' | ' ?||' | ' <?>' )
148160 )
149161 // TODO somehow rewrite this part without using Actions
150162 {
Original file line number Diff line number Diff line change @@ -2115,6 +2115,16 @@ oper_argtypes
21152115
21162116any_operator
21172117 : (colid DOT )* all_op
2118+ | JSON_EXTRACT
2119+ | JSON_EXTRACT_TEXT
2120+ | JSON_PATH_EXTRACT
2121+ | JSON_PATH_EXTRACT_TEXT
2122+ | JSONB_CONTAINS
2123+ | JSONB_CONTAINED
2124+ | JSONB_DELETE_PATH
2125+ | JSONB_EXISTS_ANY
2126+ | JSONB_EXISTS_ALL
2127+ | QUESTION
21182128 ;
21192129
21202130operator_with_argtypes_list
@@ -3953,6 +3963,16 @@ mathop
39533963qual_op
39543964 : Operator
39553965 | OPERATOR OPEN_PAREN any_operator CLOSE_PAREN
3966+ | JSON_EXTRACT
3967+ | JSON_EXTRACT_TEXT
3968+ | JSON_PATH_EXTRACT
3969+ | JSON_PATH_EXTRACT_TEXT
3970+ | JSONB_CONTAINS
3971+ | JSONB_CONTAINED
3972+ | JSONB_DELETE_PATH
3973+ | JSONB_EXISTS_ANY
3974+ | JSONB_EXISTS_ALL
3975+ | QUESTION
39563976 ;
39573977
39583978qual_all_op
You can’t perform that action at this time.
0 commit comments