Skip to content

Commit 1a9173f

Browse files
committed
fixes #1140
1 parent aa304d6 commit 1a9173f

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -734,7 +734,7 @@ ResetStatement Reset(): {
734734
Token all;
735735
}
736736
{
737-
<K_RESET> ( LOOKAHEAD(2) <K_DATETIMELITERAL> <K_ZONE> {name = "Time Zone"; } | name = RelObjectNameExt() | all = <K_ALL> {name = all.image; } )
737+
<K_RESET> ( LOOKAHEAD(2) <K_DATETIMELITERAL> <K_ZONE> {name = "Time Zone"; } | name = RelObjectName() | all = <K_ALL> {name = all.image; } )
738738
{ reset = new ResetStatement(name); }
739739
{ return reset; }
740740
}
@@ -1473,7 +1473,7 @@ String RelObjectNameExt():
14731473
String result=null;
14741474
}
14751475
{
1476-
( result=RelObjectName() | tk=<K_LEFT> | tk=<K_RIGHT> | tk=<K_SET>
1476+
( result=RelObjectName() | tk=<K_ALL> | tk=<K_LEFT> | tk=<K_RIGHT> | tk=<K_SET>
14771477
| tk=<K_DOUBLE> | tk=<K_IF> | tk=<K_IIF> | tk=<K_OPTIMIZE> | tk=<K_LIMIT>
14781478
| tk=<K_OFFSET> | tk=<K_PROCEDURE> | tk=<K_PUBLIC>
14791479
| tk=<K_CASEWHEN> | tk=<K_IN> )
@@ -3194,7 +3194,7 @@ Expression ComparisonItem() :
31943194
}
31953195
{
31963196
(
3197-
retval=AllComparisonExpression()
3197+
LOOKAHEAD(3) retval=AllComparisonExpression()
31983198
| LOOKAHEAD(3) retval=AnyComparisonExpression()
31993199
| LOOKAHEAD(ValueListExpression()) retval=ValueListExpression()
32003200
| LOOKAHEAD(3) retval=SimpleExpression()
@@ -4531,7 +4531,7 @@ ColDataType ColDataType():
45314531
| tk=<K_SIGNED> { colDataType.setDataType(tk.image);}
45324532
)
45334533

4534-
[LOOKAHEAD(2) "(" {tk2 =null;} ( (tk=<S_LONG> [ tk2=<K_BYTE> | tk2=<K_CHAR> ] | tk=<S_CHAR_LITERAL> | tk=<S_IDENTIFIER> | tk=<K_CHAR> )
4534+
[LOOKAHEAD(2) "(" {tk2 =null;} ( ( ( tk=<S_LONG> [ LOOKAHEAD(2) (tk2=<K_BYTE> | tk2=<K_CHAR>) ] ) | tk=<S_CHAR_LITERAL> | tk=<S_IDENTIFIER> | tk=<K_CHAR> )
45354535
{ argumentsStringList.add(tk.image + (tk2!=null?" " + tk2.image:"")); } ["," {/*argumentsStringList.add(",");*/}] )* ")"]
45364536
[( "[" {tk=null;} [ tk=<S_LONG> ] { array.add(tk!=null?Integer.valueOf(tk.image):null); } "]" )+ { colDataType.setArrayData(array); } ]
45374537
[LOOKAHEAD(2) <K_CHARACTER> <K_SET> tk=<S_IDENTIFIER> { colDataType.setCharacterSet(tk.image); } ]

src/test/java/net/sf/jsqlparser/statement/select/SelectTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4629,4 +4629,13 @@ public void testMissinBracketsNestedInIssue() throws JSQLParserException {
46294629
assertSqlCanBeParsedAndDeparsed("SELECT COUNT(DISTINCT CASE WHEN room IN (11167, 12074, 4484, 4483, 6314, 11168, 10336, 16445, 13176, 13177, 13178) THEN uid END) AS uidCount from tableName", true);
46304630
}
46314631

4632+
@Test
4633+
public void testSelectAllOperatorIssue1140() throws JSQLParserException {
4634+
assertSqlCanBeParsedAndDeparsed("SELECT * FROM table t0 WHERE t0.id != all(5)");
4635+
}
4636+
4637+
@Test
4638+
public void testSelectAllOperatorIssue1140_2() throws JSQLParserException {
4639+
assertSqlCanBeParsedAndDeparsed("SELECT * FROM table t0 WHERE t0.id != all(?::uuid[])");
4640+
}
46324641
}

0 commit comments

Comments
 (0)