Community
Participate
Working Groups
Build Identifier: a query on the XRef without specific classes results in queries on tables of abstract classes. Tables of abstract classes do not exist, hence resulting in SQL exceptions. Reproducible: Always
org.eclipse.net4j.signal.RemoteException: org.eclipse.net4j.signal.RemoteException: org.eclipse.net4j.db.DBException: org.h2.jdbc.JdbcSQLException: Table PARTS_PART not found; SQL statement: SELECT cdo_id, owningConcept FROM Parts_Part WHERE cdo_version>0 AND cdo_revised=0 AND owningConcept IN (20225) [42102-117] at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalClassMapping.queryScalarXRefs(AbstractHorizontalClassMapping.java:861) at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalClassMapping.queryXRefs(AbstractHorizontalClassMapping.java:785) at org.eclipse.emf.cdo.server.internal.db.mapping.horizontal.AbstractHorizontalMappingStrategy.queryXRefs(AbstractHorizontalMappingStrategy.java:139) at org.eclipse.emf.cdo.server.internal.db.DBStoreAccessor.queryXRefs(DBStoreAccessor.java:289) at org.eclipse.emf.cdo.internal.server.XRefsQueryHandler.executeQuery(XRefsQueryHandler.java:63) at org.eclipse.emf.cdo.internal.server.QueryManager$QueryContext.run(QueryManager.java:284) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:619) Caused by: org.h2.jdbc.JdbcSQLException: Table PARTS_PART not found; SQL statement: SELECT cdo_id, owningConcept FROM Parts_Part WHERE cdo_version>0 AND cdo_revised=0 AND owningConcept IN (20225) [42102-117] at org.h2.message.Message.getSQLException(Message.java:105) at org.h2.message.Message.getSQLException(Message.java:116) at org.h2.message.Message.getSQLException(Message.java:75) at org.h2.command.Parser.readTableOrView(Parser.java:4265) at org.h2.command.Parser.readTableFilter(Parser.java:980) ......................
I've spent hours trying to reproduce your problem, but failed. Can you give me the exact code that you use to call CDOView.queryXRefs()? The only thing I could do is make an exception pop up a little earlier. Can you try that?
Created attachment 186292 [details] Changes in the test models/tests - for future reference
Created attachment 186294 [details] Patch v2
Internal note: model1.Order is now abstract.
Committed patch v2 to HEAD
Wim, is this problem still present?
No, the problem seams to be fixed or was wrongly assigned to the 4.0 version. Probably the latter.
Great! Please reopen if necessary ;-)