From aeccdddedd5d3d306dd317e6b366d50bc807726b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vicen=C8=9Biu=20Ciorbaru?= Date: Sun, 18 Apr 2021 22:58:34 +0300 Subject: 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. --- mysql-test/main/fetch_first.test | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'mysql-test/main/fetch_first.test') diff --git a/mysql-test/main/fetch_first.test b/mysql-test/main/fetch_first.test index 6995c1cb5b1..76c0a8b8b39 100644 --- a/mysql-test/main/fetch_first.test +++ b/mysql-test/main/fetch_first.test @@ -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; -- cgit v1.2.1