Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.4.5, 10.4.6, 10.2(EOL), 10.3(EOL), 10.4(EOL)
-
Ubuntu 18.04 running MariaDB in Docker
Description
The following code returns deterministically the wrong result:
CREATE SCHEMA A; |
|
CREATE TABLE A.A (B INTEGER DEFAULT 1); |
|
SELECT MAX(2) OVER () * COUNT(AJ.B) AS JA FROM A.A AS AJ WHERE FALSE; |
MariaDB return '2', Postgres and MySQL 8.0.16 return '0', which is correct (COUNT should return 0). Therefore, I expect that MariaDB also returns 0.
This bug required DEFAULT 1 and WHERE FALSE. If one removes one of both, the bug disappears.
Additionally, if COUNT is replaced with a constant, all databases return the same result. Therefore, I assume that COUNT forces an evaluation on the empty table, but returns the wrong result (1 instead of 0)
I tested versions 10.4.5 and 10.4.6, both versions are affected. In MySQL 8.0.16, the correct value is returned.
Attachments
Issue Links
- is duplicated by
-
MDEV-21318 Wrong results with window functions and implicit grouping
- Closed
- relates to
-
MDEV-21318 Wrong results with window functions and implicit grouping
- Closed