db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kathey Marsden (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2668) At the time of compilation of a comparison operation, if the collation types of the operands do not match, then we should throw a meaningful error message.
Date Fri, 03 Aug 2007 23:22:53 GMT

    [ https://issues.apache.org/jira/browse/DERBY-2668?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12517658
] 

Kathey Marsden commented on DERBY-2668:
---------------------------------------

Here is an alternate, wordier message.  Would something with this level of detail be better?


ij> select * from sys.systables where tablename = 'T1';
ERROR 42818: Comparisons between 'VARCHAR (UCS_BASIC)' and 'CHAR (TERRITORY_BASED)' 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')


> At the time of compilation of a comparison operation, if the collation types of the operands
do not match, then we should throw a meaningful error message.
> -----------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2668
>                 URL: https://issues.apache.org/jira/browse/DERBY-2668
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.3.0.0
>            Reporter: Mamta A. Satoor
>            Assignee: Kathey Marsden
>         Attachments: derby-2668_preview_diff.txt
>
>
> In Derby 10.3, we are adding a new feature (DERBY-1478) which will allow character string
types to have a territory based collation (except for persistent character string type columns
from system schema). When 2 character types are compared, they should have the same collation
type associated with them. If not then Derby 10.3 will throw an exception. Currently, in Derby
10.3 codeline, the exception thrown is something like "ERROR 42818: Comparisons between 'VARCHAR'
and 'CHAR' are not supported." but this error message is misleading. The error is really for
collation mismatch. We should fix following error so it indicates the real reason behind the
exception.
> eg sql
> ij> connect 'nodb;create=true;territory=no;collation=TERRITORY_BASED'; 
> ij> select * from sys.systables where tablename = 'T1'; 
> ERROR 42818: Comparisons between 'VARCHAR' and 'CHAR' are not supported. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message