Commit 5e042add authored by unknown's avatar unknown
Browse files

Merge mysql.com:/home/bkroot/mysql-5.1-new

into  mysql.com:/home/bk/b17400-mysql-5.1-new

parents a4cf3861 03a96c06
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -14,7 +14,5 @@ get_lock("a",10)
show binlog events;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000001	#	Format_desc	1	#	Server ver: VERSION, Binlog ver: 4
master-bin.000001	#	Table_map	1	#	table_id: # (mysql.proc)
master-bin.000001	#	Write_rows	1	#	table_id: # flags: STMT_END_F
master-bin.000001	#	Query	1	#	create database `drop-temp+table-test`
drop database `drop-temp+table-test`;
+3 −7
Original line number Diff line number Diff line
@@ -57,8 +57,6 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
show binlog events in 'master-bin.000002';
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000002	#	Format_desc	1	#	Server ver: VERSION, Binlog ver: 4
master-bin.000002	#	Table_map	1	#	table_id: # (mysql.slow_log)
master-bin.000002	#	Table_map	1	#	table_id: # (mysql.general_log)
master-bin.000002	#	Query	1	#	use `test`; create table t3 (a int)ENGINE=MyISAM
master-bin.000002	#	Query	1	#	use `test`; create table t2 (n int)ENGINE=MyISAM
master-bin.000002	#	Table_map	1	#	table_id: # (test.t2)
@@ -66,12 +64,12 @@ master-bin.000002 # Write_rows 1 # table_id: # flags: STMT_END_F
show binary logs;
Log_name	File_size
master-bin.000001	1256
master-bin.000002	483
master-bin.000002	373
start slave;
show binary logs;
Log_name	File_size
slave-bin.000001	1354
slave-bin.000002	384
slave-bin.000002	274
show binlog events in 'slave-bin.000001' from 4;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-bin.000001	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4
@@ -87,14 +85,12 @@ slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
show binlog events in 'slave-bin.000002' from 4;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-bin.000002	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4
slave-bin.000002	#	Table_map	2	#	table_id: # (mysql.slow_log)
slave-bin.000002	#	Table_map	2	#	table_id: # (mysql.general_log)
slave-bin.000002	#	Query	1	#	use `test`; create table t2 (n int)ENGINE=MyISAM
slave-bin.000002	#	Table_map	1	#	table_id: # (test.t2)
slave-bin.000002	#	Write_rows	1	#	table_id: # flags: STMT_END_F
show slave status;
Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master
#	127.0.0.1	root	MASTER_PORT	1	master-bin.000002	483	#	#	master-bin.000002	Yes	Yes				#			0		0	483	#	None		0	No						#
#	127.0.0.1	root	MASTER_PORT	1	master-bin.000002	373	#	#	master-bin.000002	Yes	Yes				#			0		0	373	#	None		0	No						#
show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
DROP TABLE t1;
+3 −7
Original line number Diff line number Diff line
@@ -61,8 +61,6 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
show binlog events in 'master-bin.000002';
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
master-bin.000002	#	Format_desc	1	#	Server ver: VERSION, Binlog ver: 4
master-bin.000002	#	Table_map	1	#	table_id: # (mysql.slow_log)
master-bin.000002	#	Table_map	1	#	table_id: # (mysql.general_log)
master-bin.000002	#	Query	1	#	use `test`; create table t3 (a int)ENGINE=InnoDB
master-bin.000002	#	Query	1	#	use `test`; create table t2 (n int)ENGINE=InnoDB
master-bin.000002	#	Table_map	1	#	table_id: # (test.t2)
@@ -71,12 +69,12 @@ master-bin.000002 # Xid 1 # COMMIT /* XID */
show binary logs;
Log_name	File_size
master-bin.000001	1310
master-bin.000002	510
master-bin.000002	400
start slave;
show binary logs;
Log_name	File_size
slave-bin.000001	1408
slave-bin.000002	411
slave-bin.000002	301
show binlog events in 'slave-bin.000001' from 4;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-bin.000001	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4
@@ -94,15 +92,13 @@ slave-bin.000001 # Rotate 2 # slave-bin.000002;pos=4
show binlog events in 'slave-bin.000002' from 4;
Log_name	Pos	Event_type	Server_id	End_log_pos	Info
slave-bin.000002	#	Format_desc	2	#	Server ver: VERSION, Binlog ver: 4
slave-bin.000002	#	Table_map	2	#	table_id: # (mysql.slow_log)
slave-bin.000002	#	Table_map	2	#	table_id: # (mysql.general_log)
slave-bin.000002	#	Query	1	#	use `test`; create table t2 (n int)ENGINE=InnoDB
slave-bin.000002	#	Table_map	1	#	table_id: # (test.t2)
slave-bin.000002	#	Write_rows	1	#	table_id: # flags: STMT_END_F
slave-bin.000002	#	Xid	1	#	COMMIT /* XID */
show slave status;
Slave_IO_State	Master_Host	Master_User	Master_Port	Connect_Retry	Master_Log_File	Read_Master_Log_Pos	Relay_Log_File	Relay_Log_Pos	Relay_Master_Log_File	Slave_IO_Running	Slave_SQL_Running	Replicate_Do_DB	Replicate_Ignore_DB	Replicate_Do_Table	Replicate_Ignore_Table	Replicate_Wild_Do_Table	Replicate_Wild_Ignore_Table	Last_Errno	Last_Error	Skip_Counter	Exec_Master_Log_Pos	Relay_Log_Space	Until_Condition	Until_Log_File	Until_Log_Pos	Master_SSL_Allowed	Master_SSL_CA_File	Master_SSL_CA_Path	Master_SSL_Cert	Master_SSL_Cipher	Master_SSL_Key	Seconds_Behind_Master
#	127.0.0.1	root	MASTER_PORT	1	master-bin.000002	510	#	#	master-bin.000002	Yes	Yes				#			0		0	510	#	None		0	No						#
#	127.0.0.1	root	MASTER_PORT	1	master-bin.000002	400	#	#	master-bin.000002	Yes	Yes				#			0		0	400	#	None		0	No						#
show binlog events in 'slave-bin.000005' from 4;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Could not find target log
DROP TABLE t1;
+1 −1
Original line number Diff line number Diff line
@@ -58,4 +58,4 @@ Slave_IO_State Master_Host Master_User Master_Port Connect_Retry Master_Log_File
flush logs;
show master status;
File	Position	Binlog_Do_DB	Binlog_Ignore_DB
master-bin.000002	212	<Binlog_Ignore_DB>	
master-bin.000002	102	<Binlog_Ignore_DB>	
+35 −4
Original line number Diff line number Diff line
@@ -3150,16 +3150,47 @@ bool ha_show_status(THD *thd, handlerton *db_type, enum ha_stat_type stat)
   declared static, but it works by putting it into an anonymous
   namespace. */
