diff options
author | Eugene Kosov <claprix@yandex.ru> | 2019-11-03 00:15:29 +0300 |
---|---|---|
committer | Eugene Kosov <claprix@yandex.ru> | 2019-11-13 22:00:55 +0700 |
commit | 98694ab0cbaf623c6ad67dd45d6f90c5c6214fd1 (patch) | |
tree | 8cdab46565e7f60191958635e39e3b9a715e7fdf /storage/innobase/row | |
parent | 3b573c0783eded1662760dd7ec56404ceb5f2975 (diff) | |
download | mariadb-git-98694ab0cbaf623c6ad67dd45d6f90c5c6214fd1.tar.gz |
MDEV-20949 Stop issuing 'row size' error on DML
Move row size check to early CREATE/ALTER TABLE phase. Stop checking
on table open.
dict_index_add_to_cache(): remove parameter 'strict', stop checking row size
dict_index_t::record_size_info_t: this is a result of row size check operation
create_table_info_t::row_size_is_acceptable(): performs row size check.
Issues error or warning. Writes first overflow field to InnoDB log.
create_table_info_t::create_table(): add row size check
dict_index_t::record_size_info(): this is a refactored version
of dict_index_t::rec_potentially_too_big(). New version doesn't change global
state of a program but return all interesting info. And it's callers who
decide how to handle row size overflow.
dict_index_t::rec_potentially_too_big(): removed
Diffstat (limited to 'storage/innobase/row')
-rw-r--r-- | storage/innobase/row/row0mysql.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/storage/innobase/row/row0mysql.cc b/storage/innobase/row/row0mysql.cc index a5795ff90e8..dabdeeec68b 100644 --- a/storage/innobase/row/row0mysql.cc +++ b/storage/innobase/row/row0mysql.cc @@ -2450,8 +2450,7 @@ row_create_index_for_mysql( } else { dict_build_index_def(table, index, trx); - err = dict_index_add_to_cache( - table, index, FIL_NULL, trx_is_strict(trx)); + err = dict_index_add_to_cache(table, index, FIL_NULL); ut_ad((index == NULL) == (err != DB_SUCCESS)); if (err != DB_SUCCESS) { |