From: kevin.lewis Date: May 9 2012 11:22pm Subject: bzr push into mysql-trunk branch (kevin.lewis:3808 to 3809) List-Archive: http://lists.mysql.com/commits/144180 Message-Id: <20120509232238.5445C217263A@dhcp-adc-twvpn-2-vpnpool-10-154-54-88.vpn.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3809 kevin.lewis@stripped 2012-05-09 5980 patch - Fixed some comments to address the previous TODO comments. Another fix for keeping the crashing test from running on non-debug platforms. modified: mysql-test/suite/innodb/t/innodb-multiple-tablespaces.test storage/innobase/fil/fil0fil.cc 3808 kevin.lewis@stripped 2012-05-09 Prevent crashing test from running where it should not. modified: mysql-test/suite/innodb/t/innodb-multiple-tablespaces.test === modified file 'mysql-test/suite/innodb/t/innodb-multiple-tablespaces.test' --- a/mysql-test/suite/innodb/t/innodb-multiple-tablespaces.test revid:kevin.lewis@stripped +++ b/mysql-test/suite/innodb/t/innodb-multiple-tablespaces.test revid:kevin.lewis@stripped @@ -4,6 +4,9 @@ --source include/have_innodb.inc +# Must have debug code to use SET SESSION debug +--source include/have_debug.inc + # Valgrind would complain about memory leaks when we crash on purpose. --source include/not_valgrind.inc === modified file 'storage/innobase/fil/fil0fil.cc' --- a/storage/innobase/fil/fil0fil.cc revid:kevin.lewis@stripped +++ b/storage/innobase/fil/fil0fil.cc revid:kevin.lewis@stripped @@ -1875,7 +1875,6 @@ fil_write_flushed_lsn_to_data_files( and the UNDO log tablespaces (if separate) are always open. */ if (space->purpose == FIL_TABLESPACE) { -// && !fil_is_user_tablespace_id(space->id)) { // KLTEST ulint sum_of_sizes = 0; @@ -2151,6 +2150,12 @@ created does not exist, then we create t Note that ibbackup --apply-log sets fil_path_to_mysql_datadir to point to the datadir that we should use in replaying the file operations. + +InnoDB recovery does not replay these fully since it always sets the space id +to zero. But ibbackup does replay them. TODO: If remote tablespaces are used, +ibbackup will only create tables in the default directory since MLOG_FILE_CREATE +and MLOG_FILE_CREATE2 only know the tablename, not the path. + @return end of log record, or NULL if the record was not completely contained between ptr and end_ptr */ UNIV_INTERN @@ -2268,8 +2273,7 @@ fil_op_log_parse_or_replay( if (fil_get_space_id_for_table(new_name) == ULINT_UNDEFINED) { /* We do not care about the old name, that - is why we pass NULL as the first argument. - TODO: If file is remote, we do not know the path */ + is why we pass NULL as the first argument. */ if (!fil_rename_tablespace(NULL, space_id, new_name, NULL)) { ut_error; @@ -3015,9 +3019,6 @@ directory of a running mysqld program. W path '.'. Tables created with CREATE TEMPORARY TABLE we place in the temp dir of the mysqld server. -TODO: If this is being called during recovery replaying an MLOG_FILE_CREATE -or MLOG_FILE_CREATE2 record and the DATA DICTIONARY path was used, then we -do not have a tablename that looks like database/tablename. @return DB_SUCCESS or error code */ UNIV_INTERN dberr_t No bundle (reason: useless for push emails).