Skip to content

Commit 7234de1

Browse files
Kunal-JhaKunal Jha
andauthored
bug fix (#769)
Co-authored-by: Kunal Jha <kjha@zalando-11116.corp.ad.zalando.net>
1 parent 089fc44 commit 7234de1

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2212,8 +2212,8 @@ KSQLJoinWindow JoinWindow():
22122212
Token afterTimeUnitToken = null;
22132213
}
22142214
{
2215-
(beforeDurationToken=<S_LONG> beforeTimeUnitToken=<S_IDENTIFIER>
2216-
[ "," afterDurationToken=<S_LONG> afterTimeUnitToken=<S_IDENTIFIER> ]
2215+
(beforeDurationToken=<S_LONG> (beforeTimeUnitToken=<S_IDENTIFIER> | beforeTimeUnitToken=<K_DATE_LITERAL>)
2216+
[ "," afterDurationToken=<S_LONG> (afterTimeUnitToken=<S_IDENTIFIER> | afterTimeUnitToken=<K_DATE_LITERAL>) ]
22172217
{
22182218
if (afterDurationToken == null) {
22192219
retval.setDuration(Long.parseLong(beforeDurationToken.image));

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void testKSQLBeforeAfterWindowedJoin() throws Exception {
5858
sql = "SELECT *\n"
5959
+ "FROM table1 t1\n"
6060
+ "INNER JOIN table2 t2\n"
61-
+ "WITHIN (2 MINUTES, 5 MINUTES)\n"
61+
+ "WITHIN (1 MINUTE, 5 MINUTES)\n"
6262
+ "ON t1.id = t2.id\n";
6363

6464
statement = CCJSqlParserUtil.parse(sql);
@@ -71,8 +71,8 @@ public void testKSQLBeforeAfterWindowedJoin() throws Exception {
7171
assertEquals("table2", ((Table) plainSelect.getJoins().get(0).getRightItem()).
7272
getFullyQualifiedName());
7373
assertTrue(plainSelect.getJoins().get(0).isWindowJoin());
74-
assertEquals(2L, plainSelect.getJoins().get(0).getJoinWindow().getBeforeDuration());
75-
assertEquals("MINUTES", plainSelect.getJoins().get(0).getJoinWindow().getBeforeTimeUnit().toString());
74+
assertEquals(1L, plainSelect.getJoins().get(0).getJoinWindow().getBeforeDuration());
75+
assertEquals("MINUTE", plainSelect.getJoins().get(0).getJoinWindow().getBeforeTimeUnit().toString());
7676
assertEquals(5L, plainSelect.getJoins().get(0).getJoinWindow().getAfterDuration());
7777
assertEquals("MINUTES", plainSelect.getJoins().get(0).getJoinWindow().getAfterTimeUnit().toString());
7878
assertTrue(plainSelect.getJoins().get(0).getJoinWindow().isBeforeAfterWindow());

0 commit comments

Comments
 (0)