[ x ] Proposal C (do nothing) If deleteByObjectId(Object oid) is nothing more than getting the object by id with validate == false and then calling deletePersistent, then the deleteByObjectIid methods are of little value.
----- Original Message ---- From: Craig L Russell <[EMAIL PROTECTED]> Cc: Apache JDO project <[email protected]>; JDO Expert Group <[EMAIL PROTECTED]> Sent: Thursday, March 8, 2007 7:15:34 PM Subject: Re: [VOTE] Add convenience methods deleteObjectById Although I like the idea, the details trouble me. We need to specify the behavior in case the instance exists or not, and whether the instance is able to be deleted (e.g. there is a foreign key violation or some locking issue). Another issue is whether the delete is required to be immediate or delayed until commit. It's possible for the application to do a getObjectsById with the validate parameter set to the developer's choice and then to delete the instances returned. With validate set to false, this would be as efficient as the proposed deleteObjectsById. So the value for the developer is not as compelling as the other APIs that we've added recently. Craig On Mar 8, 2007, at 7:08 PM, Craig L Russell wrote: Please vote for [ ] Proposal A void deleteObjectById [ ] Proposal B long deleteObjectById [ ] Proposal C (do nothing) This vote will close Monday 12-Mar-2007. Please see https://issues.apache.org/jira/browse/JDO-469 I'd like to discuss adding the methods to PersistenceManager: Both Proposals A and B follow the basic rules of deletePersistent, with differences if the object identified by the oid is not persistent. Proposal A proposed by Matthew Adams: void deleteObjectById(Class cls, Object key); void deleteObjectById(Object oid); void deleteObjectsById(Collection oids); void deleteObjectsById(Object[] oids); With proposal A, any object that cannot be deleted would throw an exception similar to what is done with deletePersistent. Proposal B I think we might want to allow for the possibility that it was not possible to delete all the requested items, so add a return value with the number of objects actually deleted: long deleteObjectById(Class cls, Object key); long deleteObjectById(Object oid); long deleteObjectsById(Collection oids); long deleteObjectsById(Object[ ] oids); Proposal C do nothing Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp! Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
