db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Mike Matrigali <mikem_...@sbcglobal.net>
Subject Re: [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 Sat, 04 Aug 2007 00:07:04 GMT
The wordier message seem good to me.  And is definitely better than what 
we have now.

Kathey Marsden (JIRA) wrote:
>     [ 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. 
> 

Mime
View raw message