[
https://issues.apache.org/jira/browse/TORQUE-113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Thomas Fox closed TORQUE-113.
-----------------------------
> 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
> Assignee: Thomas Fox
> Fix For: 4.0-beta1
>
>
> 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*: All Criterion objects in a Criteria should be used in the final
> where clause. If not, an exception should be thrown.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]