Commit 615527cd authored by unknown's avatar unknown

Merge maint1.mysql.com:/data/localhome/tsmith/bk/50

into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
parents 482b7444 8bf63289
...@@ -161,7 +161,7 @@ IF(EMBED_MANIFESTS) ...@@ -161,7 +161,7 @@ IF(EMBED_MANIFESTS)
ENDIF(NOT tmp_manifest) ENDIF(NOT tmp_manifest)
# Set the processor architecture. # Set the processor architecture.
IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64") IF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
SET(PROCESSOR_ARCH "X64") SET(PROCESSOR_ARCH "amd64")
ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64") ELSE(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
SET(PROCESSOR_ARCH "X86") SET(PROCESSOR_ARCH "X86")
ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64") ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio 8 2005 Win64")
......
...@@ -686,6 +686,18 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), ...@@ -686,6 +686,18 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
break; break;
case 'T': case 'T':
opt_disable_keys=0; opt_disable_keys=0;
if (strlen(argument) >= FN_REFLEN)
{
/*
This check is made because the some the file functions below
have FN_REFLEN sized stack allocated buffers and will cause
a crash even if the input destination buffer is large enough
to hold the output.
*/
die(EX_USAGE, "Input filename too long: %s", argument);
}
break; break;
case '#': case '#':
DBUG_PUSH(argument ? argument : default_dbug_option); DBUG_PUSH(argument ? argument : default_dbug_option);
...@@ -2324,17 +2336,6 @@ static void dump_table(char *table, char *db) ...@@ -2324,17 +2336,6 @@ static void dump_table(char *table, char *db)
{ {
char filename[FN_REFLEN], tmp_path[FN_REFLEN]; char filename[FN_REFLEN], tmp_path[FN_REFLEN];
if (strlen(path) >= FN_REFLEN)
{
/*
This check is made because the some the file functions below
have FN_REFLEN sized stack allocated buffers and will cause
a crash even if the input destination buffer is large enough
to hold the output.
*/
die(EX_USAGE, "Input filename or options too long: %s", path);
}
/* /*
Convert the path to native os format Convert the path to native os format
and resolve to the full filepath. and resolve to the full filepath.
......
...@@ -895,7 +895,12 @@ typedef unsigned long uint32; /* Short for unsigned integer >= 32 bits */ ...@@ -895,7 +895,12 @@ typedef unsigned long uint32; /* Short for unsigned integer >= 32 bits */
typedef unsigned long ulong; /* Short for unsigned long */ typedef unsigned long ulong; /* Short for unsigned long */
#endif #endif
#ifndef longlong_defined #ifndef longlong_defined
#if defined(HAVE_LONG_LONG) && SIZEOF_LONG != 8 /*
Using [unsigned] long long is preferable as [u]longlong because we use
[unsigned] long long unconditionally in many places,
for example in constants with [U]LL suffix.
*/
#if defined(HAVE_LONG_LONG) && SIZEOF_LONG_LONG == 8
typedef unsigned long long int ulonglong; /* ulong or unsigned long long */ typedef unsigned long long int ulonglong; /* ulong or unsigned long long */
typedef long long int longlong; typedef long long int longlong;
#else #else
......
-- require r/have_outfile.require -- require r/have_outfile.require
disable_query_log; disable_query_log;
select load_file(concat(@tmpdir,"/outfile.test")); select load_file(concat(@tmpdir,"/outfile.test"));
--exec rm $MYSQLTEST_VARDIR/tmp/outfile.test --remove_file $MYSQLTEST_VARDIR/tmp/outfile.test
enable_query_log; enable_query_log;
...@@ -142,6 +142,7 @@ sub spawn_impl ($$$$$$$) { ...@@ -142,6 +142,7 @@ sub spawn_impl ($$$$$$$) {
if ( $pid ) if ( $pid )
{ {
select(STDOUT) if $::glob_win32_perl;
return spawn_parent_impl($pid,$mode,$path); return spawn_parent_impl($pid,$mode,$path);
} }
else else
...@@ -163,9 +164,6 @@ sub spawn_impl ($$$$$$$) { ...@@ -163,9 +164,6 @@ sub spawn_impl ($$$$$$$) {
{ {
# Don't redirect stdout on ActiveState perl since this is # Don't redirect stdout on ActiveState perl since this is
# just another thread in the same process. # just another thread in the same process.
# Should be fixed so that the thread that is created with fork
# executes the exe in another process and wait's for it to return.
# In the meanwhile, we get all the output from mysqld's to screen
} }
elsif ( ! open(STDOUT,$log_file_open_mode,$output) ) elsif ( ! open(STDOUT,$log_file_open_mode,$output) )
{ {
...@@ -175,7 +173,7 @@ sub spawn_impl ($$$$$$$) { ...@@ -175,7 +173,7 @@ sub spawn_impl ($$$$$$$) {
if ( $error ) if ( $error )
{ {
if ( $output eq $error ) if ( !$::glob_win32_perl and $output eq $error )
{ {
if ( ! open(STDERR,">&STDOUT") ) if ( ! open(STDERR,">&STDOUT") )
{ {
...@@ -184,15 +182,7 @@ sub spawn_impl ($$$$$$$) { ...@@ -184,15 +182,7 @@ sub spawn_impl ($$$$$$$) {
} }
else else
{ {
if ( $::glob_win32_perl ) if ( ! open(STDERR,$log_file_open_mode,$error) )
{
# Don't redirect stdout on ActiveState perl since this is
# just another thread in the same process.
# Should be fixed so that the thread that is created with fork
# executes the exe in another process and wait's for it to return.
# In the meanwhile, we get all the output from mysqld's to screen
}
elsif ( ! open(STDERR,$log_file_open_mode,$error) )
{ {
mtr_child_error("can't redirect STDERR to \"$error\": $!"); mtr_child_error("can't redirect STDERR to \"$error\": $!");
} }
...@@ -611,6 +601,11 @@ sub mtr_check_stop_servers ($) { ...@@ -611,6 +601,11 @@ sub mtr_check_stop_servers ($) {
if ( $pid ) if ( $pid )
{ {
# Server is still alive, put it in list to be hard killed # Server is still alive, put it in list to be hard killed
if ($::glob_win32_perl)
{
# Kill the real process if it's known
$pid= $srv->{'real_pid'} if ($srv->{'real_pid'});
}
$kill_pids{$pid}= 1; $kill_pids{$pid}= 1;
# Write a message to the process's error log (if it has one) # Write a message to the process's error log (if it has one)
...@@ -664,6 +659,16 @@ sub mtr_check_stop_servers ($) { ...@@ -664,6 +659,16 @@ sub mtr_check_stop_servers ($) {
} }
} }
if ($::glob_win32_perl and $srv->{'real_pid'})
{
# Wait for the pseudo pid - if the real_pid was known
# the pseudo pid has not been waited for yet, wai blocking
# since it's "such a simple program"
mtr_verbose("Wait for pseudo process $srv->{'pid'}");
my $ret_pid= waitpid($srv->{'pid'}, 0);
mtr_verbose("Pseudo process $ret_pid died");
}
$srv->{'pid'}= 0; $srv->{'pid'}= 0;
} }
} }
...@@ -1041,7 +1046,7 @@ sub sleep_until_file_created ($$$) { ...@@ -1041,7 +1046,7 @@ sub sleep_until_file_created ($$$) {
{ {
if ( -r $pidfile ) if ( -r $pidfile )
{ {
return $pid; return 1;
} }
# Check if it died after the fork() was successful # Check if it died after the fork() was successful
......
...@@ -97,9 +97,14 @@ sub mtr_timer_start($$$) { ...@@ -97,9 +97,14 @@ sub mtr_timer_start($$$) {
# clearing the signal handler. # clearing the signal handler.
$SIG{INT}= 'DEFAULT'; $SIG{INT}= 'DEFAULT';
$SIG{TERM}= sub {
mtr_verbose("timer woke up, exiting!");
exit(0);
};
$0= "mtr_timer(timers,$name,$duration)"; $0= "mtr_timer(timers,$name,$duration)";
mtr_verbose("timer child $name, sleep $duration");
sleep($duration); sleep($duration);
mtr_verbose("timer expired after $duration seconds");
exit(0); exit(0);
} }
} }
...@@ -118,7 +123,7 @@ sub mtr_timer_stop ($$) { ...@@ -118,7 +123,7 @@ sub mtr_timer_stop ($$) {
# FIXME as Cygwin reuses pids fast, maybe check that is # FIXME as Cygwin reuses pids fast, maybe check that is
# the expected process somehow?! # the expected process somehow?!
kill(9, $tpid); kill(15, $tpid);
# As the timers are so simple programs, we trust them to terminate, # As the timers are so simple programs, we trust them to terminate,
# and use blocking wait for it. We wait just to avoid a zombie. # and use blocking wait for it. We wait just to avoid a zombie.
......
...@@ -2579,10 +2579,19 @@ sub ndbcluster_wait_started($$){ ...@@ -2579,10 +2579,19 @@ sub ndbcluster_wait_started($$){
sub mysqld_wait_started($){ sub mysqld_wait_started($){
my $mysqld= shift; my $mysqld= shift;
my $res= sleep_until_file_created($mysqld->{'path_pid'}, if (sleep_until_file_created($mysqld->{'path_pid'},
$mysqld->{'start_timeout'}, $mysqld->{'start_timeout'},
$mysqld->{'pid'}); $mysqld->{'pid'}) == 0)
return $res == 0; {
# Failed to wait for pid file
return 1;
}
# Get the "real pid" of the process, it will be used for killing
# the process in ActiveState's perl on windows
$mysqld->{'real_pid'}= mtr_get_pid_from_file($mysqld->{'path_pid'});
return 0;
} }
...@@ -3720,7 +3729,6 @@ sub mysqld_arguments ($$$$) { ...@@ -3720,7 +3729,6 @@ sub mysqld_arguments ($$$$) {
mtr_add_arg($args, "%s--no-defaults", $prefix); mtr_add_arg($args, "%s--no-defaults", $prefix);
mtr_add_arg($args, "%s--console", $prefix);
mtr_add_arg($args, "%s--basedir=%s", $prefix, $path_my_basedir); mtr_add_arg($args, "%s--basedir=%s", $prefix, $path_my_basedir);
mtr_add_arg($args, "%s--character-sets-dir=%s", $prefix, $path_charsetsdir); mtr_add_arg($args, "%s--character-sets-dir=%s", $prefix, $path_charsetsdir);
...@@ -4093,6 +4101,7 @@ sub stop_all_servers () { ...@@ -4093,6 +4101,7 @@ sub stop_all_servers () {
push(@kill_pids,{ push(@kill_pids,{
pid => $mysqld->{'pid'}, pid => $mysqld->{'pid'},
real_pid => $mysqld->{'real_pid'},
pidfile => $mysqld->{'path_pid'}, pidfile => $mysqld->{'path_pid'},
sockfile => $mysqld->{'path_sock'}, sockfile => $mysqld->{'path_sock'},
port => $mysqld->{'port'}, port => $mysqld->{'port'},
...@@ -4300,6 +4309,7 @@ sub run_testcase_stop_servers($$$) { ...@@ -4300,6 +4309,7 @@ sub run_testcase_stop_servers($$$) {
push(@kill_pids,{ push(@kill_pids,{
pid => $mysqld->{'pid'}, pid => $mysqld->{'pid'},
real_pid => $mysqld->{'real_pid'},
pidfile => $mysqld->{'path_pid'}, pidfile => $mysqld->{'path_pid'},
sockfile => $mysqld->{'path_sock'}, sockfile => $mysqld->{'path_sock'},
port => $mysqld->{'port'}, port => $mysqld->{'port'},
...@@ -4351,6 +4361,7 @@ sub run_testcase_stop_servers($$$) { ...@@ -4351,6 +4361,7 @@ sub run_testcase_stop_servers($$$) {
push(@kill_pids,{ push(@kill_pids,{
pid => $mysqld->{'pid'}, pid => $mysqld->{'pid'},
real_pid => $mysqld->{'real_pid'},
pidfile => $mysqld->{'path_pid'}, pidfile => $mysqld->{'path_pid'},
sockfile => $mysqld->{'path_sock'}, sockfile => $mysqld->{'path_sock'},
port => $mysqld->{'port'}, port => $mysqld->{'port'},
...@@ -4775,12 +4786,10 @@ sub run_mysqltest ($) { ...@@ -4775,12 +4786,10 @@ sub run_mysqltest ($) {
mtr_add_arg($args, "%s", $_) for @args_saved; mtr_add_arg($args, "%s", $_) for @args_saved;
} }
mtr_add_arg($args, "--test-file"); mtr_add_arg($args, "--test-file=%s", $tinfo->{'path'});
mtr_add_arg($args, $tinfo->{'path'});
if ( defined $tinfo->{'result_file'} ) { if ( defined $tinfo->{'result_file'} ) {
mtr_add_arg($args, "--result-file"); mtr_add_arg($args, "--result-file=%s", $tinfo->{'result_file'});
mtr_add_arg($args, $tinfo->{'result_file'});
} }
if ( $opt_record ) if ( $opt_record )
......
drop table if exists t1, t2; drop table if exists t1, t2;
reset master; reset master;
create table t1 (a int) engine=bdb; create table t1 (a int) engine=innodb;
create table t2 (a int) engine=innodb; create table t2 (a int) engine=innodb;
begin; begin;
insert t1 values (5); insert t1 values (5);
...@@ -10,11 +10,11 @@ insert t2 values (5); ...@@ -10,11 +10,11 @@ insert t2 values (5);
commit; commit;
show binlog events from 98; show binlog events from 98;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=bdb master-bin.000001 # Query 1 # use `test`; create table t1 (a int) engine=innodb
master-bin.000001 # Query 1 # use `test`; create table t2 (a int) engine=innodb master-bin.000001 # Query 1 # use `test`; create table t2 (a int) engine=innodb
master-bin.000001 # Query 1 # use `test`; BEGIN master-bin.000001 # Query 1 # use `test`; BEGIN
master-bin.000001 # Query 1 # use `test`; insert t1 values (5) master-bin.000001 # Query 1 # use `test`; insert t1 values (5)
master-bin.000001 # Query 1 # use `test`; COMMIT master-bin.000001 # Xid 1 # COMMIT /* XID */
master-bin.000001 # Query 1 # use `test`; BEGIN master-bin.000001 # Query 1 # use `test`; BEGIN
master-bin.000001 # Query 1 # use `test`; insert t2 values (5) master-bin.000001 # Query 1 # use `test`; insert t2 values (5)
master-bin.000001 # Xid 1 # COMMIT /* XID */ master-bin.000001 # Xid 1 # COMMIT /* XID */
...@@ -133,3 +133,535 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4 ...@@ -133,3 +133,535 @@ master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
show binlog events in 'master-bin.000002' from 98; show binlog events in 'master-bin.000002' from 98;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Query 1 # use `test`; drop table t1 master-bin.000002 # Query 1 # use `test`; drop table t1
set @ac = @@autocommit;
set autocommit= 0;
reset master;
create table t1(n int) engine=innodb;
begin;
insert into t1 values (1);
insert into t1 values (2);
insert into t1 values (3);
commit;
drop table t1;
show binlog events from 0;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 98 Server version, Binlog ver: 4
master-bin.000001 98 Query 1 197 use `test`; create table t1(n int) engine=innodb
master-bin.000001 197 Query 1 265 use `test`; BEGIN
master-bin.000001 265 Query 1 353 use `test`; insert into t1 values (1)
master-bin.000001 353 Query 1 441 use `test`; insert into t1 values (2)
master-bin.000001 441 Query 1 529 use `test`; insert into t1 values (3)
master-bin.000001 529 Xid 1 556 COMMIT /* XID */
master-bin.000001 556 Query 1 632 use `test`; drop table t1
set autocommit= 1;
reset master;
create table t1(n int) engine=innodb;
insert into t1 values (1);
insert into t1 values (2);
insert into t1 values (3);
commit;
drop table t1;
show binlog events from 0;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 98 Server version, Binlog ver: 4
master-bin.000001 98 Query 1 197 use `test`; create table t1(n int) engine=innodb
master-bin.000001 197 Query 1 285 use `test`; insert into t1 values (1)
master-bin.000001 285 Xid 1 312 COMMIT /* XID */
master-bin.000001 312 Query 1 400 use `test`; insert into t1 values (2)
master-bin.000001 400 Xid 1 427 COMMIT /* XID */
master-bin.000001 427 Query 1 515 use `test`; insert into t1 values (3)
master-bin.000001 515 Xid 1 542 COMMIT /* XID */
master-bin.000001 542 Query 1 618 use `test`; drop table t1
reset master;
create table t1(n int) engine=myisam;
begin;
insert into t1 values (4);
insert into t1 values (5);
insert into t1 values (6);
commit;
drop table t1;
show binlog events from 0;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 98 Server version, Binlog ver: 4
master-bin.000001 98 Query 1 197 use `test`; create table t1(n int) engine=myisam
master-bin.000001 197 Query 1 285 use `test`; insert into t1 values (4)
master-bin.000001 285 Query 1 373 use `test`; insert into t1 values (5)
master-bin.000001 373 Query 1 461 use `test`; insert into t1 values (6)
master-bin.000001 461 Query 1 537 use `test`; drop table t1
set autocommit= 1;
reset master;
create table t1(n int) engine=innodb;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 197
insert into t1 values (1);
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 312
insert into t1 values (2);
insert into t1 values (3);
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 542
commit;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 542
drop table t1;
show binlog events from 0;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 98 Server version, Binlog ver: 4
master-bin.000001 98 Query 1 197 use `test`; create table t1(n int) engine=innodb
master-bin.000001 197 Query 1 285 use `test`; insert into t1 values (1)
master-bin.000001 285 Xid 1 312 COMMIT /* XID */
master-bin.000001 312 Query 1 400 use `test`; insert into t1 values (2)
master-bin.000001 400 Xid 1 427 COMMIT /* XID */
master-bin.000001 427 Query 1 515 use `test`; insert into t1 values (3)
master-bin.000001 515 Xid 1 542 COMMIT /* XID */
master-bin.000001 542 Query 1 618 use `test`; drop table t1
set autocommit= 0;
reset master;
create table t1(n int) engine=myisam;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 197
insert into t1 values (4);
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 285
insert into t1 values (5);
insert into t1 values (6);
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 461
commit;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 461
drop table t1;
show binlog events from 0;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 98 Server version, Binlog ver: 4
master-bin.000001 98 Query 1 197 use `test`; create table t1(n int) engine=myisam
master-bin.000001 197 Query 1 285 use `test`; insert into t1 values (4)
master-bin.000001 285 Query 1 373 use `test`; insert into t1 values (5)
master-bin.000001 373 Query 1 461 use `test`; insert into t1 values (6)
master-bin.000001 461 Query 1 537 use `test`; drop table t1
set session autocommit = @ac;
set @bcs = @@binlog_cache_size;
set @ac = @@autocommit;
set global binlog_cache_size=4096;
set autocommit= 0;
reset master;
create table t1 (a int) engine=innodb;
show binlog events from 0;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 98 Server version, Binlog ver: 4
master-bin.000001 98 Query 1 198 use `test`; create table t1 (a int) engine=innodb
master-bin.000001 198 Query 1 266 use `test`; BEGIN
master-bin.000001 266 Query 1 357 use `test`; insert into t1 values( 400 )
master-bin.000001 357 Query 1 448 use `test`; insert into t1 values( 399 )
master-bin.000001 448 Query 1 539 use `test`; insert into t1 values( 398 )
master-bin.000001 539 Query 1 630 use `test`; insert into t1 values( 397 )
master-bin.000001 630 Query 1 721 use `test`; insert into t1 values( 396 )
master-bin.000001 721 Query 1 812 use `test`; insert into t1 values( 395 )
master-bin.000001 812 Query 1 903 use `test`; insert into t1 values( 394 )
master-bin.000001 903 Query 1 994 use `test`; insert into t1 values( 393 )
master-bin.000001 994 Query 1 1085 use `test`; insert into t1 values( 392 )
master-bin.000001 1085 Query 1 1176 use `test`; insert into t1 values( 391 )
master-bin.000001 1176 Query 1 1267 use `test`; insert into t1 values( 390 )
master-bin.000001 1267 Query 1 1358 use `test`; insert into t1 values( 389 )
master-bin.000001 1358 Query 1 1449 use `test`; insert into t1 values( 388 )
master-bin.000001 1449 Query 1 1540 use `test`; insert into t1 values( 387 )
master-bin.000001 1540 Query 1 1631 use `test`; insert into t1 values( 386 )
master-bin.000001 1631 Query 1 1722 use `test`; insert into t1 values( 385 )
master-bin.000001 1722 Query 1 1813 use `test`; insert into t1 values( 384 )
master-bin.000001 1813 Query 1 1904 use `test`; insert into t1 values( 383 )
master-bin.000001 1904 Query 1 1995 use `test`; insert into t1 values( 382 )
master-bin.000001 1995 Query 1 2086 use `test`; insert into t1 values( 381 )
master-bin.000001 2086 Query 1 2177 use `test`; insert into t1 values( 380 )
master-bin.000001 2177 Query 1 2268 use `test`; insert into t1 values( 379 )
master-bin.000001 2268 Query 1 2359 use `test`; insert into t1 values( 378 )
master-bin.000001 2359 Query 1 2450 use `test`; insert into t1 values( 377 )
master-bin.000001 2450 Query 1 2541 use `test`; insert into t1 values( 376 )
master-bin.000001 2541 Query 1 2632 use `test`; insert into t1 values( 375 )
master-bin.000001 2632 Query 1 2723 use `test`; insert into t1 values( 374 )
master-bin.000001 2723 Query 1 2814 use `test`; insert into t1 values( 373 )
master-bin.000001 2814 Query 1 2905 use `test`; insert into t1 values( 372 )
master-bin.000001 2905 Query 1 2996 use `test`; insert into t1 values( 371 )
master-bin.000001 2996 Query 1 3087 use `test`; insert into t1 values( 370 )
master-bin.000001 3087 Query 1 3178 use `test`; insert into t1 values( 369 )
master-bin.000001 3178 Query 1 3269 use `test`; insert into t1 values( 368 )
master-bin.000001 3269 Query 1 3360 use `test`; insert into t1 values( 367 )
master-bin.000001 3360 Query 1 3451 use `test`; insert into t1 values( 366 )
master-bin.000001 3451 Query 1 3542 use `test`; insert into t1 values( 365 )
master-bin.000001 3542 Query 1 3633 use `test`; insert into t1 values( 364 )
master-bin.000001 3633 Query 1 3724 use `test`; insert into t1 values( 363 )
master-bin.000001 3724 Query 1 3815 use `test`; insert into t1 values( 362 )
master-bin.000001 3815 Query 1 3906 use `test`; insert into t1 values( 361 )
master-bin.000001 3906 Query 1 3997 use `test`; insert into t1 values( 360 )
master-bin.000001 3997 Query 1 4088 use `test`; insert into t1 values( 359 )
master-bin.000001 4088 Query 1 4179 use `test`; insert into t1 values( 358 )
master-bin.000001 4179 Query 1 4270 use `test`; insert into t1 values( 357 )
master-bin.000001 4270 Query 1 4361 use `test`; insert into t1 values( 356 )
master-bin.000001 4361 Query 1 4452 use `test`; insert into t1 values( 355 )
master-bin.000001 4452 Query 1 4543 use `test`; insert into t1 values( 354 )
master-bin.000001 4543 Query 1 4634 use `test`; insert into t1 values( 353 )
master-bin.000001 4634 Query 1 4725 use `test`; insert into t1 values( 352 )
master-bin.000001 4725 Query 1 4816 use `test`; insert into t1 values( 351 )
master-bin.000001 4816 Query 1 4907 use `test`; insert into t1 values( 350 )
master-bin.000001 4907 Query 1 4998 use `test`; insert into t1 values( 349 )
master-bin.000001 4998 Query 1 5089 use `test`; insert into t1 values( 348 )
master-bin.000001 5089 Query 1 5180 use `test`; insert into t1 values( 347 )
master-bin.000001 5180 Query 1 5271 use `test`; insert into t1 values( 346 )
master-bin.000001 5271 Query 1 5362 use `test`; insert into t1 values( 345 )
master-bin.000001 5362 Query 1 5453 use `test`; insert into t1 values( 344 )
master-bin.000001 5453 Query 1 5544 use `test`; insert into t1 values( 343 )
master-bin.000001 5544 Query 1 5635 use `test`; insert into t1 values( 342 )
master-bin.000001 5635 Query 1 5726 use `test`; insert into t1 values( 341 )
master-bin.000001 5726 Query 1 5817 use `test`; insert into t1 values( 340 )
master-bin.000001 5817 Query 1 5908 use `test`; insert into t1 values( 339 )
master-bin.000001 5908 Query 1 5999 use `test`; insert into t1 values( 338 )
master-bin.000001 5999 Query 1 6090 use `test`; insert into t1 values( 337 )
master-bin.000001 6090 Query 1 6181 use `test`; insert into t1 values( 336 )
master-bin.000001 6181 Query 1 6272 use `test`; insert into t1 values( 335 )
master-bin.000001 6272 Query 1 6363 use `test`; insert into t1 values( 334 )
master-bin.000001 6363 Query 1 6454 use `test`; insert into t1 values( 333 )
master-bin.000001 6454 Query 1 6545 use `test`; insert into t1 values( 332 )
master-bin.000001 6545 Query 1 6636 use `test`; insert into t1 values( 331 )
master-bin.000001 6636 Query 1 6727 use `test`; insert into t1 values( 330 )
master-bin.000001 6727 Query 1 6818 use `test`; insert into t1 values( 329 )
master-bin.000001 6818 Query 1 6909 use `test`; insert into t1 values( 328 )
master-bin.000001 6909 Query 1 7000 use `test`; insert into t1 values( 327 )
master-bin.000001 7000 Query 1 7091 use `test`; insert into t1 values( 326 )
master-bin.000001 7091 Query 1 7182 use `test`; insert into t1 values( 325 )
master-bin.000001 7182 Query 1 7273 use `test`; insert into t1 values( 324 )
master-bin.000001 7273 Query 1 7364 use `test`; insert into t1 values( 323 )
master-bin.000001 7364 Query 1 7455 use `test`; insert into t1 values( 322 )
master-bin.000001 7455 Query 1 7546 use `test`; insert into t1 values( 321 )
master-bin.000001 7546 Query 1 7637 use `test`; insert into t1 values( 320 )
master-bin.000001 7637 Query 1 7728 use `test`; insert into t1 values( 319 )
master-bin.000001 7728 Query 1 7819 use `test`; insert into t1 values( 318 )
master-bin.000001 7819 Query 1 7910 use `test`; insert into t1 values( 317 )
master-bin.000001 7910 Query 1 8001 use `test`; insert into t1 values( 316 )
master-bin.000001 8001 Query 1 8092 use `test`; insert into t1 values( 315 )
master-bin.000001 8092 Query 1 8183 use `test`; insert into t1 values( 314 )
master-bin.000001 8183 Query 1 8274 use `test`; insert into t1 values( 313 )
master-bin.000001 8274 Query 1 8365 use `test`; insert into t1 values( 312 )
master-bin.000001 8365 Query 1 8456 use `test`; insert into t1 values( 311 )
master-bin.000001 8456 Query 1 8547 use `test`; insert into t1 values( 310 )
master-bin.000001 8547 Query 1 8638 use `test`; insert into t1 values( 309 )
master-bin.000001 8638 Query 1 8729 use `test`; insert into t1 values( 308 )
master-bin.000001 8729 Query 1 8820 use `test`; insert into t1 values( 307 )
master-bin.000001 8820 Query 1 8911 use `test`; insert into t1 values( 306 )
master-bin.000001 8911 Query 1 9002 use `test`; insert into t1 values( 305 )
master-bin.000001 9002 Query 1 9093 use `test`; insert into t1 values( 304 )
master-bin.000001 9093 Query 1 9184 use `test`; insert into t1 values( 303 )
master-bin.000001 9184 Query 1 9275 use `test`; insert into t1 values( 302 )
master-bin.000001 9275 Query 1 9366 use `test`; insert into t1 values( 301 )
master-bin.000001 9366 Query 1 9457 use `test`; insert into t1 values( 300 )
master-bin.000001 9457 Query 1 9548 use `test`; insert into t1 values( 299 )
master-bin.000001 9548 Query 1 9639 use `test`; insert into t1 values( 298 )
master-bin.000001 9639 Query 1 9730 use `test`; insert into t1 values( 297 )
master-bin.000001 9730 Query 1 9821 use `test`; insert into t1 values( 296 )
master-bin.000001 9821 Query 1 9912 use `test`; insert into t1 values( 295 )
master-bin.000001 9912 Query 1 10003 use `test`; insert into t1 values( 294 )
master-bin.000001 10003 Query 1 10094 use `test`; insert into t1 values( 293 )
master-bin.000001 10094 Query 1 10185 use `test`; insert into t1 values( 292 )
master-bin.000001 10185 Query 1 10276 use `test`; insert into t1 values( 291 )
master-bin.000001 10276 Query 1 10367 use `test`; insert into t1 values( 290 )
master-bin.000001 10367 Query 1 10458 use `test`; insert into t1 values( 289 )
master-bin.000001 10458 Query 1 10549 use `test`; insert into t1 values( 288 )
master-bin.000001 10549 Query 1 10640 use `test`; insert into t1 values( 287 )
master-bin.000001 10640 Query 1 10731 use `test`; insert into t1 values( 286 )
master-bin.000001 10731 Query 1 10822 use `test`; insert into t1 values( 285 )
master-bin.000001 10822 Query 1 10913 use `test`; insert into t1 values( 284 )
master-bin.000001 10913 Query 1 11004 use `test`; insert into t1 values( 283 )
master-bin.000001 11004 Query 1 11095 use `test`; insert into t1 values( 282 )
master-bin.000001 11095 Query 1 11186 use `test`; insert into t1 values( 281 )
master-bin.000001 11186 Query 1 11277 use `test`; insert into t1 values( 280 )
master-bin.000001 11277 Query 1 11368 use `test`; insert into t1 values( 279 )
master-bin.000001 11368 Query 1 11459 use `test`; insert into t1 values( 278 )
master-bin.000001 11459 Query 1 11550 use `test`; insert into t1 values( 277 )
master-bin.000001 11550 Query 1 11641 use `test`; insert into t1 values( 276 )
master-bin.000001 11641 Query 1 11732 use `test`; insert into t1 values( 275 )
master-bin.000001 11732 Query 1 11823 use `test`; insert into t1 values( 274 )
master-bin.000001 11823 Query 1 11914 use `test`; insert into t1 values( 273 )
master-bin.000001 11914 Query 1 12005 use `test`; insert into t1 values( 272 )
master-bin.000001 12005 Query 1 12096 use `test`; insert into t1 values( 271 )
master-bin.000001 12096 Query 1 12187 use `test`; insert into t1 values( 270 )
master-bin.000001 12187 Query 1 12278 use `test`; insert into t1 values( 269 )
master-bin.000001 12278 Query 1 12369 use `test`; insert into t1 values( 268 )
master-bin.000001 12369 Query 1 12460 use `test`; insert into t1 values( 267 )
master-bin.000001 12460 Query 1 12551 use `test`; insert into t1 values( 266 )
master-bin.000001 12551 Query 1 12642 use `test`; insert into t1 values( 265 )
master-bin.000001 12642 Query 1 12733 use `test`; insert into t1 values( 264 )
master-bin.000001 12733 Query 1 12824 use `test`; insert into t1 values( 263 )
master-bin.000001 12824 Query 1 12915 use `test`; insert into t1 values( 262 )
master-bin.000001 12915 Query 1 13006 use `test`; insert into t1 values( 261 )
master-bin.000001 13006 Query 1 13097 use `test`; insert into t1 values( 260 )
master-bin.000001 13097 Query 1 13188 use `test`; insert into t1 values( 259 )
master-bin.000001 13188 Query 1 13279 use `test`; insert into t1 values( 258 )
master-bin.000001 13279 Query 1 13370 use `test`; insert into t1 values( 257 )
master-bin.000001 13370 Query 1 13461 use `test`; insert into t1 values( 256 )
master-bin.000001 13461 Query 1 13552 use `test`; insert into t1 values( 255 )
master-bin.000001 13552 Query 1 13643 use `test`; insert into t1 values( 254 )
master-bin.000001 13643 Query 1 13734 use `test`; insert into t1 values( 253 )
master-bin.000001 13734 Query 1 13825 use `test`; insert into t1 values( 252 )
master-bin.000001 13825 Query 1 13916 use `test`; insert into t1 values( 251 )
master-bin.000001 13916 Query 1 14007 use `test`; insert into t1 values( 250 )
master-bin.000001 14007 Query 1 14098 use `test`; insert into t1 values( 249 )
master-bin.000001 14098 Query 1 14189 use `test`; insert into t1 values( 248 )
master-bin.000001 14189 Query 1 14280 use `test`; insert into t1 values( 247 )
master-bin.000001 14280 Query 1 14371 use `test`; insert into t1 values( 246 )
master-bin.000001 14371 Query 1 14462 use `test`; insert into t1 values( 245 )
master-bin.000001 14462 Query 1 14553 use `test`; insert into t1 values( 244 )
master-bin.000001 14553 Query 1 14644 use `test`; insert into t1 values( 243 )
master-bin.000001 14644 Query 1 14735 use `test`; insert into t1 values( 242 )
master-bin.000001 14735 Query 1 14826 use `test`; insert into t1 values( 241 )
master-bin.000001 14826 Query 1 14917 use `test`; insert into t1 values( 240 )
master-bin.000001 14917 Query 1 15008 use `test`; insert into t1 values( 239 )
master-bin.000001 15008 Query 1 15099 use `test`; insert into t1 values( 238 )
master-bin.000001 15099 Query 1 15190 use `test`; insert into t1 values( 237 )
master-bin.000001 15190 Query 1 15281 use `test`; insert into t1 values( 236 )
master-bin.000001 15281 Query 1 15372 use `test`; insert into t1 values( 235 )
master-bin.000001 15372 Query 1 15463 use `test`; insert into t1 values( 234 )
master-bin.000001 15463 Query 1 15554 use `test`; insert into t1 values( 233 )
master-bin.000001 15554 Query 1 15645 use `test`; insert into t1 values( 232 )
master-bin.000001 15645 Query 1 15736 use `test`; insert into t1 values( 231 )
master-bin.000001 15736 Query 1 15827 use `test`; insert into t1 values( 230 )
master-bin.000001 15827 Query 1 15918 use `test`; insert into t1 values( 229 )
master-bin.000001 15918 Query 1 16009 use `test`; insert into t1 values( 228 )
master-bin.000001 16009 Query 1 16100 use `test`; insert into t1 values( 227 )
master-bin.000001 16100 Query 1 16191 use `test`; insert into t1 values( 226 )
master-bin.000001 16191 Query 1 16282 use `test`; insert into t1 values( 225 )
master-bin.000001 16282 Query 1 16373 use `test`; insert into t1 values( 224 )
master-bin.000001 16373 Query 1 16464 use `test`; insert into t1 values( 223 )
master-bin.000001 16464 Query 1 16555 use `test`; insert into t1 values( 222 )
master-bin.000001 16555 Query 1 16646 use `test`; insert into t1 values( 221 )
master-bin.000001 16646 Query 1 16737 use `test`; insert into t1 values( 220 )
master-bin.000001 16737 Query 1 16828 use `test`; insert into t1 values( 219 )
master-bin.000001 16828 Query 1 16919 use `test`; insert into t1 values( 218 )
master-bin.000001 16919 Query 1 17010 use `test`; insert into t1 values( 217 )
master-bin.000001 17010 Query 1 17101 use `test`; insert into t1 values( 216 )
master-bin.000001 17101 Query 1 17192 use `test`; insert into t1 values( 215 )
master-bin.000001 17192 Query 1 17283 use `test`; insert into t1 values( 214 )
master-bin.000001 17283 Query 1 17374 use `test`; insert into t1 values( 213 )
master-bin.000001 17374 Query 1 17465 use `test`; insert into t1 values( 212 )
master-bin.000001 17465 Query 1 17556 use `test`; insert into t1 values( 211 )
master-bin.000001 17556 Query 1 17647 use `test`; insert into t1 values( 210 )
master-bin.000001 17647 Query 1 17738 use `test`; insert into t1 values( 209 )
master-bin.000001 17738 Query 1 17829 use `test`; insert into t1 values( 208 )
master-bin.000001 17829 Query 1 17920 use `test`; insert into t1 values( 207 )
master-bin.000001 17920 Query 1 18011 use `test`; insert into t1 values( 206 )
master-bin.000001 18011 Query 1 18102 use `test`; insert into t1 values( 205 )
master-bin.000001 18102 Query 1 18193 use `test`; insert into t1 values( 204 )
master-bin.000001 18193 Query 1 18284 use `test`; insert into t1 values( 203 )
master-bin.000001 18284 Query 1 18375 use `test`; insert into t1 values( 202 )
master-bin.000001 18375 Query 1 18466 use `test`; insert into t1 values( 201 )
master-bin.000001 18466 Query 1 18557 use `test`; insert into t1 values( 200 )
master-bin.000001 18557 Query 1 18648 use `test`; insert into t1 values( 199 )
master-bin.000001 18648 Query 1 18739 use `test`; insert into t1 values( 198 )
master-bin.000001 18739 Query 1 18830 use `test`; insert into t1 values( 197 )
master-bin.000001 18830 Query 1 18921 use `test`; insert into t1 values( 196 )
master-bin.000001 18921 Query 1 19012 use `test`; insert into t1 values( 195 )
master-bin.000001 19012 Query 1 19103 use `test`; insert into t1 values( 194 )
master-bin.000001 19103 Query 1 19194 use `test`; insert into t1 values( 193 )
master-bin.000001 19194 Query 1 19285 use `test`; insert into t1 values( 192 )
master-bin.000001 19285 Query 1 19376 use `test`; insert into t1 values( 191 )
master-bin.000001 19376 Query 1 19467 use `test`; insert into t1 values( 190 )
master-bin.000001 19467 Query 1 19558 use `test`; insert into t1 values( 189 )
master-bin.000001 19558 Query 1 19649 use `test`; insert into t1 values( 188 )
master-bin.000001 19649 Query 1 19740 use `test`; insert into t1 values( 187 )
master-bin.000001 19740 Query 1 19831 use `test`; insert into t1 values( 186 )
master-bin.000001 19831 Query 1 19922 use `test`; insert into t1 values( 185 )
master-bin.000001 19922 Query 1 20013 use `test`; insert into t1 values( 184 )
master-bin.000001 20013 Query 1 20104 use `test`; insert into t1 values( 183 )
master-bin.000001 20104 Query 1 20195 use `test`; insert into t1 values( 182 )
master-bin.000001 20195 Query 1 20286 use `test`; insert into t1 values( 181 )
master-bin.000001 20286 Query 1 20377 use `test`; insert into t1 values( 180 )
master-bin.000001 20377 Query 1 20468 use `test`; insert into t1 values( 179 )
master-bin.000001 20468 Query 1 20559 use `test`; insert into t1 values( 178 )
master-bin.000001 20559 Query 1 20650 use `test`; insert into t1 values( 177 )
master-bin.000001 20650 Query 1 20741 use `test`; insert into t1 values( 176 )
master-bin.000001 20741 Query 1 20832 use `test`; insert into t1 values( 175 )
master-bin.000001 20832 Query 1 20923 use `test`; insert into t1 values( 174 )
master-bin.000001 20923 Query 1 21014 use `test`; insert into t1 values( 173 )
master-bin.000001 21014 Query 1 21105 use `test`; insert into t1 values( 172 )
master-bin.000001 21105 Query 1 21196 use `test`; insert into t1 values( 171 )
master-bin.000001 21196 Query 1 21287 use `test`; insert into t1 values( 170 )
master-bin.000001 21287 Query 1 21378 use `test`; insert into t1 values( 169 )
master-bin.000001 21378 Query 1 21469 use `test`; insert into t1 values( 168 )
master-bin.000001 21469 Query 1 21560 use `test`; insert into t1 values( 167 )
master-bin.000001 21560 Query 1 21651 use `test`; insert into t1 values( 166 )
master-bin.000001 21651 Query 1 21742 use `test`; insert into t1 values( 165 )
master-bin.000001 21742 Query 1 21833 use `test`; insert into t1 values( 164 )
master-bin.000001 21833 Query 1 21924 use `test`; insert into t1 values( 163 )
master-bin.000001 21924 Query 1 22015 use `test`; insert into t1 values( 162 )
master-bin.000001 22015 Query 1 22106 use `test`; insert into t1 values( 161 )
master-bin.000001 22106 Query 1 22197 use `test`; insert into t1 values( 160 )
master-bin.000001 22197 Query 1 22288 use `test`; insert into t1 values( 159 )
master-bin.000001 22288 Query 1 22379 use `test`; insert into t1 values( 158 )
master-bin.000001 22379 Query 1 22470 use `test`; insert into t1 values( 157 )
master-bin.000001 22470 Query 1 22561 use `test`; insert into t1 values( 156 )
master-bin.000001 22561 Query 1 22652 use `test`; insert into t1 values( 155 )
master-bin.000001 22652 Query 1 22743 use `test`; insert into t1 values( 154 )
master-bin.000001 22743 Query 1 22834 use `test`; insert into t1 values( 153 )
master-bin.000001 22834 Query 1 22925 use `test`; insert into t1 values( 152 )
master-bin.000001 22925 Query 1 23016 use `test`; insert into t1 values( 151 )
master-bin.000001 23016 Query 1 23107 use `test`; insert into t1 values( 150 )
master-bin.000001 23107 Query 1 23198 use `test`; insert into t1 values( 149 )
master-bin.000001 23198 Query 1 23289 use `test`; insert into t1 values( 148 )
master-bin.000001 23289 Query 1 23380 use `test`; insert into t1 values( 147 )
master-bin.000001 23380 Query 1 23471 use `test`; insert into t1 values( 146 )
master-bin.000001 23471 Query 1 23562 use `test`; insert into t1 values( 145 )
master-bin.000001 23562 Query 1 23653 use `test`; insert into t1 values( 144 )
master-bin.000001 23653 Query 1 23744 use `test`; insert into t1 values( 143 )
master-bin.000001 23744 Query 1 23835 use `test`; insert into t1 values( 142 )
master-bin.000001 23835 Query 1 23926 use `test`; insert into t1 values( 141 )
master-bin.000001 23926 Query 1 24017 use `test`; insert into t1 values( 140 )
master-bin.000001 24017 Query 1 24108 use `test`; insert into t1 values( 139 )
master-bin.000001 24108 Query 1 24199 use `test`; insert into t1 values( 138 )
master-bin.000001 24199 Query 1 24290 use `test`; insert into t1 values( 137 )
master-bin.000001 24290 Query 1 24381 use `test`; insert into t1 values( 136 )
master-bin.000001 24381 Query 1 24472 use `test`; insert into t1 values( 135 )
master-bin.000001 24472 Query 1 24563 use `test`; insert into t1 values( 134 )
master-bin.000001 24563 Query 1 24654 use `test`; insert into t1 values( 133 )
master-bin.000001 24654 Query 1 24745 use `test`; insert into t1 values( 132 )
master-bin.000001 24745 Query 1 24836 use `test`; insert into t1 values( 131 )
master-bin.000001 24836 Query 1 24927 use `test`; insert into t1 values( 130 )
master-bin.000001 24927 Query 1 25018 use `test`; insert into t1 values( 129 )
master-bin.000001 25018 Query 1 25109 use `test`; insert into t1 values( 128 )
master-bin.000001 25109 Query 1 25200 use `test`; insert into t1 values( 127 )
master-bin.000001 25200 Query 1 25291 use `test`; insert into t1 values( 126 )
master-bin.000001 25291 Query 1 25382 use `test`; insert into t1 values( 125 )
master-bin.000001 25382 Query 1 25473 use `test`; insert into t1 values( 124 )
master-bin.000001 25473 Query 1 25564 use `test`; insert into t1 values( 123 )
master-bin.000001 25564 Query 1 25655 use `test`; insert into t1 values( 122 )
master-bin.000001 25655 Query 1 25746 use `test`; insert into t1 values( 121 )
master-bin.000001 25746 Query 1 25837 use `test`; insert into t1 values( 120 )
master-bin.000001 25837 Query 1 25928 use `test`; insert into t1 values( 119 )
master-bin.000001 25928 Query 1 26019 use `test`; insert into t1 values( 118 )
master-bin.000001 26019 Query 1 26110 use `test`; insert into t1 values( 117 )
master-bin.000001 26110 Query 1 26201 use `test`; insert into t1 values( 116 )
master-bin.000001 26201 Query 1 26292 use `test`; insert into t1 values( 115 )
master-bin.000001 26292 Query 1 26383 use `test`; insert into t1 values( 114 )
master-bin.000001 26383 Query 1 26474 use `test`; insert into t1 values( 113 )
master-bin.000001 26474 Query 1 26565 use `test`; insert into t1 values( 112 )
master-bin.000001 26565 Query 1 26656 use `test`; insert into t1 values( 111 )
master-bin.000001 26656 Query 1 26747 use `test`; insert into t1 values( 110 )
master-bin.000001 26747 Query 1 26838 use `test`; insert into t1 values( 109 )
master-bin.000001 26838 Query 1 26929 use `test`; insert into t1 values( 108 )
master-bin.000001 26929 Query 1 27020 use `test`; insert into t1 values( 107 )
master-bin.000001 27020 Query 1 27111 use `test`; insert into t1 values( 106 )
master-bin.000001 27111 Query 1 27202 use `test`; insert into t1 values( 105 )
master-bin.000001 27202 Query 1 27293 use `test`; insert into t1 values( 104 )
master-bin.000001 27293 Query 1 27384 use `test`; insert into t1 values( 103 )
master-bin.000001 27384 Query 1 27475 use `test`; insert into t1 values( 102 )
master-bin.000001 27475 Query 1 27566 use `test`; insert into t1 values( 101 )
master-bin.000001 27566 Query 1 27657 use `test`; insert into t1 values( 100 )
master-bin.000001 27657 Query 1 27747 use `test`; insert into t1 values( 99 )
master-bin.000001 27747 Query 1 27837 use `test`; insert into t1 values( 98 )
master-bin.000001 27837 Query 1 27927 use `test`; insert into t1 values( 97 )
master-bin.000001 27927 Query 1 28017 use `test`; insert into t1 values( 96 )
master-bin.000001 28017 Query 1 28107 use `test`; insert into t1 values( 95 )
master-bin.000001 28107 Query 1 28197 use `test`; insert into t1 values( 94 )
master-bin.000001 28197 Query 1 28287 use `test`; insert into t1 values( 93 )
master-bin.000001 28287 Query 1 28377 use `test`; insert into t1 values( 92 )
master-bin.000001 28377 Query 1 28467 use `test`; insert into t1 values( 91 )
master-bin.000001 28467 Query 1 28557 use `test`; insert into t1 values( 90 )
master-bin.000001 28557 Query 1 28647 use `test`; insert into t1 values( 89 )
master-bin.000001 28647 Query 1 28737 use `test`; insert into t1 values( 88 )
master-bin.000001 28737 Query 1 28827 use `test`; insert into t1 values( 87 )
master-bin.000001 28827 Query 1 28917 use `test`; insert into t1 values( 86 )
master-bin.000001 28917 Query 1 29007 use `test`; insert into t1 values( 85 )
master-bin.000001 29007 Query 1 29097 use `test`; insert into t1 values( 84 )
master-bin.000001 29097 Query 1 29187 use `test`; insert into t1 values( 83 )
master-bin.000001 29187 Query 1 29277 use `test`; insert into t1 values( 82 )
master-bin.000001 29277 Query 1 29367 use `test`; insert into t1 values( 81 )
master-bin.000001 29367 Query 1 29457 use `test`; insert into t1 values( 80 )
master-bin.000001 29457 Query 1 29547 use `test`; insert into t1 values( 79 )
master-bin.000001 29547 Query 1 29637 use `test`; insert into t1 values( 78 )
master-bin.000001 29637 Query 1 29727 use `test`; insert into t1 values( 77 )
master-bin.000001 29727 Query 1 29817 use `test`; insert into t1 values( 76 )
master-bin.000001 29817 Query 1 29907 use `test`; insert into t1 values( 75 )
master-bin.000001 29907 Query 1 29997 use `test`; insert into t1 values( 74 )
master-bin.000001 29997 Query 1 30087 use `test`; insert into t1 values( 73 )
master-bin.000001 30087 Query 1 30177 use `test`; insert into t1 values( 72 )
master-bin.000001 30177 Query 1 30267 use `test`; insert into t1 values( 71 )
master-bin.000001 30267 Query 1 30357 use `test`; insert into t1 values( 70 )
master-bin.000001 30357 Query 1 30447 use `test`; insert into t1 values( 69 )
master-bin.000001 30447 Query 1 30537 use `test`; insert into t1 values( 68 )
master-bin.000001 30537 Query 1 30627 use `test`; insert into t1 values( 67 )
master-bin.000001 30627 Query 1 30717 use `test`; insert into t1 values( 66 )
master-bin.000001 30717 Query 1 30807 use `test`; insert into t1 values( 65 )
master-bin.000001 30807 Query 1 30897 use `test`; insert into t1 values( 64 )
master-bin.000001 30897 Query 1 30987 use `test`; insert into t1 values( 63 )
master-bin.000001 30987 Query 1 31077 use `test`; insert into t1 values( 62 )
master-bin.000001 31077 Query 1 31167 use `test`; insert into t1 values( 61 )
master-bin.000001 31167 Query 1 31257 use `test`; insert into t1 values( 60 )
master-bin.000001 31257 Query 1 31347 use `test`; insert into t1 values( 59 )
master-bin.000001 31347 Query 1 31437 use `test`; insert into t1 values( 58 )
master-bin.000001 31437 Query 1 31527 use `test`; insert into t1 values( 57 )
master-bin.000001 31527 Query 1 31617 use `test`; insert into t1 values( 56 )
master-bin.000001 31617 Query 1 31707 use `test`; insert into t1 values( 55 )
master-bin.000001 31707 Query 1 31797 use `test`; insert into t1 values( 54 )
master-bin.000001 31797 Query 1 31887 use `test`; insert into t1 values( 53 )
master-bin.000001 31887 Query 1 31977 use `test`; insert into t1 values( 52 )
master-bin.000001 31977 Query 1 32067 use `test`; insert into t1 values( 51 )
master-bin.000001 32067 Query 1 32157 use `test`; insert into t1 values( 50 )
master-bin.000001 32157 Query 1 32247 use `test`; insert into t1 values( 49 )
master-bin.000001 32247 Query 1 32337 use `test`; insert into t1 values( 48 )
master-bin.000001 32337 Query 1 32427 use `test`; insert into t1 values( 47 )
master-bin.000001 32427 Query 1 32517 use `test`; insert into t1 values( 46 )
master-bin.000001 32517 Query 1 32607 use `test`; insert into t1 values( 45 )
master-bin.000001 32607 Query 1 32697 use `test`; insert into t1 values( 44 )
master-bin.000001 32697 Query 1 32787 use `test`; insert into t1 values( 43 )
master-bin.000001 32787 Query 1 32877 use `test`; insert into t1 values( 42 )
master-bin.000001 32877 Query 1 32967 use `test`; insert into t1 values( 41 )
master-bin.000001 32967 Query 1 33057 use `test`; insert into t1 values( 40 )
master-bin.000001 33057 Query 1 33147 use `test`; insert into t1 values( 39 )
master-bin.000001 33147 Query 1 33237 use `test`; insert into t1 values( 38 )
master-bin.000001 33237 Query 1 33327 use `test`; insert into t1 values( 37 )
master-bin.000001 33327 Query 1 33417 use `test`; insert into t1 values( 36 )
master-bin.000001 33417 Query 1 33507 use `test`; insert into t1 values( 35 )
master-bin.000001 33507 Query 1 33597 use `test`; insert into t1 values( 34 )
master-bin.000001 33597 Query 1 33687 use `test`; insert into t1 values( 33 )
master-bin.000001 33687 Query 1 33777 use `test`; insert into t1 values( 32 )
master-bin.000001 33777 Query 1 33867 use `test`; insert into t1 values( 31 )
master-bin.000001 33867 Query 1 33957 use `test`; insert into t1 values( 30 )
master-bin.000001 33957 Query 1 34047 use `test`; insert into t1 values( 29 )
master-bin.000001 34047 Query 1 34137 use `test`; insert into t1 values( 28 )
master-bin.000001 34137 Query 1 34227 use `test`; insert into t1 values( 27 )
master-bin.000001 34227 Query 1 34317 use `test`; insert into t1 values( 26 )
master-bin.000001 34317 Query 1 34407 use `test`; insert into t1 values( 25 )
master-bin.000001 34407 Query 1 34497 use `test`; insert into t1 values( 24 )
master-bin.000001 34497 Query 1 34587 use `test`; insert into t1 values( 23 )
master-bin.000001 34587 Query 1 34677 use `test`; insert into t1 values( 22 )
master-bin.000001 34677 Query 1 34767 use `test`; insert into t1 values( 21 )
master-bin.000001 34767 Query 1 34857 use `test`; insert into t1 values( 20 )
master-bin.000001 34857 Query 1 34947 use `test`; insert into t1 values( 19 )
master-bin.000001 34947 Query 1 35037 use `test`; insert into t1 values( 18 )
master-bin.000001 35037 Query 1 35127 use `test`; insert into t1 values( 17 )
master-bin.000001 35127 Query 1 35217 use `test`; insert into t1 values( 16 )
master-bin.000001 35217 Query 1 35307 use `test`; insert into t1 values( 15 )
master-bin.000001 35307 Query 1 35397 use `test`; insert into t1 values( 14 )
master-bin.000001 35397 Query 1 35487 use `test`; insert into t1 values( 13 )
master-bin.000001 35487 Query 1 35577 use `test`; insert into t1 values( 12 )
master-bin.000001 35577 Query 1 35667 use `test`; insert into t1 values( 11 )
master-bin.000001 35667 Query 1 35757 use `test`; insert into t1 values( 10 )
master-bin.000001 35757 Query 1 35846 use `test`; insert into t1 values( 9 )
master-bin.000001 35846 Query 1 35935 use `test`; insert into t1 values( 8 )
master-bin.000001 35935 Query 1 36024 use `test`; insert into t1 values( 7 )
master-bin.000001 36024 Query 1 36113 use `test`; insert into t1 values( 6 )
master-bin.000001 36113 Query 1 36202 use `test`; insert into t1 values( 5 )
master-bin.000001 36202 Query 1 36291 use `test`; insert into t1 values( 4 )
master-bin.000001 36291 Query 1 36380 use `test`; insert into t1 values( 3 )
master-bin.000001 36380 Query 1 36469 use `test`; insert into t1 values( 2 )
master-bin.000001 36469 Query 1 36558 use `test`; insert into t1 values( 1 )
master-bin.000001 36558 Xid 1 36585 COMMIT /* XID */
master-bin.000001 36585 Rotate 1 36629 master-bin.000002;pos=4
drop table t1;
set global binlog_cache_size=@bcs;
set session autocommit = @ac;
End of 5.0 tests
...@@ -3206,7 +3206,7 @@ DROP TABLE t1; ...@@ -3206,7 +3206,7 @@ DROP TABLE t1;
# #
CREATE TABLE t1(a int); CREATE TABLE t1(a int);
INSERT INTO t1 VALUES (1), (2); INSERT INTO t1 VALUES (1), (2);
mysqldump: Input filename or options too long: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa mysqldump: Input filename too long: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t2 (a int); CREATE TABLE t2 (a int);
CREATE TABLE t3 (a int); CREATE TABLE t3 (a int);
......
...@@ -40,7 +40,15 @@ CALL test_replication_sp2(); ...@@ -40,7 +40,15 @@ CALL test_replication_sp2();
INSERT INTO t1 VALUES (test_replication_sf()); INSERT INTO t1 VALUES (test_replication_sf());
INSERT INTO t1 VALUES (test_replication_sf()); INSERT INTO t1 VALUES (test_replication_sf());
INSERT INTO t1 VALUES (test_replication_sf()); INSERT INTO t1 VALUES (test_replication_sf());
DROP PROCEDURE IF EXISTS test_replication_sp1; select * from t1 into outfile "../tmp/t1_slave.txt";
DROP PROCEDURE IF EXISTS test_replication_sp2; create temporary table t1_slave select * from t1 where 1=0;
DROP FUNCTION IF EXISTS test_replication_sf; load data infile '../tmp/t1_slave.txt' into table t1_slave;
DROP TABLE IF EXISTS t1; select count(*) into @aux from t1, t1_slave
where ABS(t1.col_a - t1_slave.col_a) < 0.0001 ;
SELECT @aux;
@aux
12
DROP PROCEDURE test_replication_sp1;
DROP PROCEDURE test_replication_sp2;
DROP FUNCTION test_replication_sf;
DROP TABLE t1, t1_slave;
mysqld is alive
End of 5.0 tests.
...@@ -3,16 +3,14 @@ ...@@ -3,16 +3,14 @@
# #
-- source include/have_log_bin.inc -- source include/have_log_bin.inc
-- source include/not_embedded.inc -- source include/not_embedded.inc
-- source include/have_bdb.inc
-- source include/have_innodb.inc -- source include/have_innodb.inc
-- source include/have_log_bin.inc
--disable_warnings --disable_warnings
drop table if exists t1, t2; drop table if exists t1, t2;
--enable_warnings --enable_warnings
reset master; reset master;
create table t1 (a int) engine=bdb; create table t1 (a int) engine=innodb;
create table t2 (a int) engine=innodb; create table t2 (a int) engine=innodb;
begin; begin;
insert t1 values (5); insert t1 values (5);
...@@ -49,3 +47,124 @@ show binlog events in 'master-bin.000001' from 98; ...@@ -49,3 +47,124 @@ show binlog events in 'master-bin.000001' from 98;
--replace_column 2 # 5 # --replace_column 2 # 5 #
show binlog events in 'master-bin.000002' from 98; show binlog events in 'master-bin.000002' from 98;
#
# Bug#22540 - Incorrect value in column End_log_pos of
# SHOW BINLOG EVENTS using InnoDB
#
# the following tests will show that certain queries now return
# absolute offsets (from binlog start, rather than relative to
# the beginning of the current transaction). under what
# conditions it should be allowed / is sensible to put the
# slider into the middle of a transaction is not our concern
# here; we just guarantee that if and when it's done, the
# user has valid offsets to use. if the setter function still
# wants to throw a "positioning into middle of transaction"
# warning, that's its prerogative and handled elsewhere.
set @ac = @@autocommit;
# first show this to work for SHOW BINLOG EVENTS
set autocommit= 0;
reset master;
create table t1(n int) engine=innodb;
begin;
insert into t1 values (1);
insert into t1 values (2);
insert into t1 values (3);
commit;
drop table t1;
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
show binlog events from 0;
set autocommit= 1;
reset master;
create table t1(n int) engine=innodb;
insert into t1 values (1);
insert into t1 values (2);
insert into t1 values (3);
commit;
drop table t1;
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
show binlog events from 0;
reset master;
create table t1(n int) engine=myisam;
begin;
insert into t1 values (4);
insert into t1 values (5);
insert into t1 values (6);
commit;
drop table t1;
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
show binlog events from 0;
# now show this also works for SHOW MASTER STATUS
# as this is what "mysqldump --master-data=1" uses.
set autocommit= 1;
reset master;
create table t1(n int) engine=innodb;
show master status;
insert into t1 values (1);
show master status;
insert into t1 values (2);
insert into t1 values (3);
show master status;
commit;
show master status;
drop table t1;
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
show binlog events from 0;
set autocommit= 0;
reset master;
create table t1(n int) engine=myisam;
show master status;
insert into t1 values (4);
show master status;
insert into t1 values (5);
insert into t1 values (6);
show master status;
commit;
show master status;
drop table t1;
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
show binlog events from 0;
set session autocommit = @ac;
# now show that nothing breaks if we need to read from the cache more
# than once, resulting in split event-headers
set @bcs = @@binlog_cache_size;
set @ac = @@autocommit;
set global binlog_cache_size=4096;
set autocommit= 0;
reset master;
create table t1 (a int) engine=innodb;
let $1=400;
disable_query_log;
begin;
while ($1)
{
eval insert into t1 values( $1 );
dec $1;
}
commit;
enable_query_log;
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /Server ver: [^,]*,/Server version,/
show binlog events from 0;
drop table t1;
set global binlog_cache_size=@bcs;
set session autocommit = @ac;
--echo End of 5.0 tests
...@@ -77,27 +77,37 @@ INSERT INTO t1 VALUES (test_replication_sf()); ...@@ -77,27 +77,37 @@ INSERT INTO t1 VALUES (test_replication_sf());
INSERT INTO t1 VALUES (test_replication_sf()); INSERT INTO t1 VALUES (test_replication_sf());
INSERT INTO t1 VALUES (test_replication_sf()); INSERT INTO t1 VALUES (test_replication_sf());
# Record the results of the query on the master
--exec $MYSQL --port=$MASTER_MYPORT test -e "SELECT * FROM test.t1" > $MYSQLTEST_VARDIR/tmp/rpl_rand_master.sql
--sync_slave_with_master --sync_slave_with_master
# Record the results of the query on the slave # Dump table on slave
--exec $MYSQL --port=$SLAVE_MYPORT test -e "SELECT * FROM test.t1" > $MYSQLTEST_VARDIR/tmp/rpl_rand_slave.sql select * from t1 into outfile "../tmp/t1_slave.txt";
# Compare the results from the master to the slave. # Load data from slave into temp table on master
--exec diff $MYSQLTEST_VARDIR/tmp/rpl_rand_master.sql $MYSQLTEST_VARDIR/tmp/rpl_rand_slave.sql connection master;
create temporary table t1_slave select * from t1 where 1=0;
load data infile '../tmp/t1_slave.txt' into table t1_slave;
--remove_file $MYSQLTEST_VARDIR/tmp/t1_slave.txt
# Compare master and slave temp table, use subtraction
# for floating point comparison of "double"
select count(*) into @aux from t1, t1_slave
where ABS(t1.col_a - t1_slave.col_a) < 0.0001 ;
SELECT @aux;
if (`SELECT @aux <> 12 OR @aux IS NULL`)
{
--echo # ERROR: We expected to get count(*) = 12.
SELECT col_a FROM t1;
SELECT col_a FROM t1_slave;
--echo # abort
exit;
}
# Cleanup # Cleanup
connection master; connection master;
--disable_warnings DROP PROCEDURE test_replication_sp1;
DROP PROCEDURE IF EXISTS test_replication_sp1; DROP PROCEDURE test_replication_sp2;
DROP PROCEDURE IF EXISTS test_replication_sp2; DROP FUNCTION test_replication_sf;
DROP FUNCTION IF EXISTS test_replication_sf; DROP TABLE t1, t1_slave;
DROP TABLE IF EXISTS t1;
--enable_warnings
--sync_slave_with_master --sync_slave_with_master
# If all is good, when can cleanup our dump files.
--system rm $MYSQLTEST_VARDIR/tmp/rpl_rand_master.sql
--system rm $MYSQLTEST_VARDIR/tmp/rpl_rand_slave.sql
...@@ -705,9 +705,11 @@ begin ...@@ -705,9 +705,11 @@ begin
insert into test.t1 values (concat(x, "2"), y+2); insert into test.t1 values (concat(x, "2"), y+2);
end| end|
--system rm -f $MYSQLTEST_VARDIR/tmp/spout # Check that file does not exists
--error 1
--file_exists $MYSQLTEST_VARDIR/tmp/spout
call into_outfile("ofile", 1)| call into_outfile("ofile", 1)|
--system rm -f $MYSQLTEST_VARDIR/tmp/spout --remove_file $MYSQLTEST_VARDIR/tmp/spout
delete from t1| delete from t1|
drop procedure into_outfile| drop procedure into_outfile|
...@@ -722,9 +724,11 @@ begin ...@@ -722,9 +724,11 @@ begin
insert into test.t1 values (concat(x, "2"), y+2); insert into test.t1 values (concat(x, "2"), y+2);
end| end|
--system rm -f $MYSQLTEST_VARDIR/tmp/spdump # Check that file does not exists
--error 1
--file_exists $MYSQLTEST_VARDIR/tmp/spdump
call into_dumpfile("dfile", 1)| call into_dumpfile("dfile", 1)|
--system rm -f $MYSQLTEST_VARDIR/tmp/spdump --remove_file $MYSQLTEST_VARDIR/tmp/spdump
delete from t1| delete from t1|
drop procedure into_dumpfile| drop procedure into_dumpfile|
......
...@@ -25,7 +25,7 @@ connection con1; ...@@ -25,7 +25,7 @@ connection con1;
--send --send
update t1 set n = 3; update t1 set n = 3;
connection con2; connection con2;
sleep 0.5; sleep 1;
unlock tables; unlock tables;
connection con1; connection con1;
reap; reap;
......
--skip-grant-tables --loose-shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX --loose-shared-memory=1
# Windows-specific tests
--source include/windows.inc
#
# Bug #24924: shared-memory-base-name that is too long causes buffer overflow
#
--exec $MYSQLADMIN --no-defaults --user=root --host=127.0.0.1 --port=$MASTER_MYPORT --shared-memory-base-name=HeyMrBaseNameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ping
--echo End of 5.0 tests.
...@@ -43,8 +43,7 @@ mysqld_LDADD = @MYSQLD_EXTRA_LDFLAGS@ \ ...@@ -43,8 +43,7 @@ mysqld_LDADD = @MYSQLD_EXTRA_LDFLAGS@ \
@innodb_system_libs@ \ @innodb_system_libs@ \
@ndbcluster_libs@ @ndbcluster_system_libs@ \ @ndbcluster_libs@ @ndbcluster_system_libs@ \
$(LDADD) $(CXXLDFLAGS) $(WRAPLIBS) @LIBDL@ \ $(LDADD) $(CXXLDFLAGS) $(WRAPLIBS) @LIBDL@ \
$(yassl_libs) $(openssl_libs) \ $(yassl_libs) $(openssl_libs) @MYSQLD_EXTRA_LIBS@
@MYSQLD_EXTRA_LIBS@
noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \ noinst_HEADERS = item.h item_func.h item_sum.h item_cmpfunc.h \
item_strfunc.h item_timefunc.h item_uniq.h \ item_strfunc.h item_timefunc.h item_uniq.h \
......
...@@ -134,7 +134,7 @@ static int binlog_commit(THD *thd, bool all) ...@@ -134,7 +134,7 @@ static int binlog_commit(THD *thd, bool all)
// we're here because trans_log was flushed in MYSQL_LOG::log_xid() // we're here because trans_log was flushed in MYSQL_LOG::log_xid()
DBUG_RETURN(0); DBUG_RETURN(0);
} }
if (all) if (all)
{ {
Query_log_event qev(thd, STRING_WITH_LEN("COMMIT"), TRUE, FALSE); Query_log_event qev(thd, STRING_WITH_LEN("COMMIT"), TRUE, FALSE);
qev.error_code= 0; // see comment in MYSQL_LOG::write(THD, IO_CACHE) qev.error_code= 0; // see comment in MYSQL_LOG::write(THD, IO_CACHE)
...@@ -1835,7 +1835,8 @@ bool MYSQL_LOG::write(THD *thd, IO_CACHE *cache, Log_event *commit_event) ...@@ -1835,7 +1835,8 @@ bool MYSQL_LOG::write(THD *thd, IO_CACHE *cache, Log_event *commit_event)
if (likely(is_open())) // Should always be true if (likely(is_open())) // Should always be true
{ {
uint length; uint length, group, carry, hdr_offs, val;
byte header[LOG_EVENT_HEADER_LEN];
/* /*
Log "BEGIN" at the beginning of the transaction. Log "BEGIN" at the beginning of the transaction.
...@@ -1867,13 +1868,116 @@ bool MYSQL_LOG::write(THD *thd, IO_CACHE *cache, Log_event *commit_event) ...@@ -1867,13 +1868,116 @@ bool MYSQL_LOG::write(THD *thd, IO_CACHE *cache, Log_event *commit_event)
/* Read from the file used to cache the queries .*/ /* Read from the file used to cache the queries .*/
if (reinit_io_cache(cache, READ_CACHE, 0, 0, 0)) if (reinit_io_cache(cache, READ_CACHE, 0, 0, 0))
goto err; goto err;
length=my_b_bytes_in_cache(cache);
length= my_b_bytes_in_cache(cache);
DBUG_EXECUTE_IF("half_binlogged_transaction", length-=100;); DBUG_EXECUTE_IF("half_binlogged_transaction", length-=100;);
/*
The events in the buffer have incorrect end_log_pos data
(relative to beginning of group rather than absolute),
so we'll recalculate them in situ so the binlog is always
correct, even in the middle of a group. This is possible
because we now know the start position of the group (the
offset of this cache in the log, if you will); all we need
to do is to find all event-headers, and add the position of
the group to the end_log_pos of each event. This is pretty
straight forward, except that we read the cache in segments,
so an event-header might end up on the cache-border and get
split.
*/
group= (uint)my_b_tell(&log_file);
hdr_offs= carry= 0;
do do
{ {
/*
if we only got a partial header in the last iteration,
get the other half now and process a full header.
*/
if (unlikely(carry > 0))
{
DBUG_ASSERT(carry < LOG_EVENT_HEADER_LEN);
/* assemble both halves */
memcpy(&header[carry], (char *)cache->read_pos, LOG_EVENT_HEADER_LEN - carry);
/* fix end_log_pos */
val= uint4korr(&header[LOG_POS_OFFSET]) + group;
int4store(&header[LOG_POS_OFFSET], val);
/* write the first half of the split header */
if (my_b_write(&log_file, header, carry))
goto err;
/*
copy fixed second half of header to cache so the correct
version will be written later.
*/
memcpy((char *)cache->read_pos, &header[carry], LOG_EVENT_HEADER_LEN - carry);
/* next event header at ... */
hdr_offs = uint4korr(&header[EVENT_LEN_OFFSET]) - carry;
carry= 0;
}
/* if there is anything to write, process it. */
if (likely(length > 0))
{
/*
process all event-headers in this (partial) cache.
if next header is beyond current read-buffer,
we'll get it later (though not necessarily in the
very next iteration, just "eventually").
*/
while (hdr_offs < length)
{
/*
partial header only? save what we can get, process once
we get the rest.
*/
if (hdr_offs + LOG_EVENT_HEADER_LEN > length)
{
carry= length - hdr_offs;
memcpy(header, (char *)cache->read_pos + hdr_offs, carry);
length= hdr_offs;
}
else
{
/* we've got a full event-header, and it came in one piece */
uchar *log_pos= (uchar *)cache->read_pos + hdr_offs + LOG_POS_OFFSET;
/* fix end_log_pos */
val= uint4korr(log_pos) + group;
int4store(log_pos, val);
/* next event header at ... */
log_pos= (uchar *)cache->read_pos + hdr_offs + EVENT_LEN_OFFSET;
hdr_offs += uint4korr(log_pos);
}
}
/*
Adjust hdr_offs. Note that this doesn't mean it will necessarily
be valid in the next iteration; if the current event is very long,
it may take a couple of read-iterations (and subsequent fixings
of hdr_offs) for it to become valid again.
if we had a split header, hdr_offs was already fixed above.
*/
if (carry == 0)
hdr_offs -= length;
}
/* Write data to the binary log file */ /* Write data to the binary log file */
if (my_b_write(&log_file, cache->read_pos, length)) if (my_b_write(&log_file, cache->read_pos, length))
goto err; goto err;
cache->read_pos=cache->read_end; // Mark buffer used up cache->read_pos=cache->read_end; // Mark buffer used up
DBUG_EXECUTE_IF("half_binlogged_transaction", goto DBUG_skip_commit;); DBUG_EXECUTE_IF("half_binlogged_transaction", goto DBUG_skip_commit;);
} while ((length=my_b_fill(cache))); } while ((length=my_b_fill(cache)));
......
/* /*
manifest.js - Writes a custom XML manifest for each executable/library manifest.js - Writes a custom XML manifest for each executable/library
6 command line options must be supplied: 5 command line options must be supplied:
name - Name of the executable/library into which the mainfest will be name - Name of the executable/library into which the mainfest will be
embedded. embedded.
version - Version of the executable version - Version of the executable
arch - Architecture intended. arch - Architecture intended.
type - Application type.
exe_level - Application execution level. exe_level - Application execution level.
[asInvoker|highestAvailable|requireAdministrator] [asInvoker|highestAvailable|requireAdministrator]
outfile - Final destination where mainfest will be written. outfile - Final destination where mainfest will be written.
...@@ -37,9 +36,6 @@ try ...@@ -37,9 +36,6 @@ try
case "arch": case "arch":
var app_arch= parts[1]; var app_arch= parts[1];
break; break;
case "type":
var app_type= parts[1];
break;
case "exe_level": case "exe_level":
var app_exe_level= parts[1]; var app_exe_level= parts[1];
break; break;
...@@ -50,7 +46,7 @@ try ...@@ -50,7 +46,7 @@ try
WScript.echo("Invalid argument supplied."); WScript.echo("Invalid argument supplied.");
} }
} }
if (i != 6) if (i != 5)
throw new Error(1, "Incorrect number of arguments."); throw new Error(1, "Incorrect number of arguments.");
var manifest_xml= "<?xml version=\'1.0\' encoding=\'UTF-8\' standalone=\'yes\'?>\r\n"; var manifest_xml= "<?xml version=\'1.0\' encoding=\'UTF-8\' standalone=\'yes\'?>\r\n";
...@@ -61,7 +57,7 @@ try ...@@ -61,7 +57,7 @@ try
manifest_xml+= " version=\'" + app_version + "\'"; manifest_xml+= " version=\'" + app_version + "\'";
manifest_xml+= " processorArchitecture=\'" + app_arch + "\'"; manifest_xml+= " processorArchitecture=\'" + app_arch + "\'";
// TOADD - Add publicKeyToken attribute once we have Authenticode key. // TOADD - Add publicKeyToken attribute once we have Authenticode key.
manifest_xml+= " type=\'" + app_type + "\' />\r\n"; manifest_xml+= " type=\'win32\' />\r\n";
// Identify the application security requirements. // Identify the application security requirements.
manifest_xml+= "\t<trustInfo xmlns=\'urn:schemas-microsoft-com:asm.v2\'>\r\n"; manifest_xml+= "\t<trustInfo xmlns=\'urn:schemas-microsoft-com:asm.v2\'>\r\n";
manifest_xml+= "\t\t<security>\r\n\t\t\t<requestedPrivileges>\r\n\t\t\t\t"; manifest_xml+= "\t\t<security>\r\n\t\t\t<requestedPrivileges>\r\n\t\t\t\t";
......
...@@ -9,7 +9,7 @@ MACRO(MYSQL_EMBED_MANIFEST _target_name _required_privs) ...@@ -9,7 +9,7 @@ MACRO(MYSQL_EMBED_MANIFEST _target_name _required_privs)
TARGET ${_target_name} TARGET ${_target_name}
PRE_LINK PRE_LINK
COMMAND cscript.exe COMMAND cscript.exe
ARGS "${PROJECT_SOURCE_DIR}/win/create_manifest.js" name=$(ProjectName) version=${VERSION} arch=${PROCESSOR_ARCH} type=$(PlatformName) exe_level=${_required_privs} outfile=$(IntDir)\\$(TargetFileName).intermediate.manifest ARGS "${PROJECT_SOURCE_DIR}/win/create_manifest.js" name=$(ProjectName) version=${VERSION} arch=${PROCESSOR_ARCH} exe_level=${_required_privs} outfile=$(IntDir)\\$(TargetFileName).intermediate.manifest
COMMENT "Generates the contents of the manifest contents.") COMMENT "Generates the contents of the manifest contents.")
ADD_CUSTOM_COMMAND( ADD_CUSTOM_COMMAND(
TARGET ${_target_name} TARGET ${_target_name}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment