Details
-
Bug
-
Status: Open (View Workflow)
-
Minor
-
Resolution: Unresolved
-
10.5, 10.6, 10.0.14, 10.10.1, 10.4(EOL), 10.7(EOL), 10.8(EOL), 10.9(EOL), 10.10(EOL)
-
None
-
None
Description
DROP TABLE IF EXISTS t1; |
CREATE TABLE t1 (a BIGINT, b TIME); |
INSERT INTO t1 VALUES (99991231000000,'00:00:00'); |
SELECT a, b, 99991231000000=TIME'00:00:00',a=TIME'00:00:00',99991231000000=b,a=b FROM t1; |
returns the following:
+----------------+----------+-------------------------------+------------------+------------------+------+
|
| a | b | 99991231000000=TIME'00:00:00' | a=TIME'00:00:00' | 99991231000000=b | a=b |
|
+----------------+----------+-------------------------------+------------------+------------------+------+
|
| 99991231000000 | 00:00:00 | 1 | 0 | 1 | 0 |
|
+----------------+----------+-------------------------------+------------------+------------------+------+
|
That is 999991231000000=TIME'00:00:00' is:
- equal when both are literals
- not equal with a numeric field and a TIME literal
- equal with a numeric literal and a TIME field
- not equal when both are fields
This looks inconsistent, because in all cases it should be compared as TIME,
according to the current comparison rules.
Attachments
Issue Links
- is blocked by
-
MDEV-6991 GROUP_MIN_MAX optimization is erroneously applied in some cases
- Closed