Skip to content

Commit 0e5d732

Browse files
committed
Added support for select without from-list ( SELECT 1 + 2 )
Modified test cases for test resources in src/test/resources
1 parent a8d7035 commit 0e5d732

File tree

14 files changed

+49
-19
lines changed

14 files changed

+49
-19
lines changed

.classpath

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
3-
<classpathentry kind="src" output="classes" path="src"/>
4-
<classpathentry kind="src" output="testclasses" path="testsrc"/>
3+
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
4+
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
5+
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources"/>
56
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
6-
<classpathentry kind="lib" path="testlib/junit.jar"/>
7-
<classpathentry kind="output" path="classes"/>
7+
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
8+
<classpathentry kind="src" output="target/classes" path="target/generated-sources/javacc">
9+
<attributes>
10+
<attribute name="optional" value="true"/>
11+
</attributes>
12+
</classpathentry>
13+
<classpathentry kind="output" path="target/classes"/>
814
</classpath>

.project

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@
1010
<arguments>
1111
</arguments>
1212
</buildCommand>
13+
<buildCommand>
14+
<name>org.eclipse.m2e.core.maven2Builder</name>
15+
<arguments>
16+
</arguments>
17+
</buildCommand>
1318
</buildSpec>
1419
<natures>
20+
<nature>org.eclipse.m2e.core.maven2Nature</nature>
1521
<nature>org.eclipse.jdt.core.javanature</nature>
1622
</natures>
1723
</projectDescription>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#Fri Sep 16 21:59:46 CEST 2011
2+
eclipse.preferences.version=1
3+
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
4+
org.eclipse.jdt.core.compiler.compliance=1.6
5+
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
6+
org.eclipse.jdt.core.compiler.source=1.6
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#Fri Sep 16 21:59:45 CEST 2011
2+
activeProfiles=
3+
eclipse.preferences.version=1
4+
resolveWorkspaceProjects=true
5+
version=1

src/main/javacc/net/sf/jsqlparser/parser/JSqlParserCC.jj

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ TOKEN: /* SQL Keywords. prefixed with K_ to avoid name clashes */
170170
| <K_INTO:"INTO">
171171
| <K_NULL:"NULL">
172172
| <K_LIKE:"LIKE">
173+
| <K_REGEXP:"REGEXP">
173174
| <K_DROP:"DROP">
174175
| <K_JOIN:"JOIN">
175176
| <K_LEFT:"LEFT">
@@ -538,9 +539,9 @@ PlainSelect PlainSelect():
538539

539540
// TODO
540541
[IntoClause()]
541-
<K_FROM>
542+
[<K_FROM>
542543
fromItem=FromItem()
543-
joins=JoinsList()
544+
joins=JoinsList()]
544545
[ where=WhereClause() { plainSelect.setWhere(where); }]
545546
[ groupByColumnReferences=GroupByColumnReferences() { plainSelect.setGroupByColumnReferences(groupByColumnReferences); }]
546547
[ having=Having() { plainSelect.setHaving(having); }]
@@ -550,7 +551,7 @@ PlainSelect PlainSelect():
550551
{
551552
plainSelect.setSelectItems(selectItems);
552553
plainSelect.setFromItem(fromItem);
553-
if (joins.size() > 0)
554+
if (joins != null && joins.size() > 0)
554555
plainSelect.setJoins(joins);
555556
return plainSelect;
556557
}

src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package net.sf.jsqlparser.test.create;
22

33
import java.io.BufferedReader;
4-
import java.io.File;
5-
import java.io.FileReader;
4+
import java.io.InputStreamReader;
65
import java.io.StringReader;
76
import java.util.ArrayList;
87
import java.util.Iterator;
@@ -38,9 +37,7 @@ public void testCreateTable() throws JSQLParserException {
3837
}
3938

