db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mamta A. Satoor (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-2910) SimpleStringOperatorNode in it's bindExpression method generates a character string CAST if required but does not set the correct collation.
Date Mon, 09 Jul 2007 16:41:04 GMT

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

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

I guess what I would like to discuss is what should be the collation of the resultant character
string of UPPER when it's operand is not of type character string. Derby internally generate
a CAST to generate the character string (following our rules for type conversions) for a case
like UPPER(CURRENT_DATE) because UPPER works on character string type operand.

For instance in UPPER(CURRENT_USER), the operand CURRENT_USER is character string type with
collation of UCS_BASIC and hence the result of UPPER has collation type of UCS_BASIC. But
in UPPER(CURRENT_DATE), CURRENT_DATE is of date type and hence we internally generate a CAST
node on date to generate character string type and that internal CAST always generates a character
string of type UCS_BASIC collation. My question is is that the right thing to do? Should we
have such internal CASTs (from non-character string type to character string types) pick up
the collation of the current compilation schema?

> SimpleStringOperatorNode in it's bindExpression method generates a character string CAST
if required but does not set the correct collation.
> --------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-2910
>                 URL: https://issues.apache.org/jira/browse/DERBY-2910
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.3.1.1, 10.4.0.0
>            Reporter: Mamta A. Satoor
>
> Following query should run into error if run in a territory based database 
> SELECT TABLENAME FROM SYS.SYSTABLES WHERE UPPER(CURRENT_DATE) = TABLENAME;
> When a CAST node is generated on top of CURRENT_DATE to create a character string type,
we do not set the collation of that character string type and hence it always ends up getting
the default which is collation derivation IMPLICIT and collation type UCS_BASIC. That does
not sound right. 
> There might be other places where we generate CAST node to create a character string
type. We should check if the collation is set correctly for them.

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