summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorVladislav Vaintroub <wlad@mariadb.com>2021-11-12 00:34:37 +0100
committerVladislav Vaintroub <wlad@mariadb.com>2021-11-12 00:34:37 +0100
commitd9a5c5db072e58cc21d462d107f9e018329011a4 (patch)
treee290cb5563d43155a4978460545748bd7f2aed68 /storage
parent06988bdcaa2d1af2c178c199b7f65dbafda45a2c (diff)
parente58a312e42ad4df55fd9d25d8793f8cf1d2d45cf (diff)
downloadmariadb-git-d9a5c5db072e58cc21d462d107f9e018329011a4.tar.gz
Merge branch '10.6' into 10.7
Diffstat (limited to 'storage')
-rw-r--r--storage/innobase/fsp/fsp0fsp.cc13
-rw-r--r--storage/innobase/row/row0mysql.cc4
-rw-r--r--storage/myisam/mi_delete.c8
3 files changed, 10 insertions, 15 deletions
diff --git a/storage/innobase/fsp/fsp0fsp.cc b/storage/innobase/fsp/fsp0fsp.cc
index a2afacc99f2..71685f42c6f 100644
--- a/storage/innobase/fsp/fsp0fsp.cc
+++ b/storage/innobase/fsp/fsp0fsp.cc
@@ -1709,18 +1709,7 @@ fseg_create(fil_space_t *space, ulint byte_offset, mtr_t *mtr,
mtr->x_lock_space(space);
ut_d(space->modify_check(*mtr));
- if (block) {
- ut_ad(block->page.id().space() == space->id);
-
- if (!space->full_crc32()) {
- fil_block_check_type(*block, block->page.id()
- == page_id_t(TRX_SYS_SPACE,
- TRX_SYS_PAGE_NO)
- ? FIL_PAGE_TYPE_TRX_SYS
- : FIL_PAGE_TYPE_SYS,
- mtr);
- }
- }
+ ut_ad(!block || block->page.id().space() == space->id);
if (!has_done_reservation
&& !fsp_reserve_free_extents(&n_reserved, space, 2,
diff --git a/storage/innobase/row/row0mysql.cc b/storage/innobase/row/row0mysql.cc
index 3defc0dbeac..746d1a850b2 100644
--- a/storage/innobase/row/row0mysql.cc
+++ b/storage/innobase/row/row0mysql.cc
@@ -2495,6 +2495,7 @@ rollback:
fts_optimize_add_table(table);
}
trx->rollback();
+ row_mysql_unlock_data_dictionary(trx);
return err;
}
}
@@ -2508,10 +2509,7 @@ rollback:
err= row_discard_tablespace_foreign_key_checks(trx, table);
if (err != DB_SUCCESS)
- {
- row_mysql_unlock_data_dictionary(trx);
goto rollback;
- }
/* Note: The following cannot be rolled back. Rollback would see the
UPDATE of SYS_INDEXES.TABLE_ID as two operations: DELETE and INSERT.
diff --git a/storage/myisam/mi_delete.c b/storage/myisam/mi_delete.c
index 2c829fa9860..62409a15a46 100644
--- a/storage/myisam/mi_delete.c
+++ b/storage/myisam/mi_delete.c
@@ -767,6 +767,10 @@ err:
returns how many chars was removed or 0 on error
*/
+#if defined(_MSC_VER) && defined(_M_X64) && _MSC_VER >= 1930
+#pragma optimize("g", off)
+#endif
+
static uint remove_key(MI_KEYDEF *keyinfo, uint nod_flag,
uchar *keypos, /* Where key starts */
uchar *lastkey, /* key to be removed */
@@ -891,3 +895,7 @@ static uint remove_key(MI_KEYDEF *keyinfo, uint nod_flag,
(uint) (page_end-start-s_length));
DBUG_RETURN((uint) s_length);
} /* remove_key */
+
+#if defined(_MSC_VER) && defined(_M_X64) && _MSC_VER >= 1930
+#pragma optimize("",on)
+#endif