[MDEV-28536] Incorrect sequence in view column processing created as select with ROLLUP and repeated columns in GROUP BY Created: 2022-05-11  Updated: 2023-11-28

Status: Open
Project: MariaDB Server
Component/s: None
Affects Version/s: 10.3, 10.4, 10.5, 10.6, 10.7, 10.8, 10.9
Fix Version/s: 10.11

Type: Bug Priority: Major
Reporter: Lena Startseva Assignee: Oleksandr Byelkin
Resolution: Unresolved Votes: 0
Labels: view-protocol

Issue Links:
PartOf
is part of MDEV-27691 make working view-protocol Open

 Description   

If select for creating view contains repeated column in GROUP BY and ROLLUP data in repeated columns are swapped.

Test:

CREATE TABLE t1 (a INT(10) NOT NULL, b INT(10) NOT NULL);
INSERT INTO t1 VALUES (1, 1);
INSERT INTO t1 VALUES (1, 2);
 
SELECT a, b,  a AS c, COUNT(*) AS count FROM t1 GROUP BY a, b, c WITH ROLLUP;
 
CREATE VIEW v1 as SELECT a, b,  a AS c,  COUNT(*) AS count FROM t1 GROUP BY a, b, c WITH ROLLUP;
SELECT * FROM v1;
 
DROP VIEW v1;
DROP TABLE t1;

Actual result:

SELECT a, b,  a AS c, COUNT(*) AS count FROM t1 GROUP BY a, b, c WITH ROLLUP;
a	b	c	count
1	1	1	1
1	1	NULL	1
1	2	1	1
1	2	NULL	1
1	NULL	NULL	2
NULL	NULL	NULL	2
CREATE VIEW v1 as SELECT a, b,  a AS c,  COUNT(*) AS count FROM t1 GROUP BY a, b, c WITH ROLLUP;
SELECT * FROM v1;
a	b	c	count
1	1	1	1
NULL	1	1	1
1	2	1	1
NULL	2	1	1
NULL	NULL	1	2
NULL	NULL	1	2

Expected result:

SELECT a, b,  a AS c, COUNT(*) AS count FROM t1 GROUP BY a, b, c WITH ROLLUP;
a	b	c	count
1	1	1	1
1	1	NULL	1
1	2	1	1
1	2	NULL	1
1	NULL	NULL	2
NULL	NULL	NULL	2
CREATE VIEW v1 as SELECT a, b,  a AS c,  COUNT(*) AS count FROM t1 GROUP BY a, b, c WITH ROLLUP;
SELECT * FROM v1;
a	b	c	count
1	1	1	1
1	1	NULL	1
1	2	1	1
1	2	NULL	1
1	NULL	NULL	2
NULL	NULL	NULL	2


Generated at Thu Feb 08 10:01:30 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.