[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
no support for SELECT ... WHERE EXISTS
- To: mckoidb@xxxxxxxxx
- Subject: no support for SELECT ... WHERE EXISTS
- From: Waldo auf der Springe <waldo_auf_der_springe@xxxxxxxxxx>
- Date: Mon, 6 Jan 2003 09:54:26 +0100
- Delivered-To: mailing list mckoidb@mckoi.com
- Mailing-List: contact mckoidb-help@mckoi.com; run by ezmlm
I tried to run the JDO JRELAY query samples (simple2) with mckoi and got the
following output:
[waldo@microstar jrelay_2_0_2]$ ant run
Buildfile: build.xml
run:
[java] Book Storie, isbn: xyz-0
[java] Article Piano Transport
[java] Book Pensieros, isbn: xyz-1
[java] Article Optik
[java] Book Bagombo Snuff Box, isbn: xyz-2
[java] SELECT failed: SELECT T0.CLASS_ID, T0.ID, T0.VERSION,
T0.FIRSTNAME, T0.LASTNAME, T0.LOCALE FROM AUTHOR T0 WHERE EXISTS ( SELECT
DOCUMENT FROM DOCUMENT_AUTHOR_REL, DOCUMENT V0 WHERE DOCUMENT = V0.ID AND
AUTHOR = T0.ID AND V0.TITLE LIKE 'Bag%')
[java] com.mckoi.database.jdbc.MSQLException: Encountered "EXISTS" at
line 1, column 99.
[java] Was expecting one of:
[java] <BOOLEAN_LITERAL> ...
[java] "null" ...
[java] "new" ...
[java] "date" ...
[java] "time" ...
[java] "timestamp" ...
[java] <NUMBER_LITERAL> ...
[java] <STRING_LITERAL> ...
[java] <QUOTED_VARIABLE> ...
[java] <IDENTIFIER> ...
[java] <DOT_DELIMINATED_REF> ...
[java] <QUOTED_DELIMINATED_REF> ...
[java] "?" ...
[java] "(" ...
[java] "not" ...
[java] "count" ...
[java] "trim" ...
[java] "if" ...
[java] "user" ...
[java]
[java] at
com.mckoi.database.jdbc.RemoteDatabaseInterface.execQuery(RemoteDatabaseInterface.java:247)
[java] at
com.mckoi.database.jdbc.MConnection.executeQuery(MConnection.java:348)
[java] at
com.mckoi.database.jdbc.MStatement.executeQuery(MStatement.java:110)
[java] at
com.mckoi.database.jdbc.MStatement.executeQuery(MStatement.java:127)
[java] at com.jrelay.bl.g.executeQuery(Unknown Source)
[java] at com.jrelay.bg.b.f.a(Unknown Source)
[java] at com.jrelay.bg.b.f.a(Unknown Source)
[java] at com.jrelay.bg.b.e.a(Unknown Source)
[java] at com.jrelay.ba.ag.a(Unknown Source)
[java] at com.jrelay.ba.ag.a(Unknown Source)
[java] at com.jrelay.ba.w.a(Unknown Source)
[java] at com.jrelay.ba.w.executeWithArray(Unknown Source)
[java] at com.jrelay.bg.e.execute(Unknown Source)
[java] at jrelay.samples.simple2.Main.query(Main.java:185)
[java] at jrelay.samples.simple2.Main.main(Main.java:21)
[java] CAUSE: com.mckoi.database.sql.ParseException: Encountered
"EXISTS" at line 1, column 99.
[java] Was expecting one of:
[java] <BOOLEAN_LITERAL> ...
[java] "null" ...
[java] "new" ...
[java] "date" ...
[java] "time" ...
[java] "timestamp" ...
[java] <NUMBER_LITERAL> ...
[java] <STRING_LITERAL> ...
[java] <QUOTED_VARIABLE> ...
[java] <IDENTIFIER> ...
[java] <DOT_DELIMINATED_REF> ...
[java] <QUOTED_DELIMINATED_REF> ...
[java] "?" ...
[java] "(" ...
[java] "not" ...
[java] "count" ...
[java] "trim" ...
[java] "if" ...
[java] "user" ...
[java]
[java] at
com.mckoi.database.sql.SQL.generateParseException(SQL.java:4590)
[java] at com.mckoi.database.sql.SQL.jj_consume_token(SQL.java:4462)
[java] at com.mckoi.database.sql.SQL.Operand(SQL.java:2759)
[java] at com.mckoi.database.sql.SQL.expression(SQL.java:2541)
[java] at com.mckoi.database.sql.SQL.DoExpression(SQL.java:2519)
[java] at
com.mckoi.database.sql.SQL.ConditionsExpression(SQL.java:2504)
[java] at
com.mckoi.database.sql.SQL.GetTableSelectExpression(SQL.java:1158)
[java] at com.mckoi.database.sql.SQL.Select(SQL.java:300)
[java] at com.mckoi.database.sql.SQL.Statement(SQL.java:161)
[java] at
com.mckoi.database.interpret.SQLQueryExecutor.execute(SQLQueryExecutor.java:91)
[java] at
com.mckoi.database.jdbcserver.AbstractJDBCDatabaseInterface.execQuery(AbstractJDBCDatabaseInterface.java:321)
[java] at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:253)
[java] at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:339)
[java] at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:289)
[java] at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:195)
[java] at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
[java] at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:170)
[java] at com.mckoi.database.WorkerThread.run(WorkerThread.java:122)
[java] javax.jdo.JDODataStoreException: Query failed
[java] NestedThrowables:
[java] com.mckoi.database.jdbc.MSQLException: Encountered "EXISTS" at
line 1, column 99.
[java] Was expecting one of:
[java] <BOOLEAN_LITERAL> ...
[java] "null" ...
[java] "new" ...
[java] "date" ...
[java] "time" ...
[java] "timestamp" ...
[java] <NUMBER_LITERAL> ...
[java] <STRING_LITERAL> ...
[java] <QUOTED_VARIABLE> ...
[java] <IDENTIFIER> ...
[java] <DOT_DELIMINATED_REF> ...
[java] <QUOTED_DELIMINATED_REF> ...
[java] "?" ...
[java] "(" ...
[java] "not" ...
[java] "count" ...
[java] "trim" ...
[java] "if" ...
[java] "user" ...
[java]
[java] at com.jrelay.bg.b.f.a(Unknown Source)
[java] at com.jrelay.bg.b.f.a(Unknown Source)
[java] at com.jrelay.bg.b.e.a(Unknown Source)
[java] at com.jrelay.ba.ag.a(Unknown Source)
[java] at com.jrelay.ba.ag.a(Unknown Source)
[java] at com.jrelay.ba.w.a(Unknown Source)
[java] at com.jrelay.ba.w.executeWithArray(Unknown Source)
[java] at com.jrelay.bg.e.execute(Unknown Source)
[java] at jrelay.samples.simple2.Main.query(Main.java:185)
[java] at jrelay.samples.simple2.Main.main(Main.java:21)
[java] NestedThrowablesStackTrace:
[java] com.mckoi.database.jdbc.MSQLException: Encountered "EXISTS" at
line 1, column 99.
[java] Was expecting one of:
[java] <BOOLEAN_LITERAL> ...
[java] "null" ...
[java] "new" ...
[java] "date" ...
[java] "time" ...
[java] "timestamp" ...
[java] <NUMBER_LITERAL> ...
[java] <STRING_LITERAL> ...
[java] <QUOTED_VARIABLE> ...
[java] <IDENTIFIER> ...
[java] <DOT_DELIMINATED_REF> ...
[java] <QUOTED_DELIMINATED_REF> ...
[java] "?" ...
[java] "(" ...
[java] "not" ...
[java] "count" ...
[java] "trim" ...
[java] "if" ...
[java] "user" ...
[java]
[java] at
com.mckoi.database.jdbc.RemoteDatabaseInterface.execQuery(RemoteDatabaseInterface.java:247)
[java] at
com.mckoi.database.jdbc.MConnection.executeQuery(MConnection.java:348)
[java] at
com.mckoi.database.jdbc.MStatement.executeQuery(MStatement.java:110)
[java] at
com.mckoi.database.jdbc.MStatement.executeQuery(MStatement.java:127)
[java] at com.jrelay.bl.g.executeQuery(Unknown Source)
[java] at com.jrelay.bg.b.f.a(Unknown Source)
[java] at com.jrelay.bg.b.f.a(Unknown Source)
[java] at com.jrelay.bg.b.e.a(Unknown Source)
[java] at com.jrelay.ba.ag.a(Unknown Source)
[java] at com.jrelay.ba.ag.a(Unknown Source)
[java] at com.jrelay.ba.w.a(Unknown Source)
[java] at com.jrelay.ba.w.executeWithArray(Unknown Source)
[java] at com.jrelay.bg.e.execute(Unknown Source)
[java] at jrelay.samples.simple2.Main.query(Main.java:185)
[java] at jrelay.samples.simple2.Main.main(Main.java:21)
[java] CAUSE: com.mckoi.database.sql.ParseException: Encountered
"EXISTS" at line 1, column 99.
[java] Was expecting one of:
[java] <BOOLEAN_LITERAL> ...
[java] "null" ...
[java] "new" ...
[java] "date" ...
[java] "time" ...
[java] "timestamp" ...
[java] <NUMBER_LITERAL> ...
[java] <STRING_LITERAL> ...
[java] <QUOTED_VARIABLE> ...
[java] <IDENTIFIER> ...
[java] <DOT_DELIMINATED_REF> ...
[java] <QUOTED_DELIMINATED_REF> ...
[java] "?" ...
[java] "(" ...
[java] "not" ...
[java] "count" ...
[java] "trim" ...
[java] "if" ...
[java] "user" ...
[java]
[java] at
com.mckoi.database.sql.SQL.generateParseException(SQL.java:4590)
[java] at com.mckoi.database.sql.SQL.jj_consume_token(SQL.java:4462)
[java] at com.mckoi.database.sql.SQL.Operand(SQL.java:2759)
[java] at com.mckoi.database.sql.SQL.expression(SQL.java:2541)
[java] at com.mckoi.database.sql.SQL.DoExpression(SQL.java:2519)
[java] at
com.mckoi.database.sql.SQL.ConditionsExpression(SQL.java:2504)
[java] at
com.mckoi.database.sql.SQL.GetTableSelectExpression(SQL.java:1158)
[java] at com.mckoi.database.sql.SQL.Select(SQL.java:300)
[java] at com.mckoi.database.sql.SQL.Statement(SQL.java:161)
[java] at
com.mckoi.database.interpret.SQLQueryExecutor.execute(SQLQueryExecutor.java:91)
[java] at
com.mckoi.database.jdbcserver.AbstractJDBCDatabaseInterface.execQuery(AbstractJDBCDatabaseInterface.java:321)
[java] at
com.mckoi.database.jdbcserver.JDBCDatabaseInterface.execQuery(JDBCDatabaseInterface.java:253)
[java] at
com.mckoi.database.jdbcserver.JDBCProcessor.queryCommand(JDBCProcessor.java:339)
[java] at
com.mckoi.database.jdbcserver.JDBCProcessor.processQuery(JDBCProcessor.java:289)
[java] at
com.mckoi.database.jdbcserver.JDBCProcessor.processJDBCCommand(JDBCProcessor.java:195)
[java] at
com.mckoi.database.jdbcserver.StreamJDBCServerConnection.processRequest(StreamJDBCServerConnection.java:133)
[java] at
com.mckoi.database.jdbcserver.MultiThreadedConnectionPoolServer$1.run(MultiThreadedConnectionPoolServer.java:170)
[java] at com.mckoi.database.WorkerThread.run(WorkerThread.java:122)
<<<
as a consequence, the following JDOQL query
Extent allAuthors = pm.getExtent(Author.class, true);
Query query4 = pm.newQuery(allAuthors);
query4.declareVariables("Document doc");
query4.setFilter("documents.contains(doc) & doc.title.startsWith(\"Bag\")");
can not be done against mckoi (at least not with how JELAY translates it to
JDBC)
Other than that mckoi works great. Impressive job, Tobias! Thanks for making
mckoi and keep it up!