db-jdo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Michael Bouschen (JIRA)" <j...@apache.org>
Subject [jira] Created: (JDO-672) Test case failure: SQLException in ParenthesesMarkOperatorPrecedence
Date Wed, 19 Jan 2011 19:32:44 GMT
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
             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 and run into this exception. But it does NOT happen with
derby version, 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

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.

View raw message