- # We are using .opt file since we need small binlog size
- # Embedded server doesn't support binlogging
- -- source include/not_embedded.inc
- # we need this for getting fixed timestamps inside of this test
- set timestamp=1000000000;
- --disable_warnings
- drop table if exists t1,t2;
- --enable_warnings
- create table t1 (word varchar(20));
- create table t2 (id int auto_increment not null primary key);
- # simple test for simple statement and various events
- insert into t1 values ("abirvalg");
- insert into t2 values ();
- # Should be uncommented in 4.1
- # set @a:=1
- # insert into t2 values (@a);
- # test for load data and load data distributed among the several
- # files (we need to fill up first binlog)
- load data infile '../../std_data/words.dat' into table t1;
- load data infile '../../std_data/words.dat' into table t1;
- load data infile '../../std_data/words.dat' into table t1;
- load data infile '../../std_data/words.dat' into table t1;
- load data infile '../../std_data/words.dat' into table t1;
- load data infile '../../std_data/words.dat' into table t1;
- # simple query to show more in second binlog
- insert into t1 values ("Alas");
- flush logs;
- # delimiters are for easier debugging in future
- --disable_query_log
- select "--- Local --" as "";
- --enable_query_log
- #
- # We should use --short-form everywhere because in other case output will
- # be time dependend. Better than nothing.
- #
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ $MYSQL_TEST_DIR/var/log/master-bin.000001
- # this should not fail but shouldn't produce any working statements
- --disable_query_log
- select "--- Broken LOAD DATA --" as "";
- --enable_query_log
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ $MYSQL_TEST_DIR/var/log/master-bin.000002
- # this should show almost nothing
- --disable_query_log
- select "--- --database --" as "";
- --enable_query_log
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --database=nottest $MYSQL_TEST_DIR/var/log/master-bin.000001
- # this test for position option
- --disable_query_log
- select "--- --position --" as "";
- --enable_query_log
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --position=27 $MYSQL_TEST_DIR/var/log/master-bin.000002
- # These are tests for remote binlog.
- # They should return the same as previous test.
- --disable_query_log
- select "--- Remote --" as "";
- --enable_query_log
- # This is broken now
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000001
- # This is broken too
- --disable_query_log
- select "--- Broken LOAD DATA --" as "";
- --enable_query_log
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
- # And this too ! (altough it is documented)
- --disable_query_log
- select "--- --database --" as "";
- --enable_query_log
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --read-from-remote-server --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --database=nottest master-bin.000001
- # Strangely but this works
- --disable_query_log
- select "--- --position --" as "";
- --enable_query_log
- --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR
- --exec $MYSQL_BINLOG --short-form --local-load=$MYSQL_TEST_DIR/var/tmp/ --read-from-remote-server --position=27 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002
- # clean up
- drop table t1, t2;
- # End of 4.1 tests