Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Question about remove request deleting multiple records

    I'm trying to process a "remove" DSRequest from the client that has criteria which will remove multiple records in the table. I've set allowMultiUpdate="true" on the operationBinding and the remove works fine. But there seems to be a cacheSynch fetch that happens after the remove and since the remove didn't specify the primary keys as criteria it is throwing an error when looking for them. Here is the partial error stack.
    Code:
    === 2010-09-18 21:26:44,394 [l0-7] INFO  SQLDriver - [builtinApplication.member(F002), builtinApplication.null] Executing SQL update on 'iptsfill': DELETE FROM 
    				IPPOITM_F002 AS IPPOITM
    			 WHERE ((IPPOITM.ICLS = 1 AND IPPOITM.ICLS IS NOT NULL) AND (IPPOITM.IVEN = 1 AND IPPOITM.IVEN IS NOT NULL) AND (IPPOITM.ISTY = 1 AND IPPOITM.ISTY IS NOT NULL) AND (CASE WHEN IPPOITM.IPPK='Y' THEN 'Y' ELSE 'N' END <> 'Y' OR CASE WHEN IPPOITM.IPPK='Y' THEN 'Y' ELSE 'N' END IS NULL) AND (IPPOITM.IONO = '2222222222' AND IPPOITM.IONO IS NOT NULL) AND (IPPOITM.IASQ = 1 AND IPPOITM.IASQ IS NOT NULL))
    === 2010-09-18 21:26:45,091 [l0-7] DEBUG SQLDataSource - [builtinApplication.member(F002), builtinApplication.null] remove operation affected 2 rows
    === 2010-09-18 21:26:45,091 [l0-7] DEBUG DB2Driver - [builtinApplication.member(F002), builtinApplication.null] fetchLastRow data - primaryKeysPresent: {}sequencesNotPresent: [ISEQ, IONO]
    === 2010-09-18 21:26:45,092 [l0-7] WARN  RequestContext - dsRequest.execute() failed: 
    java.lang.Exception: DB2 can't handle more than one auto_increment primary_key
    	at com.isomorphic.sql.DB2Driver.fetchLastPrimaryKeys(DB2Driver.java:108)
    I'm not sure I understand the purpose of the cacheSynch fetch on a remove request. How can I avoid the error?
Working...
X