DeleteQuery exception

From: Dave Merrin (dmerri..pasystems.co.uk)
Date: Wed Feb 27 2008 - 04:56:58 EST

  • Next message: Razumovsky Andrey: "Re[2]: ROP: validation and callbacks"

    Hi,

    I'm trying to delete records from a database table based on some info in
    another related table. Unfortunately I'm getting an exception when using
    the DeleteQuery. Has this been fixed or is there any other way to delete
    like this?

    java.lang.RuntimeException: db relationships not supported
            at
    org.apache.cayenne.access.trans.DeleteTranslator.dbRelationshipAdded(DeleteTranslator.java:37)
           
    at
    org.apache.cayenne.access.trans.QueryAssemblerHelper.appendObjPath(QueryAssemblerHelper.java:103)
            at
    org.apache.cayenne.access.trans.QualifierTranslator.objectNode(QualifierTranslator.java:339)
            at org.apache.cayenne.exp.Expression.traverse(Expression.java:514)
            at org.apache.cayenne.exp.Expression.traverse(Expression.java:511)
            at org.apache.cayenne.exp.Expression.traverse(Expression.java:491)
            at
    org.apache.cayenne.access.trans.QualifierTranslator.doTranslation(QualifierTranslator.java:74)
            at
    org.apache.cayenne.access.trans.DeleteTranslator.createSqlString(DeleteTranslator.java:51)
            at
    org.apache.cayenne.access.trans.QueryAssembler.createStatement(QueryAssembler.java:95)
            at
    org.apache.cayenne.access.jdbc.UpdateAction.performAction(UpdateAction.java:91)
            at
    org.apache.cayenne.access.DataNodeQueryAction.runQuery(DataNodeQueryAction.java:59)
            at
    org.apache.cayenne.access.DataNode.performQueries(DataNode.java:273)
            at
    org.apache.cayenne.access.DataDomainQueryAction.runQuery(DataDomainQueryAction.java:319)
            at
    org.apache.cayenne.access.DataDomainQueryAction.access$000(DataDomainQueryAction.java:60)
            at
    org.apache.cayenne.access.DataDomainQueryAction$1.transform(DataDomainQueryAction.java:291)
            at
    org.apache.cayenne.access.DataDomain.runInTransaction(DataDomain.java:820)
            at
    org.apache.cayenne.access.DataDomainQueryAction.runQueryInTransaction(DataDomainQueryAction.java:288)
            at
    org.apache.cayenne.access.DataDomainQueryAction.execute(DataDomainQueryAction.java:109)
            at org.apache.cayenne.access.DataDomain.onQuery(DataDomain.java:730)
            at
    org.apache.cayenne.util.ObjectContextQueryAction.runQuery(ObjectContextQueryAction.java:217)
            at
    org.apache.cayenne.access.DataContextQueryAction.execute(DataContextQueryAction.java:54)
            at
    org.apache.cayenne.access.DataContext.onQuery(DataContext.java:1386)
            at
    org.apache.cayenne.access.DataContext.performGenericQuery(DataContext.java:1341)
            at
    org.apache.cayenne.access.DataContext.performNonSelectingQuery(DataContext.java:1396)
            at
    ipa.printexpress.datahelpers.Session.deleteEntityCollection(Session.java:172)
            at
    ipa.px.tracker.trackerserver.purge.PurgeDatabaseHelper.purgeElements(PurgeDatabaseHelper.java:63)
            at
    ipa.px.tracker.trackerserver.purge.PurgeDatabaseHelper.purge(PurgeDatabaseHelper.java:476)
            at
    ipa.px.tracker.trackerserver.remoteobjects.Purger.purgeEditions(Purger.java:94)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:597)
            at
    sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:305)
            at sun.rmi.transport.Transport$1.run(Transport.java:159)
            at java.security.AccessController.doPrivileged(Native Method)
            at sun.rmi.transport.Transport.serviceCall(Transport.java:155)
            at
    sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:535)
            at
    sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790)
            at
    sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649)
            at
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
            at
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
            at java.lang.Thread.run(Thread.java:619)

    BTW. I'm using Cayenne version 2 (not sure which exact version but can
    find out if required).

    Cheers,

    Dave



    This archive was generated by hypermail 2.0.0 : Wed Feb 27 2008 - 04:59:03 EST