db-torque-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Greg Monroe" <Greg.Mon...@DukeCE.com>
Subject RE: Problems with CLOB and Peer.doDelete(obj)
Date Mon, 13 Feb 2006 16:00:26 GMT
Gareth's method is correct.  However, I was looking at the code
and wondering if there is not a bug here.  The main question 
IMHO is: 

What is the specific purpose of the the doDelete( SomeTable obj )
method?

Is it intended to only delete a single records or is it supposed
to allow for deleting multiple records identified by a template 
object?  E.g., should code like:

   SomeTable obj = new SomeTable();
   obj.setCategory(value);
   obj.setSubCategory(value2);
   SomeTablePeer.doDelete(obj);

1) Delete only records that have Category=value, subcategory 
= value2, and ALL other fields = null or default values.

or.

2) Delete all records that had category=value and subcategory 
= value2, regardless of other field values.

In either case, there probably should be a test to see if the 
object has a primary key defined and then do a delete by PK
call.

If the intent is to allow "template" deletes, the code here is 
wrong because it does not check for null values, which should
be excluded from the criteria unless the object is ! isNew().

If the intent is to allow only for deletion of records that
are "exact" matches. Then the code is OK except for the issue
of some DB's not allowing = for long fields (use like in 
this case?).  However, if the test for a PK is added, then
this only occures in the limited case of tables without a PK
(which is highly recommended in any good DB design).

Anyway, if we can come to a concensus on the purpose of this
method, I'll put in the Issue and a patch for the Template
file.



> -----Original Message-----
> From: Gareth Boden [mailto:gareth.boden@egsgroup.com] 
> Sent: Monday, February 13, 2006 6:46 AM
> To: torque-user@db.apache.org
> Subject: Re: Problems with CLOB and Peer.doDelete(obj)
> 
> 
> > I got a problem with torque3.1.1 when deleting and object using its
> > peer. I think the problem is with the definition of the  
> > buildCriteria method.
> 
> You want to just delete it with the primary key, not the whole object:
> 	SomeTablePeer.doDelete(((SomeTable) obj).getPrimaryKey());
> 
> Gareth
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
> For additional commands, e-mail: torque-user-help@db.apache.org
> 
> 

Duke CE Privacy Statement
Please be advised that this e-mail and any files transmitted with it are confidential communication
or may otherwise be privileged or confidential and are intended solely for the individual
or entity to whom they are addressed.  If you are not the intended recipient you may not rely
on the contents of this email or any attachments, and we ask that you  please not read, copy
or retransmit this communication, but reply to the sender and destroy the email, its contents,
and all copies thereof immediately.  Any unauthorized dissemination, distribution or copying
of this communication is strictly prohibited.



---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org


Mime
View raw message