Skip to content

Commit 251cc3c

Browse files
committed
fixes #1482
1 parent 4df1391 commit 251cc3c

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-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
@@ -5104,7 +5104,7 @@ ColDataType ColDataType():
51045104
| tk=<K_DOUBLE> [LOOKAHEAD(2) tk2=<K_PRECISION>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
51055105
| ( tk=<S_IDENTIFIER> | tk=<S_QUOTED_IDENTIFIER> | tk=<K_DATETIMELITERAL> | tk=<K_DATE_LITERAL> | tk=<K_XML> | tk=<K_INTERVAL>
51065106
| tk=<DT_ZONE> | tk=<K_CHAR> | tk=<K_SET> | tk=<K_BINARY> | tk=<K_JSON> )
5107-
[ "." tk2=<S_IDENTIFIER> ]
5107+
[ "." (tk2=<S_IDENTIFIER> | tk2=<S_QUOTED_IDENTIFIER>) ]
51085108
{ if (tk2!=null) colDataType.setDataType(tk.image + "." + tk2.image); else colDataType.setDataType(tk.image); }
51095109
| tk=<K_UNSIGNED> [LOOKAHEAD(2) tk2=<S_IDENTIFIER>]
51105110
{ if (tk2!=null) colDataType.setDataType(tk.image + " " + tk2.image); else colDataType.setDataType(tk.image); }

src/test/java/net/sf/jsqlparser/parser/CCJSqlParserUtilTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,4 +253,16 @@ public void testParseStatementIssue1250() throws Exception {
253253
Statement result = CCJSqlParserUtil.parse("Select test.* from (Select * from sch.PERSON_TABLE // root test\n) as test");
254254
assertEquals("SELECT test.* FROM (SELECT * FROM sch.PERSON_TABLE) AS test", result.toString());
255255
}
256+
257+
@Test
258+
public void testCondExpressionIssue1482() throws JSQLParserException {
259+
Expression expr = CCJSqlParserUtil.parseCondExpression("test_table_enum.f1_enum IN ('TEST2'::test.test_enum)", false);
260+
assertEquals("test_table_enum.f1_enum IN ('TEST2'::test.test_enum)", expr.toString());
261+
}
262+
263+
@Test
264+
public void testCondExpressionIssue1482_2() throws JSQLParserException {
265+
Expression expr = CCJSqlParserUtil.parseCondExpression("test_table_enum.f1_enum IN ('TEST2'::test.\"test_enum\")", false);
266+
assertEquals("test_table_enum.f1_enum IN ('TEST2'::test.\"test_enum\")", expr.toString());
267+
}
256268
}

0 commit comments

Comments
 (0)