summaryrefslogtreecommitdiff
path: root/storage/innobase/row
diff options
context:
space:
mode:
authorEugene Kosov <claprix@yandex.ru>2019-11-03 00:15:29 +0300
committerEugene Kosov <claprix@yandex.ru>2019-11-13 22:00:55 +0700
commit98694ab0cbaf623c6ad67dd45d6f90c5c6214fd1 (patch)
tree8cdab46565e7f60191958635e39e3b9a715e7fdf /storage/innobase/row
parent3b573c0783eded1662760dd7ec56404ceb5f2975 (diff)
downloadmariadb-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.cc3
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) {