Merge mysql.com:/home/ram/work/b29928.new/b29928.new.5.0
into mysql.com:/home/ram/work/b29928.new/b29928.new.5.1 mysql-test/r/mysqlbinlog.result: Auto merged sql/item_func.cc: Auto merged sql/log_event.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged mysql-test/t/mysqlbinlog.test: manual merge
This commit is contained in:
commit
d4ba395aa6
@ -319,6 +319,13 @@ INSERT INTO t1 VALUES ('0123456789');
|
|||||||
flush logs;
|
flush logs;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
# Query thread_id=REMOVED exec_time=REMOVED error_code=REMOVED
|
# Query thread_id=REMOVED exec_time=REMOVED error_code=REMOVED
|
||||||
|
flush logs;
|
||||||
|
create table t1(a int);
|
||||||
|
insert into t1 values(connection_id());
|
||||||
|
flush logs;
|
||||||
|
drop table t1;
|
||||||
|
1
|
||||||
|
drop table t1;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
flush logs;
|
flush logs;
|
||||||
End of 5.1 tests
|
End of 5.1 tests
|
||||||
|
@ -219,6 +219,27 @@ flush logs;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
--exec $MYSQL_BINLOG --hexdump --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000012 | grep 'Query' | sed 's/[0-9]\{1,\}/REMOVED/g'
|
--exec $MYSQL_BINLOG --hexdump --local-load=$MYSQLTEST_VARDIR/tmp/ $MYSQLTEST_VARDIR/log/master-bin.000012 | grep 'Query' | sed 's/[0-9]\{1,\}/REMOVED/g'
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #29928: incorrect connection_id() restoring from mysqlbinlog out
|
||||||
|
#
|
||||||
|
flush logs;
|
||||||
|
create table t1(a int);
|
||||||
|
insert into t1 values(connection_id());
|
||||||
|
let $a= `select a from t1`;
|
||||||
|
flush logs;
|
||||||
|
--exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000014 > $MYSQLTEST_VARDIR/tmp/bug29928.sql
|
||||||
|
drop table t1;
|
||||||
|
connect (con1, localhost, root, , test);
|
||||||
|
connection con1;
|
||||||
|
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/bug29928.sql
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/bug29928.sql
|
||||||
|
let $b= `select a from t1`;
|
||||||
|
disconnect con1;
|
||||||
|
connection default;
|
||||||
|
let $c= `select $a=$b`;
|
||||||
|
--echo $c
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo End of 5.0 tests
|
--echo End of 5.0 tests
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -226,7 +247,7 @@ DROP TABLE t1;
|
|||||||
#
|
#
|
||||||
flush logs;
|
flush logs;
|
||||||
--error 1
|
--error 1
|
||||||
--exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000014 >/dev/null 2>/dev/null
|
--exec $MYSQL_BINLOG $MYSQLTEST_VARDIR/log/master-bin.000016 >/dev/null 2>/dev/null
|
||||||
--exec $MYSQL_BINLOG --force-if-open $MYSQLTEST_VARDIR/log/master-bin.000014 >/dev/null 2>/dev/null
|
--exec $MYSQL_BINLOG --force-if-open $MYSQLTEST_VARDIR/log/master-bin.000016 >/dev/null 2>/dev/null
|
||||||
|
|
||||||
--echo End of 5.1 tests
|
--echo End of 5.1 tests
|
||||||
|
@ -649,16 +649,7 @@ bool Item_func_connection_id::fix_fields(THD *thd, Item **ref)
|
|||||||
{
|
{
|
||||||
if (Item_int_func::fix_fields(thd, ref))
|
if (Item_int_func::fix_fields(thd, ref))
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
value= thd->variables.pseudo_thread_id;
|
||||||
/*
|
|
||||||
To replicate CONNECTION_ID() properly we should use
|
|
||||||
pseudo_thread_id on slave, which contains the value of thread_id
|
|
||||||
on master.
|
|
||||||
*/
|
|
||||||
value= ((thd->slave_thread) ?
|
|
||||||
thd->variables.pseudo_thread_id :
|
|
||||||
thd->thread_id);
|
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1479,8 +1479,9 @@ Query_log_event::Query_log_event(THD* thd_arg, const char* query_arg,
|
|||||||
ulong query_length, bool using_trans,
|
ulong query_length, bool using_trans,
|
||||||
bool suppress_use, THD::killed_state killed_status_arg)
|
bool suppress_use, THD::killed_state killed_status_arg)
|
||||||
:Log_event(thd_arg,
|
:Log_event(thd_arg,
|
||||||
((thd_arg->tmp_table_used ? LOG_EVENT_THREAD_SPECIFIC_F : 0)
|
((thd_arg->tmp_table_used || thd_arg->thread_specific_used) ?
|
||||||
| (suppress_use ? LOG_EVENT_SUPPRESS_USE_F : 0)),
|
LOG_EVENT_THREAD_SPECIFIC_F : 0) |
|
||||||
|
(suppress_use ? LOG_EVENT_SUPPRESS_USE_F : 0),
|
||||||
using_trans),
|
using_trans),
|
||||||
data_buf(0), query(query_arg), catalog(thd_arg->catalog),
|
data_buf(0), query(query_arg), catalog(thd_arg->catalog),
|
||||||
db(thd_arg->db), q_len((uint32) query_length),
|
db(thd_arg->db), q_len((uint32) query_length),
|
||||||
@ -2912,8 +2913,10 @@ Load_log_event::Load_log_event(THD *thd_arg, sql_exchange *ex,
|
|||||||
List<Item> &fields_arg,
|
List<Item> &fields_arg,
|
||||||
enum enum_duplicates handle_dup,
|
enum enum_duplicates handle_dup,
|
||||||
bool ignore, bool using_trans)
|
bool ignore, bool using_trans)
|
||||||
:Log_event(thd_arg, !thd_arg->tmp_table_used ?
|
:Log_event(thd_arg,
|
||||||
0 : LOG_EVENT_THREAD_SPECIFIC_F, using_trans),
|
(thd_arg->tmp_table_used || thd_arg->thread_specific_used) ?
|
||||||
|
LOG_EVENT_THREAD_SPECIFIC_F : 0,
|
||||||
|
using_trans),
|
||||||
thread_id(thd_arg->thread_id),
|
thread_id(thd_arg->thread_id),
|
||||||
slave_proxy_id(thd_arg->variables.pseudo_thread_id),
|
slave_proxy_id(thd_arg->variables.pseudo_thread_id),
|
||||||
num_fields(0),fields(0),
|
num_fields(0),fields(0),
|
||||||
|
@ -394,7 +394,7 @@ THD::THD()
|
|||||||
count_cuted_fields= CHECK_FIELD_IGNORE;
|
count_cuted_fields= CHECK_FIELD_IGNORE;
|
||||||
killed= NOT_KILLED;
|
killed= NOT_KILLED;
|
||||||
db_length= col_access=0;
|
db_length= col_access=0;
|
||||||
query_error= tmp_table_used= 0;
|
query_error= tmp_table_used= thread_specific_used= 0;
|
||||||
hash_clear(&handler_tables_hash);
|
hash_clear(&handler_tables_hash);
|
||||||
tmp_table=0;
|
tmp_table=0;
|
||||||
used_tables=0;
|
used_tables=0;
|
||||||
|
@ -1406,6 +1406,9 @@ public:
|
|||||||
bool in_lock_tables;
|
bool in_lock_tables;
|
||||||
bool query_error, bootstrap, cleanup_done;
|
bool query_error, bootstrap, cleanup_done;
|
||||||
bool tmp_table_used;
|
bool tmp_table_used;
|
||||||
|
|
||||||
|
/** is set if some thread specific value(s) used in a statement. */
|
||||||
|
bool thread_specific_used;
|
||||||
bool charset_is_system_charset, charset_is_collation_connection;
|
bool charset_is_system_charset, charset_is_collation_connection;
|
||||||
bool charset_is_character_set_filesystem;
|
bool charset_is_character_set_filesystem;
|
||||||
bool enable_slow_log; /* enable slow log for current statement */
|
bool enable_slow_log; /* enable slow log for current statement */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user