db-torque-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julian Zinn (JIRA)" <j...@apache.org>
Subject [jira] Updated: (TORQUE-113) doDelete with invalid column should throw exception, not delete all rows
Date Thu, 17 Apr 2008 17:31:21 GMT

     [ https://issues.apache.org/jira/browse/TORQUE-113?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Julian Zinn updated TORQUE-113:
-------------------------------

    Description: 
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.


  was:
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.



> 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*: 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.
-
You can reply to this email to add a comment to the issue online.


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


Mime
View raw message