Loading client/mysqlbinlog.cc +3 −5 Original line number Diff line number Diff line Loading @@ -1130,15 +1130,15 @@ static int dump_local_log_entries(const char* logname) } check_header(file, &description_event); } else // reading from stdin; TODO: check that it works else // reading from stdin; { if (init_io_cache(file, fileno(result_file), 0, READ_CACHE, (my_off_t) 0, if (init_io_cache(file, fileno(stdin), 0, READ_CACHE, (my_off_t) 0, 0, MYF(MY_WME | MY_NABP | MY_DONT_CHECK_FILESIZE))) return 1; check_header(file, &description_event); if (start_position) { /* skip 'start_position' characters from stdout */ /* skip 'start_position' characters from stdin */ byte buff[IO_SIZE]; my_off_t length,tmp; for (length= start_position_mot ; length > 0 ; length-=tmp) Loading @@ -1151,8 +1151,6 @@ static int dump_local_log_entries(const char* logname) } } } file->pos_in_file= start_position_mot; file->seek_not_done=0; } if (!description_event || !description_event->is_valid()) Loading mysql-test/r/mysqlbinlog.result +10 −0 Original line number Diff line number Diff line Loading @@ -102,4 +102,14 @@ SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.uniq SET @@session.sql_mode=0; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; insert into t1 values ("Alas"); --- reading stdin -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; use test; SET TIMESTAMP=1065204671; BEGIN; /*!40019 SET @@session.max_insert_delayed_threads=0*/; use test; SET TIMESTAMP=1065204671; BEGIN; drop table t1, t2; mysql-test/t/mysqlbinlog.test +10 −0 Original line number Diff line number Diff line Loading @@ -95,5 +95,15 @@ select "--- --position --" as ""; --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=118 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 # Bug#7853 (mysqlbinlog does not accept input from stdin) --disable_query_log select "--- reading stdin --" as ""; --enable_query_log --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --exec cat $MYSQL_TEST_DIR/std_data/trunc_binlog.000001 | $MYSQL_BINLOG --short-form - --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --exec cat $MYSQL_TEST_DIR/std_data/trunc_binlog.000001 | $MYSQL_BINLOG --short-form --position=79 - # clean up drop table t1, t2; Loading
client/mysqlbinlog.cc +3 −5 Original line number Diff line number Diff line Loading @@ -1130,15 +1130,15 @@ static int dump_local_log_entries(const char* logname) } check_header(file, &description_event); } else // reading from stdin; TODO: check that it works else // reading from stdin; { if (init_io_cache(file, fileno(result_file), 0, READ_CACHE, (my_off_t) 0, if (init_io_cache(file, fileno(stdin), 0, READ_CACHE, (my_off_t) 0, 0, MYF(MY_WME | MY_NABP | MY_DONT_CHECK_FILESIZE))) return 1; check_header(file, &description_event); if (start_position) { /* skip 'start_position' characters from stdout */ /* skip 'start_position' characters from stdin */ byte buff[IO_SIZE]; my_off_t length,tmp; for (length= start_position_mot ; length > 0 ; length-=tmp) Loading @@ -1151,8 +1151,6 @@ static int dump_local_log_entries(const char* logname) } } } file->pos_in_file= start_position_mot; file->seek_not_done=0; } if (!description_event || !description_event->is_valid()) Loading
mysql-test/r/mysqlbinlog.result +10 −0 Original line number Diff line number Diff line Loading @@ -102,4 +102,14 @@ SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.uniq SET @@session.sql_mode=0; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8; insert into t1 values ("Alas"); --- reading stdin -- /*!40019 SET @@session.max_insert_delayed_threads=0*/; use test; SET TIMESTAMP=1065204671; BEGIN; /*!40019 SET @@session.max_insert_delayed_threads=0*/; use test; SET TIMESTAMP=1065204671; BEGIN; drop table t1, t2;
mysql-test/t/mysqlbinlog.test +10 −0 Original line number Diff line number Diff line Loading @@ -95,5 +95,15 @@ select "--- --position --" as ""; --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=118 --user=root --host=127.0.0.1 --port=$MASTER_MYPORT master-bin.000002 # Bug#7853 (mysqlbinlog does not accept input from stdin) --disable_query_log select "--- reading stdin --" as ""; --enable_query_log --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --exec cat $MYSQL_TEST_DIR/std_data/trunc_binlog.000001 | $MYSQL_BINLOG --short-form - --replace_result $MYSQL_TEST_DIR MYSQL_TEST_DIR --exec cat $MYSQL_TEST_DIR/std_data/trunc_binlog.000001 | $MYSQL_BINLOG --short-form --position=79 - # clean up drop table t1, t2;