1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-29 05:21:33 +03:00

MDEV-25441 WITH TIES is not respected with SQL_BUFFER_RESULT and constant in ORDER BY

Pushing LIMIT to temp aggregation table is possible, but not when WITH
TIES is used. In a degenerate case with constant ORDER BY, the constant
gets removed and the code assumed the limit is push-able.

Ensure that if WITH TIES is present, that this does not happen.
This commit is contained in:
Vicențiu Ciorbaru
2021-04-18 22:58:34 +03:00
parent 44a6af65f5
commit aeccdddedd
3 changed files with 52 additions and 1 deletions

View File

@ -1028,6 +1028,17 @@ group by a, b
order by (select 1), a
fetch first 1 rows with ties;
drop table t1;
--echo #
--echo # MDEV-25441
--echo # WITH TIES is not respected with SQL_BUFFER_RESULT and constant in ORDER BY
--echo #
CREATE TABLE t1 (a INT);
INSERT INTO t1 values (1), (2), (3), (4), (5), (6), (7), (8), (9), (10);
explain SELECT SQL_BUFFER_RESULT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
SELECT SQL_BUFFER_RESULT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
SELECT 1 AS f FROM t1 ORDER BY f FETCH NEXT 2 ROW WITH TIES;
drop table t1;