Details
Description
DERBY-4684 fixed problems in implicit casts to BOOLEAN. However, the query which created the implicit casts should raise an error for other reasons:
select isindex from sys.sysconglomerates where conglomeratename = 'foo'
union
values ( 'true' )
This should fail because if either of the datatypes being UNIONed is BOOLEAN, then both should be BOOLEAN. Here is my reasoning, copied from the related discussion on DERBY:
1) The rules for determining whether two datatypes are union compatible are stated in the SQL Standard in part 2, section 7.3 (<query expression>), syntax rule 20.b.ii.
2) That, in turn, refers the reader to section 9.3 (Result of data type combinations).
3) Section 9.3, syntax rule 3.g says that if either of two values to be merged is BOOLEAN, then both must be BOOLEAN.
Attachments
Attachments
Issue Links
- is part of
-
DERBY-499 Expose BOOLEAN datatype to end users
- Closed
- relates to
-
DERBY-4583 TRUE by itself is not accepted in WHERE
- Closed
-
DERBY-4684 Correct the implicit casting of other types to BOOLEAN
- Closed