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

Craig Russell updated JDO-245:
------------------------------

    Description: 
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 an aggregate and is not part of the grouping 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)

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


> JPOX must throw JDOUserException for a query using a non grouping expr w/o 
> aggregates in the HAVING clause.
> -----------------------------------------------------------------------------------------------------------
>
>          Key: JDO-245
>          URL: http://issues.apache.org/jira/browse/JDO-245
>      Project: JDO
>         Type: Bug
>   Components: tck20
>     Reporter: Michael Watzek
>     Assignee: Andy Jefferson

>
> 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 an aggregate and is not part of the grouping 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