1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-24 11:21:21 +03:00

mysqltest now gives error messages with error code for my_delete, my_rename, my_copy etc.

Fixed crashing bug when doing ALTER TABLE RENAME with transactional tables.

client/mysqltest.cc:
  Added errno to error message for system calls (delete, rename etc)
  Write error message for failures of system calls
mysql-test/include/cleanup_fake_relay_log.inc:
  Disable warnings for remove_file
mysql-test/include/diff_tables.inc:
  Disable warnings for remove_file
mysql-test/include/maria_empty_logs.inc:
  Disable warnings for remove_file
mysql-test/include/maria_make_snapshot.inc:
  Disable warnings for remove_file
mysql-test/include/maria_make_snapshot_for_feeding_recovery.inc:
  Disable warnings for remove_file
mysql-test/include/mysqlhotcopy.inc:
  Disable warnings for remove_file
mysql-test/include/ndb_backup.inc:
  Disable warnings for remove_file
mysql-test/include/ndb_backup_print.inc:
  Disable warnings for remove_file
mysql-test/r/alter_table_trans.result:
  Test of crashing ALTER TABLE RENAME bug
mysql-test/t/alter_table_trans.test:
  Test of crashing ALTER TABLE RENAME bug
mysql-test/t/mysqltest.test:
  Disable warnings for remove_file and move_file
mysys/my_copy.c:
  Fixed wrong error message
sql/sql_table.cc:
  Fixed crashing bug when doing ALTER TABLE RENAME with transactional tables.
This commit is contained in:
Michael Widenius
2010-09-15 15:48:15 +03:00
parent 209b6f9a08
commit f4820ea62e
14 changed files with 93 additions and 33 deletions

View File

@@ -6886,8 +6886,14 @@ view_err:
Workaround InnoDB ending the transaction when the table instance
is unlocked/closed (close_cached_table below), otherwise the trx
state will differ between the server and storage engine layers.
We have to unlock LOCK_open here as otherwise we can get deadlock
in wait_if_global_readlock(). This is still safe as we have a
name lock on the table object.
*/
VOID(pthread_mutex_unlock(&LOCK_open));
ha_autocommit_or_rollback(thd, 0);
VOID(pthread_mutex_lock(&LOCK_open));
/*
Then do a 'simple' rename of the table. First we need to close all