44 lines
1.5 KiB
Plaintext
44 lines
1.5 KiB
Plaintext
--source include/have_innodb_max_16k.inc
|
|
|
|
let $ps16 = `SELECT truncate(@@innodb_page_size / 16, 0)`;
|
|
let $ps316 = `SELECT truncate(3 * @@innodb_page_size / 16, 0)`;
|
|
|
|
# Test creating too big undo log record for a table.
|
|
--disable_query_log
|
|
eval CREATE TABLE t0 (a blob, b blob, c blob, d blob, e blob, f blob,
|
|
index(a($ps316)), index(b($ps16)), index(c($ps16)),
|
|
index(d($ps16)), index(e($ps16)), index(f($ps16))) row_format=dynamic;
|
|
--enable_query_log
|
|
|
|
BEGIN;
|
|
INSERT INTO t0 VALUES(
|
|
repeat('a',10000),repeat('b',10000),repeat('c',10000),
|
|
repeat('d',10000),repeat('e',10000),repeat('f',10000));
|
|
--error ER_UNDO_RECORD_TOO_BIG
|
|
UPDATE t0 SET a=substr(a,9999),b=substr(b,9999),c=substr(c,9999),
|
|
d=substr(d,9999),e=substr(e,9999),f=substr(f,9999);
|
|
UPDATE t0 SET a=substr(a,9999);
|
|
SELECT LENGTH(a) FROM t0;
|
|
ROLLBACK;
|
|
SELECT * FROM t0;
|
|
DROP TABLE t0;
|
|
|
|
--disable_query_log
|
|
eval CREATE TEMPORARY TABLE t0 (a blob, b blob, c blob, d blob, e blob, f blob,
|
|
index(a($ps316)), index(b($ps16)), index(c($ps16)),
|
|
index(d($ps16)), index(e($ps16)), index(f($ps16))) row_format=dynamic;
|
|
--enable_query_log
|
|
|
|
BEGIN;
|
|
INSERT INTO t0 VALUES(
|
|
repeat('a',10000),repeat('b',10000),repeat('c',10000),
|
|
repeat('d',10000),repeat('e',10000),repeat('f',10000));
|
|
--error ER_UNDO_RECORD_TOO_BIG
|
|
UPDATE t0 SET a=substr(a,9999),b=substr(b,9999),c=substr(c,9999),
|
|
d=substr(d,9999),e=substr(e,9999),f=substr(f,9999);
|
|
UPDATE t0 SET a=substr(a,9999);
|
|
SELECT LENGTH(a) FROM t0;
|
|
ROLLBACK;
|
|
SELECT * FROM t0;
|
|
DROP TABLE t0;
|