summaryrefslogtreecommitdiff
path: root/mysql-test/suite/wsrep/t/variables.test
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2020-01-07 10:43:22 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2020-01-07 11:02:12 +0200
commit82187a1221467c7d193fca60a11a020ab4228e4a (patch)
tree951aa643d58d93b03b7af4c4bdf3a06001b83c71 /mysql-test/suite/wsrep/t/variables.test
parent5824e9f8df35e24bada99ea1409301f9e166421f (diff)
downloadmariadb-git-82187a1221467c7d193fca60a11a020ab4228e4a.tar.gz
MDEV-21429 TRUNCATE and OPTIMIZE are being refused due to "row size too large"
By default (innodb_strict_mode=ON), InnoDB attempts to guarantee at DDL time that any INSERT to the table can succeed. MDEV-19292 recently revised the "row size too large" check in InnoDB. The check still is somewhat inaccurate; that should be addressed in MDEV-20194. Note: If a table contains multiple long string columns so that each column is part of a column prefix index, then an UPDATE that attempts to modify all those columns at once may fail, because the undo log record might not fit in a single undo log page (of innodb_page_size). In the worst case, the undo log record would grow by about 3KiB of for each updated column. The DDL-time check (since the InnoDB Plugin for MySQL 5.1) is optional in the sense that when the maximum B-tree record size or undo log record size would be exceeded, the DML operation will fail and the transaction will be properly rolled back. create_table_info_t::row_size_is_acceptable(): Add the parameter 'bool strict' so that innodb_strict_mode=ON can be overridden during TRUNCATE, OPTIMIZE and ALTER TABLE...FORCE (when the storage format is not changing). create_table_info_t::create_table(): Perform a sloppy check for TRUNCATE TABLE (create_fk=false). prepare_inplace_alter_table_dict(): Perform a sloppy check for simple operations. trx_is_strict(): Remove. The function became unused in commit 98694ab0cbaf623c6ad67dd45d6f90c5c6214fd1 (MDEV-20949).
Diffstat (limited to 'mysql-test/suite/wsrep/t/variables.test')
0 files changed, 0 insertions, 0 deletions