[ 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: torque-dev-unsubscr...@db.apache.org For additional commands, e-mail: torque-dev-h...@db.apache.org