package test.jeql.parser; import java.io.*; import java.util.*; import jeql.*; import jeql.syntax.*; import jeql.syntax.parser.*; /** * <p> </p> * <p> </p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: </p> * @author Martin Davis * @version 1.0 */ public class SqlParserTest { public static void main(String args[]) { SqlParserTest test = new SqlParserTest(); test.run(); test.runErrors(); } public SqlParserTest() { } void run() { parse("select * from e"); parse("select a as b from e"); parse("select a.[x y] from e"); parse("select a, b from e"); parse("select a.b, c.d from e.r"); parse("select a.*, b.* from e.r"); parse("select a.*, b.* from e.r limit 5"); parse("select distinct a.*, b.* from e.r"); parse("select * from (values ( Geom.fromWKT(\"POINT(1 1)\"),1,2,3 ), (Geom.fromWKT(\"POINT(2 2)\"), 4, 5, 6) ) "); parse("select * from (values ( 1,2,3 ), (4,5,6) ) t(a,b,c)"); parse("select * from (values ( 1,2,3 ), (4,5,6) ) t(a,b,c) join t2"); parse("select b ? 1 : 2 from t"); parse("select b ? 1 : c ? 2 : 3 from t"); parse("select x, y from Func.name(x, y)"); } void runErrors() { parseError("SELECTx a, b"); } void parse(String str) { System.out.println("========================================="); System.out.println(str); try { Parser parser = new Parser(new StringReader(str)); SelectNode l = parser.SelectStatement(); int size = 4; } catch(ParseException ex) { ex.printStackTrace(); } } void parseError(String str) { System.out.println("!!!!======================================="); System.out.println(str); try { Parser parser = new Parser(new StringReader(str)); parser.SelectStatement(); } catch(ParseException ex) { System.out.println(ex.getMessage()); return; } System.err.println("No error reported!"); } }