polardbxengine/mysql-test/r/filesort_debug.result

201 lines
8.5 KiB
Plaintext

SET @old_debug= @@session.debug;
#
# Bug#59331 filesort with priority queue: handling of out-of-memory
#
CREATE TABLE t1(f0 int auto_increment primary key, f1 int, f2 varchar(200));
INSERT INTO t1(f1, f2) VALUES
(0,"0"),(1,"1"),(2,"2"),(3,"3"),(4,"4"),(5,"5"),
(6,"6"),(7,"7"),(8,"8"),(9,"9"),(10,"10");
set debug= '+d,bounded_queue_init_fail';
SELECT * FROM t1 ORDER BY f1 ASC, f0 LIMIT 1;
ERROR HY000: Out of memory (Needed NN bytes)
SET session debug= @old_debug;
DROP TABLE t1;
#
# Bug#36022 please log more information about "Sort aborted" queries
#
CREATE TABLE t1(f0 int auto_increment primary key, f1 int);
INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5);
SET session debug= '+d,alloc_sort_buffer_fail';
CALL mtr.add_suppression("Out of sort memory");
SELECT * FROM t1 ORDER BY f1 ASC, f0;
ERROR HY001: Out of sort memory, consider increasing server sort buffer size
SET session debug= @old_debug;
CREATE FUNCTION f1() RETURNS INT RETURN 1;
DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1;
ERROR 42000: Incorrect number of arguments for FUNCTION test.f1; expected 0, got 1
DROP TABLE t1;
DROP FUNCTION f1;
#
# Bug #11747102
# 30771: LOG MORE INFO ABOUT THREADS KILL'D AND SORT ABORTED MESSAGES
#
# connection 1
CREATE TABLE t1(f0 int auto_increment primary key, f1 int);
INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5);
SET DEBUG_SYNC='filesort_start SIGNAL filesort_started WAIT_FOR filesort_killed';
# Sending: (not reaped since connection is killed later)
SELECT * FROM t1 ORDER BY f1 ASC, f0;
# connection 2
SET DEBUG_SYNC='now WAIT_FOR filesort_started';
KILL @id;
SET DEBUG_SYNC='now SIGNAL filesort_killed';
# connection default
SET DEBUG_SYNC= "RESET";
DROP TABLE t1;
#
# Bug#13832772 ASSERTION `THD->IS_ERROR() || KILL_ERRNO'
# FAILED IN FILESORT/MYSQL_DELETE
#
CREATE TABLE t1 (
c1 BLOB,
c2 TEXT,
c3 TEXT,
c4 TEXT,
c5 TEXT,
c6 TEXT,
c7 TEXT,
c8 BLOB,
c9 TEXT,
c19 TEXT,
pk INT,
c20 TEXT,
c21 BLOB,
c22 TEXT,
c23 TEXT,
c24 TEXT,
c25 TEXT,
c26 BLOB,
c27 TEXT,
c28 TEXT,
primary key (pk)
) ENGINE=InnoDB
;
INSERT INTO t1 VALUES (REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), 1, REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096));
INSERT INTO t1 VALUES (REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), 2, REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096));
INSERT INTO t1 VALUES (REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), 3, REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096),
REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096), REPEAT('x', 4096));
CALL mtr.add_suppression("Out of sort memory");
SET SESSION sort_buffer_size=32768;
DELETE IGNORE FROM t1 ORDER BY c26,c7,c23,c4,c25,c5,c20,
c19,c21,c8,c1,c27,c28,c3,c9,c22,c24,c6,c2,pk LIMIT 2;
ERROR HY001: Out of sort memory, consider increasing server sort buffer size
SHOW WARNINGS;
Level Code Message
Error 1038 Out of sort memory, consider increasing server sort buffer size
Error 1028 Sort aborted: Out of sort memory, consider increasing server sort buffer size
DELETE FROM t1 ORDER BY c26,c7,c23,c4,c25,c5,c20,
c19,c21,c8,c1,c27,c28,c3,c9,c22,c24,c6,c2,pk LIMIT 2;
ERROR HY001: Out of sort memory, consider increasing server sort buffer size
SHOW WARNINGS;
Level Code Message
Error 1038 Out of sort memory, consider increasing server sort buffer size
Error 1028 Sort aborted: Out of sort memory, consider increasing server sort buffer size
SET SESSION sort_buffer_size=DEFAULT;
DROP TABLE t1;
#
# Bug#17372396: PLEASE REMOVE SORT ABORTED ERRORS FROM THE ERROR LOG
#
CREATE TABLE t1 (a INT,b INT);
INSERT INTO t1 VALUES (2,4),(7,8);
SELECT GROUP_CONCAT(DISTINCT t1.a) a FROM t1 WHERE t1.a =
(SELECT a FROM t1) GROUP BY b;
ERROR 21000: Subquery returns more than 1 row
DROP TABLE t1;
DATE_TIME [Note] [MY-010930] [Server] Sort aborted, host: localhost, user: root, thread: #, error: Out of memory (Needed N bytes), query: SELECT * FROM t1 ORDER BY f1 ASC, f0 LIMIT 1
DATE_TIME [Note] [MY-010930] [Server] Sort aborted, host: localhost, user: root, thread: #, error: Out of sort memory, consider increasing server sort buffer size, query: SELECT * FROM t1 ORDER BY f1 ASC, f0
DATE_TIME [Note] [MY-010930] [Server] Sort aborted, host: localhost, user: root, thread: #, error: Query execution was interrupted, query: SELECT * FROM t1 ORDER BY f1 ASC, f0
DATE_TIME [Note] [MY-010930] [Server] Sort aborted, host: localhost, user: root, thread: #, error: Out of sort memory, consider increasing server sort buffer size, query: DELETE IGNORE FROM t1 ORDER BY c26,c7,c23,c4,c25,c5,c20,
DATE_TIME [Note] [MY-010930] [Server] Sort aborted, host: localhost, user: root, thread: #, error: Out of sort memory, consider increasing server sort buffer size, query: DELETE FROM t1 ORDER BY c26,c7,c23,c4,c25,c5,c20,
#
# Bug#21611270 ASSERTION IN FILESORT::MAKE_SORTORDER()
#
CREATE TABLE g(b INT NOT NULL, UNIQUE(b)) ENGINE=INNODB;
CREATE TABLE t(a int, c int) ENGINE=INNODB;
INSERT INTO t VALUES(1,1);
SELECT 1
FROM t
GROUP BY a
HAVING (SELECT a
FROM g
GROUP BY b, a);
1
DROP TABLE t, g;
#
# Bug #22200984 ASSERTION IN FILESORT::MAKE_SORTORDER()
#
SET sql_mode="";
CREATE TABLE t1(a_t1 INT, c INT, d INT) ENGINE=INNODB;
CREATE TABLE t2(a_t2 INT NOT NULL, UNIQUE KEY (a_t2)) ENGINE=INNODB;
INSERT INTO t1 VALUES();
SELECT (SELECT 1 FROM t2 GROUP BY d, a_t2 HAVING c) FROM t1 GROUP BY (1=2);
(SELECT 1 FROM t2 GROUP BY d, a_t2 HAVING c)
NULL
DROP TABLE t1, t2;
SET sql_mode=default;
#
# Bug #27041420: ASSERTION `LENGTH == 3' FAILED.
#
CREATE TABLE t1(a DATE);
INSERT INTO t1 VALUES('1000-01-01'), ('2017-10-31');
SELECT HEX(WEIGHT_STRING(a)) FROM t1;
HEX(WEIGHT_STRING(a))
07D021
0FC35F
SELECT HEX(WEIGHT_STRING(a COLLATE utf8mb4_0900_ai_ci, 3, 3, 0xC0)) FROM t1;
HEX(WEIGHT_STRING(a COLLATE utf8mb4_0900_ai_ci, 3, 3, 0xC0))
1C3E1C
1C3F1C
SELECT HEX(WEIGHT_STRING(a COLLATE utf8mb4_0900_ai_ci, 4, 3, 0xC0)) FROM t1;
HEX(WEIGHT_STRING(a COLLATE utf8mb4_0900_ai_ci, 4, 3, 0xC0))
1C3E1C3D
1C3F1C3D
DROP TABLE t1;
#
# Bug #27041543: ASSERTION `MAX_LENGTH >= LENGTH' FAILED.
#
SET NAMES utf8,@@character_set_results=NULL;
Warnings:
Warning 3719 'utf8' is currently an alias for the character set UTF8MB3, but will be an alias for UTF8MB4 in a future release. Please consider using UTF8MB4 in order to be unambiguous.
CREATE TEMPORARY TABLE t1(a INT);
INSERT INTO t1 VALUES(1);
SELECT 1 FROM t1 ORDER BY @x:=makedate(a,a);
1
1
Warnings:
Warning 1287 Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'.
DROP TABLE t1;
CREATE TABLE t1 AS SELECT 1 AS a WHERE false;
CREATE TABLE t2 AS SELECT @x:=makedate(a,a) FROM t1;
Warnings:
Warning 1287 Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'.
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`@x:=makedate(a,a)` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
DROP TABLE t2;
CREATE TABLE t2 AS SELECT @a:=@b:=@x:=makedate(a,a) FROM t1;
Warnings:
Warning 1287 Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'.
Warning 1287 Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'.
Warning 1287 Setting user variables within expressions is deprecated and will be removed in a future release. Consider alternatives: 'SET variable=expression, ...', or 'SELECT expression(s) INTO variables(s)'.
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`@a:=@b:=@x:=makedate(a,a)` varchar(10) CHARACTER SET utf8 DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
DROP TABLE t2;
DROP TABLE t1;