Loading innobase/dict/dict0dict.c +2 −1 Original line number Diff line number Diff line Loading @@ -628,7 +628,8 @@ dict_table_get_on_id( CREATE, for example, we already have the mutex! */ #ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); ut_ad(mutex_own(&(dict_sys->mutex)) || trx->dict_operation_lock_mode == RW_X_LATCH); #endif /* UNIV_SYNC_DEBUG */ return(dict_table_get_on_id_low(table_id, trx)); Loading innobase/os/os0file.c +10 −10 Original line number Diff line number Diff line Loading @@ -922,7 +922,7 @@ os_file_create_simple( file = CreateFile((LPCTSTR) name, access, FILE_SHARE_READ | FILE_SHARE_WRITE, /* file can be read ansd written also /* file can be read and written also by other processes */ NULL, /* default security attributes */ create_flag, Loading Loading @@ -1494,7 +1494,7 @@ os_file_rename( return(TRUE); } os_file_handle_error(oldpath, "rename"); os_file_handle_error_no_exit(oldpath, "rename"); return(FALSE); #else Loading @@ -1503,7 +1503,7 @@ os_file_rename( ret = rename((const char*)oldpath, (const char*)newpath); if (ret != 0) { os_file_handle_error(oldpath, "rename"); os_file_handle_error_no_exit(oldpath, "rename"); return(FALSE); } Loading innobase/row/row0undo.c +10 −10 Original line number Diff line number Diff line Loading @@ -212,7 +212,7 @@ row_undo( ulint err; trx_t* trx; dulint roll_ptr; ibool froze_data_dict = FALSE; ibool locked_data_dict; ut_ad(node && thr); Loading Loading @@ -265,13 +265,13 @@ row_undo( /* Prevent DROP TABLE etc. while we are rolling back this row. If we are doing a TABLE CREATE or some other dictionary operation, then we already have dict_operation_lock locked in x-mode. Do not try to lock again in s-mode, because that would cause a hang. */ try to lock again, because that would cause a hang. */ if (trx->dict_operation_lock_mode == 0) { locked_data_dict = (trx->dict_operation_lock_mode == 0); row_mysql_freeze_data_dictionary(trx); if (locked_data_dict) { froze_data_dict = TRUE; row_mysql_lock_data_dictionary(trx); } if (node->state == UNDO_NODE_INSERT) { Loading @@ -284,9 +284,9 @@ row_undo( err = row_undo_mod(node, thr); } if (froze_data_dict) { if (locked_data_dict) { row_mysql_unfreeze_data_dictionary(trx); row_mysql_unlock_data_dictionary(trx); } /* Do some cleanup */ Loading Loading
innobase/dict/dict0dict.c +2 −1 Original line number Diff line number Diff line Loading @@ -628,7 +628,8 @@ dict_table_get_on_id( CREATE, for example, we already have the mutex! */ #ifdef UNIV_SYNC_DEBUG ut_ad(mutex_own(&(dict_sys->mutex))); ut_ad(mutex_own(&(dict_sys->mutex)) || trx->dict_operation_lock_mode == RW_X_LATCH); #endif /* UNIV_SYNC_DEBUG */ return(dict_table_get_on_id_low(table_id, trx)); Loading
innobase/os/os0file.c +10 −10 Original line number Diff line number Diff line Loading @@ -922,7 +922,7 @@ os_file_create_simple( file = CreateFile((LPCTSTR) name, access, FILE_SHARE_READ | FILE_SHARE_WRITE, /* file can be read ansd written also /* file can be read and written also by other processes */ NULL, /* default security attributes */ create_flag, Loading Loading @@ -1494,7 +1494,7 @@ os_file_rename( return(TRUE); } os_file_handle_error(oldpath, "rename"); os_file_handle_error_no_exit(oldpath, "rename"); return(FALSE); #else Loading @@ -1503,7 +1503,7 @@ os_file_rename( ret = rename((const char*)oldpath, (const char*)newpath); if (ret != 0) { os_file_handle_error(oldpath, "rename"); os_file_handle_error_no_exit(oldpath, "rename"); return(FALSE); } Loading
innobase/row/row0undo.c +10 −10 Original line number Diff line number Diff line Loading @@ -212,7 +212,7 @@ row_undo( ulint err; trx_t* trx; dulint roll_ptr; ibool froze_data_dict = FALSE; ibool locked_data_dict; ut_ad(node && thr); Loading Loading @@ -265,13 +265,13 @@ row_undo( /* Prevent DROP TABLE etc. while we are rolling back this row. If we are doing a TABLE CREATE or some other dictionary operation, then we already have dict_operation_lock locked in x-mode. Do not try to lock again in s-mode, because that would cause a hang. */ try to lock again, because that would cause a hang. */ if (trx->dict_operation_lock_mode == 0) { locked_data_dict = (trx->dict_operation_lock_mode == 0); row_mysql_freeze_data_dictionary(trx); if (locked_data_dict) { froze_data_dict = TRUE; row_mysql_lock_data_dictionary(trx); } if (node->state == UNDO_NODE_INSERT) { Loading @@ -284,9 +284,9 @@ row_undo( err = row_undo_mod(node, thr); } if (froze_data_dict) { if (locked_data_dict) { row_mysql_unfreeze_data_dictionary(trx); row_mysql_unlock_data_dictionary(trx); } /* Do some cleanup */ Loading