namespace {
  struct st_table_data {
    char const *db;
    char const *name;
  };

  int table_name_compare(void const *a, void const *b)
  {
    st_table_data const *x = (st_table_data const*) a;
    st_table_data const *y = (st_table_data const*) b;

    /* Doing lexical compare in order (db,name) */
    int const res= strcmp(x->db, y->db);
    return res != 0 ? res : strcmp(x->name, y->name);
  }

  bool check_table_binlog_row_based(THD *thd, TABLE *table)
  {
    static st_table_data const ignore[] = {
      { "mysql", "event" },
      { "mysql", "general_log" },
      { "mysql", "slow_log" }
    };

    my_size_t const ignore_size = sizeof(ignore)/sizeof(*ignore);
    st_table_data const item = { table->s->db.str, table->s->table_name.str };

    if (table->s->cached_row_logging_check == -1)
      table->s->cached_row_logging_check=
        (table->s->tmp_table == NO_TMP_TABLE) &&
        binlog_filter->db_ok(table->s->db.str) &&
        bsearch(&item, ignore, ignore_size,
                sizeof(st_table_data), table_name_compare) == NULL;

    DBUG_ASSERT(table->s->cached_row_logging_check == 0 ||
                table->s->cached_row_logging_check == 1);

    return
      thd->current_stmt_binlog_row_based &&
      thd && (thd->options & OPTION_BIN_LOG) &&
      (table->s->tmp_table == NO_TMP_TABLE) &&
      mysql_bin_log.is_open() &&
      binlog_filter->db_ok(table->s->db.str) &&
      (strcmp(table->s->db.str, "mysql") ||
       strcmp(table->s->table_name.str, "event"));
      table->s->cached_row_logging_check;
  }
}

Loading