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 2011/01/29 13:16:43 UTC
[jira] Updated: (JDO-672) Test case failure: SQLException in
ParenthesesMarkOperatorPrecedence
[ https://issues.apache.org/jira/browse/JDO-672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andy Jefferson updated JDO-672:
-------------------------------
Priority: Minor (was: Major)
> Test case failure: SQLException in ParenthesesMarkOperatorPrecedence
> ---------------------------------------------------------------------
>
> Key: JDO-672
> URL: https://issues.apache.org/jira/browse/JDO-672
> Project: JDO
> Issue Type: Bug
> Components: tck
> Affects Versions: JDO 3
> Reporter: Michael Bouschen
> Assignee: Andy Jefferson
> Priority: Minor
> Fix For: JDO 3 maintenance release 1
>
>
> The failing test is in jdoql.conf: class org.apache.jdo.tck.query.jdoql.ParenthesesMarkOperatorPrecedence method runTestParenthesesMarkOperatorPrecedence08.
> The test results in an exception thrown by the derby SQL compiler:
> java.sql.SQLException: Comparisons between 'BOOLEAN' and 'INTEGER' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. SELECT tablename FROM sys.systables WHERE CAST(tablename AS VARCHAR(128)) = 'T1')
> The derby versions 10.6.1.0 and 10.7.1.1 run into this exception. But it does NOT happen with derby version 10.4.2.0, which we are using in the maven1 environment.
> Here is the the JDOQL query:
> SELECT FROM org.apache.jdo.tck.pc.mylib.PCPoint EXCLUDE SUBCLASSES WHERE (x == 2) == true
> and here is the generated SQL:
> SELECT 'org.apache.jdo.tck.pc.mylib.PCPoint' AS NUCLEUS_TYPE,A0.ID,A0.X,A0.Y
> FROM APPLICATIONIDENTITY0.PCPOINT A0 WHERE A0.X = 2 = 1
> So the question is: what does SQL define when comparing an integer and a boolean?
> The expression "A0.X = 2" evaluates to a boolean which is then compared to the integer 1.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.