Skip to content

Commit 41c77ca

Browse files
committed
fixes #1505
1 parent f3facb7 commit 41c77ca

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

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

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1935,8 +1935,14 @@ SelectBody SetOperationList() #SetOperationList: {
19351935

19361936
{
19371937
if (selects.size()==1 && selects.get(0) instanceof PlainSelect && orderByElements==null) {
1938-
if (brackets.get(0))
1939-
((PlainSelect)selects.get(0)).setUseBrackets(true);
1938+
if (brackets.get(0)) {
1939+
if (limit==null && offset==null && fetch==null && withIsolation==null)
1940+
((PlainSelect)selects.get(0)).setUseBrackets(true);
1941+
else {
1942+
list.setBracketsOpsAndSelects(brackets,selects,operations);
1943+
return list; //brackets with outside limit, offset
1944+
}
1945+
}
19401946
return selects.get(0);
19411947
} else {
19421948
if (selects.size()>1 && selects.get(selects.size()-1) instanceof PlainSelect && !brackets.get(brackets.size() - 1)) {

src/test/java/net/sf/jsqlparser/statement/insert/InsertTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -381,4 +381,9 @@ public void testInsertTableArrays4() throws JSQLParserException {
381381
+ " ARRAY[['breakfast', 'consulting'], ['meeting', 'lunch']])",
382382
true);
383383
}
384+
385+
@Test
386+
public void testKeywordDefaultIssue1470() throws JSQLParserException {
387+
assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (col1, col2, col3) VALUES (?, 'sadfsd', default)");
388+
}
384389
}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5059,12 +5059,12 @@ public void testWithIsolation() throws JSQLParserException {
50595059
}
50605060

50615061
@Test
5062-
public void testKeywordDefaultIssue1470() throws JSQLParserException {
5063-
assertSqlCanBeParsedAndDeparsed("INSERT INTO mytable (col1, col2, col3) VALUES (?, 'sadfsd', default)");
5062+
public void testLoclTimezone1471() throws JSQLParserException {
5063+
assertSqlCanBeParsedAndDeparsed("SELECT TO_CHAR(CAST(SYSDATE AS TIMESTAMP WITH LOCAL TIME ZONE), 'HH:MI:SS AM TZD') FROM DUAL");
50645064
}
50655065

50665066
@Test
5067-
public void testLoclTimezone1471() throws JSQLParserException {
5068-
assertSqlCanBeParsedAndDeparsed("SELECT TO_CHAR(CAST(SYSDATE AS TIMESTAMP WITH LOCAL TIME ZONE), 'HH:MI:SS AM TZD') FROM DUAL");
5067+
public void testMissingLimitIssue1505() throws JSQLParserException {
5068+
assertSqlCanBeParsedAndDeparsed("(SELECT * FROM mytable) LIMIT 1");
50695069
}
50705070
}

0 commit comments

Comments
 (0)