Thanks Christian for the reply!


Satheesh,

> The conclusion is that the expression
>  CASE WHEN ... THEN intValue ELSE charValue END
> is non-conforming SQL and may be processed in an implementation-dependent 
manner.

I hope this clears your doubts.

Going by comments on this bug, there are two people
who have voted for the patch.

Please let me know if this patch can be accepted,
or else let's work out for a better solution.

thanks,
Amit


Christian d'Heureuse (JIRA) wrote:
[ http://issues.apache.org/jira/browse/DERBY-7?page=comments#action_57488 ]
Christian d'Heureuse commented on DERBY-7:
------------------------------------------



I have a feeling we are not confirming to SQL standard


Are you referring to the syntax rule that states that all arguments "shall" be 
character strings, if any argument is character string?

"9075-2 9.3 Data types of results of aggregations
...
Syntax Rules
3. a) If any of the data types in DTS is character string, then all data types in 
DTS shall be character string, ..."

The term "shall" is defined as:

"9075-1 6.2.3.3 Terms denoting rule requirements
In the Syntax Rules, the term shall defines conditions that are required to be 
true of syntactically conforming SQL language. ...
The treatment of language that does not conform to the SQL Formats and Syntax Rules 
is implementation-dependent. ..."

The conclusion is that the expression
 CASE WHEN ... THEN intValue ELSE charValue END
is non-conforming SQL and may be processed in an implementation-dependent 
manner.


Bug in NULLIF Function
----------------------

        Key: DERBY-7
        URL: http://issues.apache.org/jira/browse/DERBY-7
    Project: Derby
       Type: Bug
 Components: SQL
   Versions: 10.0.2.0
   Reporter: Tulika Agrawal
   Priority: Minor
Attachments: Derby-7.txt

Reporting for Christian d'Heureuse, filed on derby-dev list.
The NULLIF built-in function of Cloudscape 10.0.1.0 beta seems to accept
only string values.
Examples:
values nullif('a','b');
--> OK
values nullif(1,2);
--> Error message: "ERROR 42X89: Types 'CHAR' and
    'INTEGER' are not type compatible. (Neither type
    is assignable to the other type.)"




--
Regards,

Amit Handa,
Java Web Services.
Sun Microsystems Inc.








Reply via email to