diff --git a/src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt b/src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt index 0d95e6e4a0..bed0ac7dbe 100644 --- a/src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt +++ b/src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt @@ -1169,7 +1169,7 @@ String RelObjectNameWithoutValue() : | tk= | tk= | tk= | tk= | tk= | tk= | tk= | tk= | tk= | tk= | tk= | tk= | tk= | tk= - | tk= | tk= | tk= + | tk= | tk= | tk= | tk= /* | tk= | tk= | tk= | tk= */ ) @@ -3808,6 +3808,8 @@ CreateTable CreateTable(): [ { createTable.setUnlogged(true); } ] + // table options, not required but 1 or none + [ tk= { createOptions.add(tk.image);} ] /* [ [ (tk= | tk=) {createOptions.add(tk.image);} ] ( tk= | tk= ) {createOptions.add(tk.image);}] */ diff --git a/src/test/java/net/sf/jsqlparser/statement/select/SpecialOracleTest.java b/src/test/java/net/sf/jsqlparser/statement/select/SpecialOracleTest.java index 07c5b144f9..56fdadd1e7 100644 --- a/src/test/java/net/sf/jsqlparser/statement/select/SpecialOracleTest.java +++ b/src/test/java/net/sf/jsqlparser/statement/select/SpecialOracleTest.java @@ -12,6 +12,7 @@ import java.io.File; import java.io.IOException; import java.util.Arrays; +import java.util.LinkedList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; @@ -21,6 +22,8 @@ import static net.sf.jsqlparser.test.TestUtils.assertSqlCanBeParsedAndDeparsed; import org.apache.commons.io.FileUtils; import static org.junit.Assert.assertTrue; + +import org.assertj.core.api.Assertions; import org.junit.ComparisonFailure; import org.junit.Test; @@ -245,6 +248,7 @@ public void testAllSqlsParseDeparse() throws IOException { public void testAllSqlsOnlyParse() throws IOException { File[] sqlTestFiles = new File(SQLS_DIR, "only-parse-test").listFiles(); + List regressionFiles = new LinkedList<>(); for (File file : sqlTestFiles) { LOG.log(Level.INFO, "testing {0}", file.getName()); String sql = FileUtils.readFileToString(file); @@ -253,9 +257,12 @@ public void testAllSqlsOnlyParse() throws IOException { LOG.info(" -> SUCCESS"); } catch (JSQLParserException ex) { + regressionFiles.add(file.getName()); LOG.log(Level.SEVERE, null, ex); } } + + Assertions.assertThat(regressionFiles).describedAs("All files should parse successfully, a regression was detected!").isEmpty(); } @Test