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

Michael Bouschen commented on JDO-245:
--------------------------------------

The negative test  is only testing whether the JDO implementation throws an 
exception for the invalid HAVING clause. It does not matter which of the two 
errors (you descibed above) is reported. 

This is the only negative test for HAVING we have so far and I wanted to have a 
query that is invalid w/o a doubt. I can change it back to "firstname == 
'emp1first'", if you prefer the original version.


> JPOX must throw JDOUserException for queries specifying having clause 
> refering fields which are not part of the result clause.
> ------------------------------------------------------------------------------------------------------------------------------
>
>          Key: JDO-245
>          URL: http://issues.apache.org/jira/browse/JDO-245
>      Project: JDO
>         Type: Bug
>   Components: tck20
>     Reporter: Michael Watzek
>     Assignee: Erik Bengtson

>
> The test case Having fails for the query below. Query compilation is expected 
> to throw a JDOUserException because the having clause contains field 
> firstname which is not part of the result clause.
> 14:22:53,437 (main) DEBUG [org.apache.jdo.tck] - Compiling API query: SELECT 
> department, SUM(salary) FROM org.apache.jdo.tck.pc.company.Employee GROUP BY 
> department HAVING firstname == 'emp1First' 
> 14:22:53,453 (main) DEBUG [org.apache.jdo.tck] - Query compilation must throw 
> JDOUserException: null
> 14:22:53,453 (main) INFO  [org.apache.jdo.tck] - Exception during setUp or 
> runtest: 
> junit.framework.AssertionFailedError: Assertion A14.6.10-2 (Having) failed: 
> Query compilation must throw JDOUserException: null
>       at junit.framework.Assert.fail(Assert.java:47)
>       at org.apache.jdo.tck.JDO_Test.fail(JDO_Test.java:546)
>       at org.apache.jdo.tck.query.QueryTest.compile(QueryTest.java:915)
>       at org.apache.jdo.tck.query.QueryTest.compile(QueryTest.java:878)
>       at 
> org.apache.jdo.tck.query.QueryTest.compileAPIQuery(QueryTest.java:793)
>       at org.apache.jdo.tck.query.result.Having.testNegative(Having.java:120)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:324)
>       at junit.framework.TestCase.runTest(TestCase.java:154)
>       at org.apache.jdo.tck.JDO_Test.runBare(JDO_Test.java:204)
>       at junit.framework.TestResult$1.protect(TestResult.java:106)
>       at junit.framework.TestResult.runProtected(TestResult.java:124)
>       at junit.framework.TestResult.run(TestResult.java:109)
>       at junit.framework.TestCase.run(TestCase.java:118)
>       at junit.framework.TestSuite.runTest(TestSuite.java:208)
>       at junit.framework.TestSuite.run(TestSuite.java:203)
>       at junit.framework.TestSuite.runTest(TestSuite.java:208)
>       at junit.framework.TestSuite.run(TestSuite.java:203)
>       at junit.textui.TestRunner.doRun(TestRunner.java:116)
>       at junit.textui.TestRunner.doRun(TestRunner.java:109)
>       at 
> org.apache.jdo.tck.util.BatchTestRunner.start(BatchTestRunner.java:120)
>       at org.apache.jdo.tck.util.BatchTestRunner.main(BatchTestRunner.java:95)

-- 
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