From: kevin.lewis Date: April 27 2012 4:43am Subject: bzr push into mysql-trunk-wl5545 branch (kevin.lewis:3743 to 3744) List-Archive: http://lists.mysql.com/commits/143660 Message-Id: <20120427044323.66AD420CA03B@dhcp-adc-twvpn-2-vpnpool-10-154-44-144.vpn.oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit 3744 kevin.lewis@stripped 2012-04-26 Fixes for PB2 Valgrind run. modified: mysql-test/suite/parts/t/partition_reorganize_myisam.test storage/innobase/dict/dict0load.cc 3743 kevin.lewis@stripped 2012-04-25 Full WL 5980 patch for pb2 testing New partition tests and code tweaks for partition portability of remote tablespaces. added: mysql-test/r/partition_innodb_tablespace.result mysql-test/suite/innodb/r/innodb-tablespace.result mysql-test/suite/innodb/t/innodb-tablespace.test mysql-test/suite/parts/r/partition_reorganize_innodb.result mysql-test/suite/parts/r/partition_reorganize_myisam.result mysql-test/suite/parts/t/partition_reorganize_innodb.test mysql-test/suite/parts/t/partition_reorganize_myisam.test mysql-test/t/partition_innodb_tablespace.test modified: include/my_base.h mysql-test/r/mysqlshow.result mysql-test/suite/innodb/r/innodb-restart.result mysql-test/suite/innodb/r/innodb-system-table-view.result mysql-test/suite/innodb/r/innodb_16k.result mysql-test/suite/innodb/r/innodb_4k.result mysql-test/suite/innodb/r/innodb_8k.result mysql-test/suite/innodb/t/innodb-restart.test mysql-test/suite/innodb/t/innodb-system-table-view.test mysql-test/suite/innodb/t/innodb_16k.test mysql-test/suite/innodb/t/innodb_4k.test mysql-test/suite/innodb/t/innodb_8k.test mysql-test/suite/parts/r/partition_basic_symlink_innodb.result mysql-test/suite/parts/t/partition_basic_symlink_innodb.test mysys/my_handler_errors.h sql/ha_partition.cc sql/ha_partition.h sql/handler.cc sql/share/errmsg-utf8.txt sql/sql_partition.cc sql/sql_partition.h sql/sql_table.cc storage/innobase/dict/dict0boot.cc storage/innobase/dict/dict0crea.cc storage/innobase/dict/dict0dict.cc storage/innobase/dict/dict0load.cc storage/innobase/fil/fil0fil.cc storage/innobase/handler/ha_innodb.cc storage/innobase/handler/ha_innodb.h storage/innobase/handler/handler0alter.cc storage/innobase/handler/i_s.cc storage/innobase/handler/i_s.h storage/innobase/include/db0err.h storage/innobase/include/dict0boot.h storage/innobase/include/dict0crea.h storage/innobase/include/dict0dict.h storage/innobase/include/dict0dict.ic storage/innobase/include/dict0load.h storage/innobase/include/dict0mem.h storage/innobase/include/fil0fil.h storage/innobase/include/os0file.h storage/innobase/include/row0merge.h storage/innobase/lock/lock0lock.cc storage/innobase/os/os0file.cc storage/innobase/row/row0merge.cc storage/innobase/row/row0mysql.cc storage/innobase/srv/srv0start.cc storage/innobase/sync/sync0sync.cc storage/innobase/ut/ut0ut.cc === modified file 'mysql-test/suite/parts/t/partition_reorganize_myisam.test' --- a/mysql-test/suite/parts/t/partition_reorganize_myisam.test revid:kevin.lewis@stripped +++ b/mysql-test/suite/parts/t/partition_reorganize_myisam.test revid:kevin.lewis@stripped @@ -2,8 +2,10 @@ # A series of tests to show the correct behavior when using # ALTER TABLE ... REORGANIZE PARTITION with InnoDB # ---source include/not_windows.inc --source include/have_partition.inc +--source include/have_symlink.inc +--source include/not_windows.inc + SET default_storage_engine=MyISAM; LET $MYSQLD_DATADIR = `select @@datadir`; === modified file 'storage/innobase/dict/dict0load.cc' --- a/storage/innobase/dict/dict0load.cc revid:kevin.lewis@stripped +++ b/storage/innobase/dict/dict0load.cc revid:kevin.lewis@stripped @@ -1140,7 +1140,7 @@ loop: If the table uses a remote tablespace, look for the space_id in SYS_DATAFILES to find the filepath */ - /* Use the remote filepath if needed. */ + /* Use the remote filepath if known. */ char* filepath = NULL; if (DICT_TF_HAS_DATA_DIR(flags)) { filepath = dict_get_first_path( @@ -2142,16 +2142,15 @@ dict_save_data_dir_path( /* Be sure this filepath is not the default filepath. */ char* default_filepath = fil_make_ibd_name(table->name, FALSE); - if (strcmp(filepath, default_filepath) == 0) { - return; - } + if (!strcmp(filepath, default_filepath)) { + ulint pathlen = strlen(filepath); + ut_a(pathlen < OS_FILE_MAX_PATH); + ut_a(0 == strcmp(filepath + pathlen - 4, ".ibd")); - ulint pathlen = strlen(filepath); - ut_a(pathlen < OS_FILE_MAX_PATH); - ut_a(0 == strcmp(filepath + pathlen - 4, ".ibd")); - - table->data_dir_path = mem_heap_strdup(table->heap, filepath); - os_file_make_data_dir_path(table->data_dir_path); + table->data_dir_path = mem_heap_strdup(table->heap, filepath); + os_file_make_data_dir_path(table->data_dir_path); + } + mem_free(default_filepath); } /********************************************************************//** No bundle (reason: useless for push emails).