201 lines
8.5 KiB
Plaintext
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;
|