You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-dev@db.apache.org by "Andy Jefferson (JIRA)" <ji...@apache.org> on 2006/01/03 09:56:02 UTC
[jira] Commented: (JDO-245) JPOX must throw JDOUserException for queries specifying having clause refering fields which are not part of the result clause.
[ http://issues.apache.org/jira/browse/JDO-245?page=comments#action_12361581 ]
Andy Jefferson commented on JDO-245:
------------------------------------
I look at the test Having.testNegative and the query is now
SELECT department, SUM(salary) FROM Employee GROUP BY department HAVING firstname
What is this exactly supposed to test ?
Is it testing that the having clause is a boolean expression (which it clearly isn't) ?
Is it testing that a having field is not in the grouping ?
The query in the original post had a having clause of "firstname == 'emp1first'". Did someone change this for a reason ?
> 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