diff options
author | unknown <cbell/Chuck@mysql_cab.> | 2006-11-02 09:10:06 -0500 |
---|---|---|
committer | unknown <cbell/Chuck@mysql_cab.> | 2006-11-02 09:10:06 -0500 |
commit | 408aa56f00fa78d05c3ff025a6f5675a1a633859 (patch) | |
tree | d74f8473ca998fef697b58229fd2ca33b9ce2a62 | |
parent | 82e8dfd52139368a558190fb986d1cbf1e8b45d4 (diff) | |
parent | b9c97546d3111759ef0c4525182932860ac88922 (diff) | |
download | mariadb-git-408aa56f00fa78d05c3ff025a6f5675a1a633859.tar.gz |
Merge cbell@bk-internal.mysql.com:/home/bk/mysql-5.1-new-rpl
into mysql_cab.:C:/source/c++/mysql-5.1-BUG_23735
-rw-r--r-- | client/mysqlbinlog.cc | 15 | ||||
-rw-r--r-- | sql/log_event.cc | 4 | ||||
-rw-r--r-- | sql/sql_class.cc | 8 |
3 files changed, 21 insertions, 6 deletions
diff --git a/client/mysqlbinlog.cc b/client/mysqlbinlog.cc index ab94c415db7..660be6bce50 100644 --- a/client/mysqlbinlog.cc +++ b/client/mysqlbinlog.cc @@ -1360,6 +1360,21 @@ static int dump_local_log_entries(const char* logname) } else // reading from stdin; { + /* + Windows opens stdin in text mode by default. Certain characters + such as CTRL-Z are interpeted as events and the read() method + will stop. CTRL-Z is the EOF marker in Windows. to get past this + you have to open stdin in binary mode. Setmode() is used to set + stdin in binary mode. Errors on setting this mode result in + halting the function and printing an error message to stderr. + */ +#if defined (__WIN__) || (_WIN64) + if (_setmode(fileno(stdin), O_BINARY) == -1) + { + fprintf(stderr, "Could not set binary mode on stdin.\n"); + return 1; + } +#endif 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; diff --git a/sql/log_event.cc b/sql/log_event.cc index 4a6346bf57c..d48662f13bf 100644 --- a/sql/log_event.cc +++ b/sql/log_event.cc @@ -7129,8 +7129,8 @@ int Update_rows_log_event::do_prepare_row(THD *thd, RELAY_LOG_INFO *rli, row_start, &m_cols, row_end, &m_master_reclength, table->write_set, UPDATE_ROWS_EVENT); - DBUG_DUMP("record[0]", table->record[0], table->s->reclength); - DBUG_DUMP("m_after_image", m_after_image, table->s->reclength); + DBUG_DUMP("record[0]", (char *)table->record[0], table->s->reclength); + DBUG_DUMP("m_after_image", (char *)m_after_image, table->s->reclength); /* diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 3fd0e621422..cf2e462cb68 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -2632,10 +2632,10 @@ int THD::binlog_update_row(TABLE* table, bool is_trans, my_size_t const after_size= pack_row(table, cols, after_row, after_record); - DBUG_DUMP("before_record", before_record, table->s->reclength); - DBUG_DUMP("after_record", after_record, table->s->reclength); - DBUG_DUMP("before_row", before_row, before_size); - DBUG_DUMP("after_row", after_row, after_size); + DBUG_DUMP("before_record", (char *)before_record, table->s->reclength); + DBUG_DUMP("after_record", (char *)after_record, table->s->reclength); + DBUG_DUMP("before_row", (char *)before_row, before_size); + DBUG_DUMP("after_row", (char *)after_row, after_size); Rows_log_event* const ev= binlog_prepare_pending_rows_event(table, server_id, cols, colcnt, |