Ticket Hash: | 4d01eda8115b10d1227b62352c750655a279d310 | |||
Title: | IS TRUE operator malfunctions with COLLATE and REAL value | |||
Status: | Closed | Type: | Code_Defect | |
Severity: | Critical | Priority: | Immediate | |
Subsystem: | Unknown | Resolution: | Fixed | |
Last Modified: | 2019-06-12 13:50:44 | |||
Version Found In: | ||||
User Comments: | ||||
mrigger added on 2019-06-12 12:41:11:
(text/x-fossil-wiki)
It seems that using IS TRUE together with a COLLATE operator that is part of the right side of the expression results in an incorrect result: <pre> SELECT 0.5 IS TRUE COLLATE NOCASE; -- expected: 1, actual: 0 SELECT 0.5 IS TRUE COLLATE RTRIM; -- expected: 1, actual: 0 SELECT 0.5 IS TRUE COLLATE BINARY; -- expected: 1, actual: 0 </pre> Without the COLLATE, or if the COLLATE is on the left side, the result is as expected: <pre> SELECT 0.5 IS TRUE; -- 1 SELECT 0.5 COLLATE NOCASE IS TRUE; -- 1 </pre> The IS FALSE operator does not seem to be affected: <pre> SELECT 0.5 IS FALSE COLLATE NOCASE; -- 0 SELECT 0.5 IS FALSE COLLATE RTRIM; -- 0 SELECT 0.5 IS FALSE COLLATE BINARY; -- 0 </pre> dan added on 2019-06-12 13:50:44: (text/x-fossil-wiki) Fixed by [5c6146b56a75a94f]. |