4039
public void testRUBiSCreateList() throws Exception {
41-
42-
BufferedReader in = new BufferedReader(new FileReader("testfiles" + File.separator
43-
+ "RUBiS-create-requests.txt"));
40+
BufferedReader in = new BufferedReader( new InputStreamReader( CreateTableTest.class.getResourceAsStream( "/RUBiS-create-requests.txt" ) ) );
4441
TablesNamesFinder tablesNamesFinder = new TablesNamesFinder();
4542

4643
try {

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -628,6 +628,11 @@ public void testBitwise() throws JSQLParserException {
628628
assertEquals(statement, parsed.toString());
629629
assertEquals(statement, deParser.getBuffer().toString());
630630
}
631+
632+
public void testSelectFunction() throws JSQLParserException {
633+
String statement = "SELECT 1+2 AS sum";
634+
parserManager.parse( new StringReader( statement ) );
635+
}
631636

632637
public static void main(String[] args) {
633638
junit.swingui.TestRunner.run(SelectTest.class);

src/test/java/net/sf/jsqlparser/test/select/SpeedTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package net.sf.jsqlparser.test.select;
22

33
import java.io.BufferedReader;
4-
import java.io.File;
5-
import java.io.FileReader;
4+
import java.io.InputStreamReader;
65
import java.io.StringReader;
76
import java.text.DecimalFormat;
87
import java.util.ArrayList;
@@ -16,6 +15,7 @@
1615
import net.sf.jsqlparser.statement.Statement;
1716
import net.sf.jsqlparser.statement.select.Select;
1817
import net.sf.jsqlparser.test.TestException;
18+
import net.sf.jsqlparser.test.create.CreateTableTest;
1919
import net.sf.jsqlparser.test.simpleparsing.CCJSqlParserManagerTest;
2020
import net.sf.jsqlparser.test.tablesfinder.TablesNamesFinder;
2121

@@ -29,7 +29,7 @@ public SpeedTest(String arg0) {
2929

3030
public void testSpeed() throws Exception {
3131
// all the statements in testfiles/simple_parsing.txt
32-
BufferedReader in = new BufferedReader(new FileReader("testfiles" + File.separator + "simple_parsing.txt"));
32+
BufferedReader in = new BufferedReader( new InputStreamReader( SpeedTest.class.getResourceAsStream( "/simple_parsing.txt" ) ) );
3333
CCJSqlParserManagerTest d;
3434
ArrayList statementsList = new ArrayList();
3535

@@ -40,7 +40,7 @@ public void testSpeed() throws Exception {
4040
statementsList.add(statement);
4141
}
4242
in.close();
43-
in = new BufferedReader(new FileReader("testfiles" + File.separator + "RUBiS-select-requests.txt"));
43+
in = new BufferedReader( new InputStreamReader( SpeedTest.class.getResourceAsStream( "/RUBiS-select-requests.txt" ) ) );
4444

4545
// all the statements in testfiles/RUBiS-select-requests.txt
4646
while (true) {

src/test/java/net/sf/jsqlparser/test/simpleparsing/CCJSqlParserManagerTest.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,15 @@
33
import java.io.BufferedReader;
44
import java.io.File;
55
import java.io.FileReader;
6+
import java.io.InputStreamReader;
67
import java.io.StringReader;
78

89
import junit.framework.TestCase;
910
import net.sf.jsqlparser.JSQLParserException;
1011
import net.sf.jsqlparser.parser.CCJSqlParserManager;
1112
import net.sf.jsqlparser.statement.Statement;
1213
import net.sf.jsqlparser.test.TestException;
14+
import net.sf.jsqlparser.test.create.CreateTableTest;
1315

1416
public class CCJSqlParserManagerTest extends TestCase {
1517

@@ -23,7 +25,8 @@ public static void main(String[] args) {
2325

2426
public void testParse() throws Exception {
2527
CCJSqlParserManager parserManager = new CCJSqlParserManager();
26-
BufferedReader in = new BufferedReader(new FileReader("testfiles" + File.separator + "simple_parsing.txt"));
28+
BufferedReader in = new BufferedReader( new InputStreamReader( CreateTableTest.class.getResourceAsStream( "/simple_parsing.txt" ) ) );
29+
2730
String statement = "";
2831
while (true) {
2932
try {

src/test/java/net/sf/jsqlparser/test/tablesfinder/TablesNamesFinderTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.BufferedReader;
44
import java.io.File;
55
import java.io.FileReader;
6+
import java.io.InputStreamReader;
67
import java.io.StringReader;
78
import java.util.ArrayList;
89
import java.util.Iterator;
@@ -13,6 +14,7 @@
1314
import net.sf.jsqlparser.parser.CCJSqlParserManager;
1415
import net.sf.jsqlparser.statement.select.Select;
1516
import net.sf.jsqlparser.test.TestException;
17+
import net.sf.jsqlparser.test.create.CreateTableTest;
1618
import net.sf.jsqlparser.test.simpleparsing.CCJSqlParserManagerTest;
1719

1820
public class TablesNamesFinderTest extends TestCase {
@@ -28,8 +30,7 @@ public static void main(String[] args) {
2830

2931
public void testRUBiSTableList() throws Exception {
3032

31-
BufferedReader in = new BufferedReader(new FileReader("testfiles" + File.separator
32-
+ "RUBiS-select-requests.txt"));
33+
BufferedReader in = new BufferedReader( new InputStreamReader( CreateTableTest.class.getResourceAsStream( "/RUBiS-select-requests.txt" ) ) );
3334
TablesNamesFinder tablesNamesFinder = new TablesNamesFinder();
3435

3536
try {

0 commit comments

Comments
 (0)