[ 
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.

Reply via email to