Skip to content

Commit c283311

Browse files
committed
fixes #682
1 parent 3f620c9 commit c283311

File tree

4 files changed

+33
-5
lines changed

4 files changed

+33
-5
lines changed

nb-configuration.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
That way multiple projects can share the same settings (useful for formatting rules for example).
1414
Any value defined here will override the pom.xml file value but is only applicable to the current project.
1515
-->
16-
<netbeans.compile.on.save>all</netbeans.compile.on.save>
16+
<netbeans.compile.on.save>none</netbeans.compile.on.save>
1717
<com-junichi11-netbeans-changelf.enable>false</com-junichi11-netbeans-changelf.enable>
1818
<com-junichi11-netbeans-changelf.use-project>true</com-junichi11-netbeans-changelf.use-project>
1919
<com-junichi11-netbeans-changelf.lf-kind>LF</com-junichi11-netbeans-changelf.lf-kind>

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

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1024,7 +1024,7 @@ Normal names.
10241024
String RelObjectName() :
10251025
{ Token tk = null; String result = null; }
10261026
{
1027-
(result = RelObjectNameWithoutValue() | tk=<K_VALUE> | tk=<K_VALUES>)
1027+
(result = RelObjectNameWithoutValue() | tk=<K_VALUE> | tk=<K_VALUES> | tk=<K_INTERVAL>)
10281028

10291029
{
10301030
if (tk!=null) result=tk.image;
@@ -2550,6 +2550,8 @@ Expression PrimaryExpression() #PrimaryExpression:
25502550

25512551
| LOOKAHEAD(2) retval=DateTimeLiteralExpression()
25522552

2553+
| LOOKAHEAD(2) retval = IntervalExpression()
2554+
25532555
| retval=Column()
25542556

25552557
| LOOKAHEAD("(" SimpleExpression() ")") "(" retval=SimpleExpression() ")" {retval = new Parenthesis(retval); }
@@ -2563,8 +2565,6 @@ Expression PrimaryExpression() #PrimaryExpression:
25632565
| "{t" token=<S_CHAR_LITERAL> "}" { retval = new TimeValue(token.image); }
25642566

25652567
| "{ts" token=<S_CHAR_LITERAL> "}" { retval = new TimestampValue(token.image); }
2566-
2567-
| retval = IntervalExpression()
25682568
)
25692569

25702570
( "::" type=ColDataType() {
@@ -3571,6 +3571,21 @@ AlterExpression AlterExpression():
35713571
(
35723572
LOOKAHEAD(2) ( <K_PRIMARY> <K_KEY> columnNames=ColumnsNamesList() { alterExp.setPkColumns(columnNames); } ) constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
35733573
|
3574+
LOOKAHEAD(2) (
3575+
tk=<K_INDEX>
3576+
sk3=ColumnsNamesListItem()
3577+
{
3578+
columnNames = new ArrayList();
3579+
columnNames.add(sk3);
3580+
3581+
index = new NamedConstraint();
3582+
index.setType(tk.image);
3583+
index.setColumnsNames(columnNames);
3584+
alterExp.setIndex(index);
3585+
}
3586+
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
3587+
)
3588+
|
35743589
( (LOOKAHEAD(2) <K_COLUMN>)?
35753590
alterExpressionColumnDataType = AlterExpressionColumnDataType() { alterExp.addColDataType(alterExpressionColumnDataType); }
35763591
)
@@ -3657,7 +3672,8 @@ AlterExpression AlterExpression():
36573672
alterExp.setIndex(index);
36583673
}
36593674
constraints=AlterExpressionConstraintState() { alterExp.setConstraints(constraints); }
3660-
) )
3675+
)
3676+
)
36613677
)
36623678
)
36633679
)

src/test/java/net/sf/jsqlparser/statement/alter/AlterTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import static org.junit.Assert.assertNotNull;
1313
import static org.junit.Assert.assertNull;
1414
import static org.junit.Assert.assertTrue;
15+
import org.junit.Ignore;
1516
import org.junit.Test;
1617

1718
public class AlterTest {
@@ -310,4 +311,10 @@ public void testAddConstraintKeyIssue320() throws JSQLParserException {
310311
public void testIssue633() throws JSQLParserException {
311312
assertSqlCanBeParsedAndDeparsed("ALTER TABLE team_phases ADD CONSTRAINT team_phases_id_key UNIQUE (id)");
312313
}
314+
315+
@Test
316+
@Ignore
317+
public void testIssue679() throws JSQLParserException {
318+
assertSqlCanBeParsedAndDeparsed("ALTER TABLE tb_session_status ADD INDEX idx_user_id(user_id)");
319+
}
313320
}

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,11 @@ public void testInsertKeyWordEnableIssue592() throws JSQLParserException {
274274
assertSqlCanBeParsedAndDeparsed("INSERT INTO T_USER (ID, EMAIL_VALIDATE, ENABLE, PASSWORD) VALUES (?, ?, ?, ?)");
275275
}
276276

277+
@Test
278+
public void testInsertKeyWordIntervalIssue682() throws JSQLParserException {
279+
assertSqlCanBeParsedAndDeparsed("INSERT INTO BILLING_TASKS (TIMEOUT, INTERVAL, RETRY_UPON_FAILURE, END_DATE, MAX_RETRY_COUNT, CONTINUOUS, NAME, LAST_RUN, START_TIME, NEXT_RUN, ID, UNIQUE_NAME, INTERVAL_TYPE) VALUES (?, ?, ?, ?, ?, ?, ?, NULL, ?, ?, ?, ?, ?)");
280+
}
281+
277282
@Test
278283
@Ignore
279284
public void testWithAtFront() throws JSQLParserException {

0 commit comments

Comments
 (0)