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