doDelete with invalid column should throw exception, not delete all rows
------------------------------------------------------------------------
Key: TORQUE-113
URL: https://issues.apache.org/jira/browse/TORQUE-113
Project: Torque
Issue Type: Bug
Components: Runtime
Affects Versions: 3.3
Reporter: Julian Zinn
Fix For: 3.3, 4.0
The following (incorrect) client code should cause an exception to be thrown.
Instead of an exception, all rows in table T1 are deleted.
{code}
T1Peer.doDelete(new Criteria().add(T2Peer.COL, 2));
{code}
This code appeared in a project I am working on. The intent was to delete rows
from table T2.
Before the fix for TORQUE-93, this code had the intended effect becaue
{{T1Peer.doDelete(criteria)}} just passed the criteria object to
{{BasePeer.doDelete(criteria)}}. Since the only reference BasePeer had to a
table was table T2 in the criteria, only rows in table T2 were deleted.
Now that {{T1Peer.doDelete(criteria)}} calls {{BasePeer.doDelete(criteria,
TABLE_NAME)}} instead, the test {{if (crit.containsKey(key))}} in
{{BasePeer.processTables()}} always fails. This leads to an empty where
clause, causing all rows in table T1 to be deleted.
Expect: An exception to be thrown if some Criterion object is not used in the
final where clause.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]