diff options
author | Eugene Kosov <claprix@yandex.ru> | 2019-08-28 13:52:51 +0300 |
---|---|---|
committer | Eugene Kosov <claprix@yandex.ru> | 2019-09-15 22:10:52 +0300 |
commit | 140679cb8dde1e6271cb05f3f64d2b2fc087cb99 (patch) | |
tree | 9c30fef43b2551da96f6631e51053471b0f9ff16 /mysql-test/suite/innodb/t/strict_mode.test | |
parent | 2a98d0b5ca2324405d65415423258cc088fa2f8a (diff) | |
download | mariadb-git-140679cb8dde1e6271cb05f3f64d2b2fc087cb99.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.test | 2 |
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; |