From: Patrick Crews Date: March 15 2009 4:25pm Subject: bzr commit into mysql-5.0-bugteam branch (patrick.crews:2774) Bug#41307 List-Archive: http://lists.mysql.com/commits/69252 X-Bug: 41307 Message-Id: <20090315162525.CACB512338B9@mister-local-2.local> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Boundary_(ID_T9BCq3CxHRX8TSMDmpuo3w)" --Boundary_(ID_T9BCq3CxHRX8TSMDmpuo3w) MIME-version: 1.0 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline #At file:///Users/pcrews/usr/local/bin/data1/work/ndb_grep/mysql-5.0-bugteam/ based on revid:chad@stripped 2774 Patrick Crews 2009-03-15 Bug#41307: Tests using include/ndb_backup.inc won't work on Windows due to 'grep' call. Revised patch incorporating cleaner test code brought up during review. Removed the use of grep and accomplished same actions via SQL / use of the server. Runs as before on *nix systems and now runs on Windows without Cygwin as well. modified: mysql-test/include/ndb_backup.inc mysql-test/r/ndb_restore.result mysql-test/r/ndb_restore_print.result === modified file 'mysql-test/include/ndb_backup.inc' --- a/mysql-test/include/ndb_backup.inc 2009-02-19 20:37:40 +0000 +++ b/mysql-test/include/ndb_backup.inc 2009-03-15 16:25:14 +0000 @@ -3,29 +3,49 @@ # in test cases and can be reused. # ###################################################### -# Bug#41307: Tests using include/ndb_backup.inc won't work on Windows due to -# 'grep' call -# This test is disabled on Windows via the next line until the above bug is -# resolved ---source include/not_windows.inc - --exec $NDB_MGM --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -e "start backup" >> $NDB_TOOLS_OUTPUT -# there is no neat way to find the backupid, this is a hack to find it... - ---exec $NDB_TOOLS_DIR/ndb_select_all --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -d sys --delimiter=',' SYSTAB_0 | grep 520093696 > $MYSQLTEST_VARDIR/tmp.dat +# To find the backupid, we must dump this data to a table, and SELECT +# what we want into an outfile. This could be accomplished with grep, but +# grep isn't Windows-portable + +--disable_query_log +# create a table to help us out +--disable_warnings # leave this on until done with the entire process +# cleanup +DROP TABLE IF EXISTS helper1; +CREATE TABLE helper1(c1 VARCHAR(20)); +# dump raw data to file +let $ndb_backup_file1= $MYSQLTEST_VARDIR/ndb_backup_tmp.dat; +let $ndb_backup_file2= $MYSQLTEST_VARDIR/tmp.dat; +--error 0,1 +--remove_file $ndb_backup_file1 +--exec $NDB_TOOLS_DIR/ndb_select_all --ndb-connectstring="localhost:$NDBCLUSTER_PORT" -d sys --delimiter=',' SYSTAB_0 > $ndb_backup_file1 +# load the table from the raw data file +eval LOAD DATA INFILE '$ndb_backup_file1' INTO TABLE helper1; +--remove_file $ndb_backup_file1 +# output what we need +eval SELECT * FROM helper1 WHERE c1 LIKE '%520093696%' +INTO OUTFILE '$ndb_backup_file2'; +# cleanup +DROP TABLE helper1; +--enable_warnings +--enable_query_log -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info +(id INT, backup_id INT) ENGINE = MEMORY; DELETE FROM test.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; +--replace_result $MYSQLTEST_VARDIR +eval LOAD DATA INFILE '$ndb_backup_file2' +INTO TABLE test.backup_info FIELDS TERMINATED BY ','; +--remove_file $ndb_backup_file2 --replace_column 1 SELECT @the_backup_id:=backup_id FROM test.backup_info; - -let the_backup_id=`select @the_backup_id`; +let $the_backup_id=`SELECT @the_backup_id`; DROP TABLE test.backup_info; === modified file 'mysql-test/r/ndb_restore.result' --- a/mysql-test/r/ndb_restore.result 2008-01-22 13:18:47 +0000 +++ b/mysql-test/r/ndb_restore.result 2009-03-15 16:25:14 +0000 @@ -129,9 +129,11 @@ create table t7 engine=myisam as select create table t8 engine=myisam as select * from t8_c; create table t9 engine=myisam as select * from t9_c; create table t10 engine=myisam as select * from t10_c; -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info +(id INT, backup_id INT) ENGINE = MEMORY; DELETE FROM test.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; +LOAD DATA INFILE '/tmp.dat' +INTO TABLE test.backup_info FIELDS TERMINATED BY ','; SELECT @the_backup_id:=backup_id FROM test.backup_info; @the_backup_id:=backup_id === modified file 'mysql-test/r/ndb_restore_print.result' --- a/mysql-test/r/ndb_restore_print.result 2007-03-08 08:37:53 +0000 +++ b/mysql-test/r/ndb_restore_print.result 2009-03-15 16:25:14 +0000 @@ -227,9 +227,11 @@ hex(h3) NULL hex(i1) NULL hex(i2) NULL hex(i3) NULL -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info +(id INT, backup_id INT) ENGINE = MEMORY; DELETE FROM test.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; +LOAD DATA INFILE '/tmp.dat' +INTO TABLE test.backup_info FIELDS TERMINATED BY ','; SELECT @the_backup_id:=backup_id FROM test.backup_info; @the_backup_id:=backup_id @@ -261,9 +263,11 @@ create table t4 (pk int key, a int) engi insert into t2 values (1,11),(2,12),(3,13),(4,14),(5,15); insert into t3 values (1,21),(2,22),(3,23),(4,24),(5,25); insert into t4 values (1,31),(2,32),(3,33),(4,34),(5,35); -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info +(id INT, backup_id INT) ENGINE = MEMORY; DELETE FROM test.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; +LOAD DATA INFILE '/tmp.dat' +INTO TABLE test.backup_info FIELDS TERMINATED BY ','; SELECT @the_backup_id:=backup_id FROM test.backup_info; @the_backup_id:=backup_id @@ -305,9 +309,11 @@ create table t1 insert into t1 values(1, 8388607, 16777215); insert into t1 values(2, -8388608, 0); insert into t1 values(3, -1, 1); -CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info (id INT, backup_id INT) ENGINE = HEAP; +CREATE TEMPORARY TABLE IF NOT EXISTS test.backup_info +(id INT, backup_id INT) ENGINE = MEMORY; DELETE FROM test.backup_info; -LOAD DATA INFILE '../tmp.dat' INTO TABLE test.backup_info FIELDS TERMINATED BY ','; +LOAD DATA INFILE '/tmp.dat' +INTO TABLE test.backup_info FIELDS TERMINATED BY ','; SELECT @the_backup_id:=backup_id FROM test.backup_info; @the_backup_id:=backup_id --Boundary_(ID_T9BCq3CxHRX8TSMDmpuo3w) MIME-version: 1.0 Content-type: text/bzr-bundle; name="bzr/patrick.crews@stripped"; charset=us-ascii Content-transfer-encoding: 7BIT Content-disposition: inline; filename="bzr/patrick.crews@stripped" # Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: patrick.crews@stripped # target_branch: file:///Users/pcrews/usr/local/bin/data1/work\ # /ndb_grep/mysql-5.0-bugteam/ # testament_sha1: 871be418f2713860cb74ed2eee5454462038f0c6 # timestamp: 2009-03-15 12:25:25 -0400 # base_revision_id: chad@stripped # # Begin bundle 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 --Boundary_(ID_T9BCq3CxHRX8TSMDmpuo3w)--