Skip to content

Commit aa932c4

Browse files
committed
corrected some failing tests
included a regression test for oracle files
1 parent f1724a4 commit aa932c4

File tree

2 files changed

+160
-1
lines changed

2 files changed

+160
-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
@@ -1065,7 +1065,7 @@ String RelObjectNameWithoutValue() :
10651065
| tk=<K_INSERT> | tk=<K_INDEX> | tk=<K_PRIMARY> | tk=<K_ENABLE>
10661066
| tk=<K_UNSIGNED>
10671067
| tk=<K_TEMP> | tk=<K_TEMPORARY> | tk=<K_TYPE> | tk=<K_ISNULL>
1068-
| tk=<K_ZONE>
1068+
| tk=<K_ZONE> | tk=<K_COLUMNS>
10691069
/* | tk=<K_PLACING> | tk=<K_BOTH> | tk=<K_LEADING> | tk=<K_TRAILING> */
10701070
)
10711071

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

Lines changed: 159 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
import java.io.File;
2222
import java.io.IOException;
23+
import java.util.Arrays;
24+
import java.util.List;
2325
import java.util.logging.Level;
2426
import java.util.logging.Logger;
2527
import net.sf.jsqlparser.JSQLParserException;
@@ -46,6 +48,157 @@ public class SpecialOracleTest {
4648
private static final File SQLS_DIR = new File("target/test-classes/net/sf/jsqlparser/statement/oracle-tests");
4749
private static final Logger LOG = Logger.getLogger(SpecialOracleTest.class.getName());
4850

51+
private List<String> successes = Arrays.asList("aggregate01.sql",
52+
"analytic_query06.sql",
53+
"analytic_query08.sql",
54+
"analytic_query09.sql",
55+
"analytic_query10.sql",
56+
"bindvar01.sql",
57+
"bindvar02.sql",
58+
"case_when01.sql",
59+
"case_when02.sql",
60+
"case_when03.sql",
61+
"case_when04.sql",
62+
"case_when05.sql",
63+
"cast_multiset01.sql",
64+
"cast_multiset02.sql",
65+
"cast_multiset03.sql",
66+
"cast_multiset04.sql",
67+
"cast_multiset05.sql",
68+
"cast_multiset06.sql",
69+
"cast_multiset08.sql",
70+
"cast_multiset10.sql",
71+
"cast_multiset11.sql",
72+
"cast_multiset12.sql",
73+
"cast_multiset16.sql",
74+
"cast_multiset17.sql",
75+
"cast_multiset20.sql",
76+
"cast_multiset21.sql",
77+
"cast_multiset23.sql",
78+
"cast_multiset25.sql",
79+
"cast_multiset28.sql",
80+
"cast_multiset29.sql",
81+
"cast_multiset30.sql",
82+
"cast_multiset31.sql",
83+
"cast_multiset32.sql",
84+
"cast_multiset33.sql",
85+
"cast_multiset35.sql",
86+
"cast_multiset36.sql",
87+
"cast_multiset40.sql",
88+
"cast_multiset41.sql",
89+
"cast_multiset42.sql",
90+
"cast_multiset43.sql",
91+
"columns01.sql",
92+
"condition01.sql",
93+
"condition02.sql",
94+
"condition03.sql",
95+
"condition04.sql",
96+
"condition05.sql",
97+
"condition07.sql",
98+
"condition09.sql",
99+
"condition10.sql",
100+
"condition12.sql",
101+
"condition14.sql",
102+
"condition20.sql",
103+
"connect_by02.sql",
104+
"connect_by03.sql",
105+
"connect_by04.sql",
106+
"connect_by05.sql",
107+
"connect_by07.sql",
108+
"datetime02.sql",
109+
"datetime04.sql",
110+
"datetime05.sql",
111+
"datetime06.sql",
112+
"dblink01.sql",
113+
"for_update01.sql",
114+
"for_update02.sql",
115+
"for_update03.sql",
116+
"for_update05.sql",
117+
"function01.sql",
118+
"function02.sql",
119+
"groupby08.sql",
120+
"groupby09.sql",
121+
"groupby12.sql",
122+
"groupby14.sql",
123+
"groupby19.sql",
124+
"groupby20.sql",
125+
"groupby21.sql",
126+
"groupby22.sql",
127+
"groupby23.sql",
128+
"interval02.sql",
129+
"interval04.sql",
130+
"join01.sql",
131+
"join02.sql",
132+
"join03.sql",
133+
"join04.sql",
134+
"join06.sql",
135+
"join07.sql",
136+
"join08.sql",
137+
"join09.sql",
138+
"join10.sql",
139+
"join11.sql",
140+
"join12.sql",
141+
"join14.sql",
142+
"join15.sql",
143+
"join16.sql",
144+
"join18.sql",
145+
"join19.sql",
146+
"join20.sql",
147+
"join21.sql",
148+
"keywordasidentifier01.sql",
149+
"keywordasidentifier02.sql",
150+
"keywordasidentifier03.sql",
151+
"keywordasidentifier05.sql",
152+
"lexer02.sql",
153+
"lexer03.sql",
154+
"lexer04.sql",
155+
"lexer05.sql",
156+
"like01.sql",
157+
"order_by01.sql",
158+
"order_by02.sql",
159+
"order_by03.sql",
160+
"order_by04.sql",
161+
"order_by05.sql",
162+
"order_by06.sql",
163+
"pivot02.sql",
164+
"pivot03.sql",
165+
"pivot05.sql",
166+
"pivot06.sql",
167+
"pivot07.sql",
168+
"pivot08.sql",
169+
"pivot09.sql",
170+
"pivot11.sql",
171+
"query_factoring01.sql",
172+
"query_factoring02.sql",
173+
"query_factoring03.sql",
174+
"query_factoring06.sql",
175+
"query_factoring08.sql",
176+
"query_factoring09.sql",
177+
"query_factoring11.sql",
178+
"query_factoring12.sql",
179+
"set01.sql",
180+
"set02.sql",
181+
"simple02.sql",
182+
"simple03.sql",
183+
"simple06.sql",
184+
"simple07.sql",
185+
"simple08.sql",
186+
"simple09.sql",
187+
"simple10.sql",
188+
"simple11.sql",
189+
"simple12.sql",
190+
"simple13.sql",
191+
"union01.sql",
192+
"union02.sql",
193+
"union03.sql",
194+
"union04.sql",
195+
"union05.sql",
196+
"union06.sql",
197+
"union07.sql",
198+
"union08.sql",
199+
"union09.sql",
200+
"union10.sql");
201+
49202
@Test
50203
public void testAllSqlsParseDeparse() throws IOException {
51204
int count = 0;
@@ -57,9 +210,11 @@ public void testAllSqlsParseDeparse() throws IOException {
57210
count++;
58211
LOG.log(Level.INFO, "testing {0}", file.getName());
59212
String sql = FileUtils.readFileToString(file);
213+
boolean parsed = false;
60214
try {
61215
assertSqlCanBeParsedAndDeparsed(sql, true);
62216
success++;
217+
parsed = true;
63218
LOG.info(" -> SUCCESS");
64219
} catch (JSQLParserException ex) {
65220
ex.printStackTrace();
@@ -70,6 +225,10 @@ public void testAllSqlsParseDeparse() throws IOException {
70225
} catch (ComparisonFailure ex) {
71226
LOG.log(Level.INFO, " -> PROBLEM {0}", ex.toString());
72227
}
228+
229+
if (!parsed && successes.contains(file.getName())) {
230+
LOG.log(Level.WARNING, " -> regression on file {0}", file.getName());
231+
}
73232
}
74233
}
75234

0 commit comments

Comments
 (0)