[ 
http://issues.apache.org/jira/browse/JDO-166?page=comments#action_12359034 ] 

Michael Bouschen commented on JDO-166:
--------------------------------------

Looks good. 

However, I propose to update the comments in DeleteQueryElements, because I 
think some of them are misleading, e.g. "The query may fail because there is a 
result, or because there is a result class". This sounds like you try to test 
two scenarios with a single query. Actually, there is one test query having a 
result clause, another having a result class and this test query has both a 
result clause and a result class. So I think your test class coveres everything 
we should test. 

I propose to change the comment to: "This query is an invalid delete query, 
because it defines a result clause and a result class".  Please have a look at 
the other comments in INVALID_QUERIES.

> Implement new JDO 2 query tests cases concerning deletion by query.
> -------------------------------------------------------------------
>
>          Key: JDO-166
>          URL: http://issues.apache.org/jira/browse/JDO-166
>      Project: JDO
>         Type: New Feature
>   Components: tck20
>     Reporter: Michael Watzek
>     Assignee: Michael Watzek
>  Attachments: JDO-166.patch, JDO-166.patch2
>
> We need 4 new test classes, one for each of the following assertions:
> - A14.8-1: These methods delete the instances of affected classes that pass 
> the filter, and all dependent instances. Affected classes are the candidate 
> class and its persistence-capable subclasses.
> - A14.8-2: The number of instances of affected classes that were deleted is 
> returned. Embedded instances and dependent instances are not counted in the 
> return value.
> - A14.8-3: Query elements filter, parameters, imports, variables, and unique 
> are valid in queries used for delete. Elements result, result class, range, 
> grouping, and ordering are invalid. If any of these elements is set to its 
> non-default value when one of the deletePersistentAll methods is called, a 
> JDOUserException is thrown and no instances are deleted.
> - A14.8-4: Dirty instances of affected classes are first flushed to the 
> datastore. Instances already in the cache when deleted via these methods or 
> brought into the cache as a result of these methods undergo the life cycle 
> transitions as if deletePersistent had been called on them. That is, if an 
> affected class implements the DeleteCallback interface, the instances to be 
> deleted are instantiated in memory and the jdoPreDelete method is called 
> prior to deleting the instance in the datastore. If any LifecycleListener 
> instances are registered with affected classes, these listeners are called 
> for each deleted instance. Before returning control to the application, 
> instances of affected classes in the cache are refreshed by the 
> implementation so their status in the cache reflects whether they were 
> deleted from the datastore.
> Details can be found on Wiki page 
> http://wiki.apache.org/jdo/QueryTests#DeletionByQuery.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira

Reply via email to