[
https://issues.apache.org/jira/browse/JDO-672?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andy Jefferson closed JDO-672.
------------------------------
> 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 (3.0)
> Reporter: Michael Bouschen
> Assignee: Andy Jefferson
> Priority: Minor
> Fix For: JDO 3.1-rc1
>
>
> 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 was sent by Atlassian JIRA
(v6.3.4#6332)