summaryrefslogtreecommitdiff
path: root/mysql-test/suite/innodb/t/strict_mode.test
diff options
context:
space:
mode:
authorEugene Kosov <claprix@yandex.ru>2019-08-28 13:52:51 +0300
committerEugene Kosov <claprix@yandex.ru>2019-09-15 22:10:52 +0300
commit140679cb8dde1e6271cb05f3f64d2b2fc087cb99 (patch)
tree9c30fef43b2551da96f6631e51053471b0f9ff16 /mysql-test/suite/innodb/t/strict_mode.test
parent2a98d0b5ca2324405d65415423258cc088fa2f8a (diff)
downloadmariadb-git-bb-10.2-MDEV-20194-CHECK-row-size.tar.gz
MDEV-20194 Warnings inconsistently issued upon CHECK on table from older versionsbb-10.2-MDEV-20194-CHECK-row-size
This patch changes conditions for HA_ERR_TO_BIG_ROW and users will complain! But I hope now we really have a correct row size check. This patch will be hard to merge because of changed tests. Ideally, all row size checks code should live now in innodb.max_record_size or innodb.max_record_size_compressed. Now check for too big row size performed for every index on CREATE TABLE, and for added index on ALTER TABLE. This is how the topic issue was fixed. Error message for COMPRESSED tables might contain an incorrect maximum possible row size if overflowed index was not clustered. Fixing it will require some more effort. create_table_info_t::row_size_is_acceptable(): high level too big row size check interface. record_size_info_t dict_index_t::record_size_info(): this is a low level interface to perform too big row checks. Also can be used to get maximum potential row size. get_max_record_size_leaf_page() get_max_record_size_non_leaf_page(): these are uniform way to get maximum allows row size for a given page size and index row format. One function instead of 5 slightly different computations. format_too_big_row_error_message(): one function for formatting too big row error messages instead of several.
Diffstat (limited to 'mysql-test/suite/innodb/t/strict_mode.test')
-rw-r--r--mysql-test/suite/innodb/t/strict_mode.test2
1 files changed, 1 insertions, 1 deletions
diff --git a/mysql-test/suite/innodb/t/strict_mode.test b/mysql-test/suite/innodb/t/strict_mode.test
index ebfc05aef02..f68dd4a3310 100644
--- a/mysql-test/suite/innodb/t/strict_mode.test
+++ b/mysql-test/suite/innodb/t/strict_mode.test
@@ -5,7 +5,7 @@
--echo # INNODB_STRICT_MODE = 1
--echo #
-call mtr.add_suppression("InnoDB: Cannot add field .* in table .* because after adding it, the row size is .* which is greater than maximum allowed size (.*) for a record on index leaf page.");
+call mtr.add_suppression('After adding field .* which is greater than maximum allowed size');
set innodb_strict_mode = 0;