[ 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!
  





Reply via email to