You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Mamta A. Satoor (JIRA)" <ji...@apache.org> on 2007/05/18 08:59:16 UTC

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

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

Mamta A. Satoor commented on DERBY-2668:
----------------------------------------

I haven't spent enough time thinking about this but I think it is more than just fixing the error message string. It seems that the comparable method in DTD should return int rather than boolean and the return int value will decide if we should throw what we are throwing today (ie something like ERROR 42818: Comparisons between 'VARCHAR' and 'CHAR' are not supported. ) or throw a new message because collations don't match. This is just my initial thought, haven't spend enough time to think about a solution


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