Skip to content

Commit dbbcebb

Browse files
Add supported for quoted cast expressions for PostgreSQL (#1411)
Co-authored-by: EverSQL <[email protected]>
1 parent f35d24c commit dbbcebb

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5021,7 +5021,7 @@ ColDataType ColDataType():
50215021
(
50225022
(tk=<K_CHARACTER> | tk=<K_BIT>) [tk2=<K_VARYING>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
50235023
| tk=<K_DOUBLE> [LOOKAHEAD(2) tk2=<K_PRECISION>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
5024-
| ( tk=<S_IDENTIFIER> | tk=<K_DATETIMELITERAL> | tk=<K_DATE_LITERAL> | tk=<K_XML> | tk=<K_INTERVAL>
5024+
| ( tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER> | tk=<K_DATETIMELITERAL> | tk=<K_DATE_LITERAL> | tk=<K_XML> | tk=<K_INTERVAL>
50255025
| tk=<DT_ZONE> | tk=<K_CHAR> | tk=<K_SET> | tk=<K_BINARY> | tk=<K_JSON> )
50265026
[ "." tk2=<S_IDENTIFIER> ]
50275027
{ if (tk2!=null) colDataType.setDataType(tk.image + "." + tk2.image); else colDataType.setDataType(tk.image); }

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1166,6 +1166,11 @@ public void testNamedParametersPR702_2() throws JSQLParserException {
11661166
assertSqlCanBeParsedAndDeparsed("SELECT substring(id from 2 for 3) FROM mytable");
11671167
}
11681168

1169+
@Test
1170+
public void testQuotedCastExpression() throws JSQLParserException {
1171+
assertSqlCanBeParsedAndDeparsed("SELECT col FROM test WHERE status = CASE WHEN anothercol = 5 THEN 'pending'::\"enum_test\" END");
1172+
}
1173+
11691174
@Test
11701175
public void testWhere() throws JSQLParserException {
11711176

0 commit comments

Comments
 (0)