Manual merge 5.1-rep+2 to 5.1-rep+3

This commit is contained in:
He Zhenxing 2009-10-18 11:57:38 +08:00
commit 9630512875
372 changed files with 15369 additions and 2607 deletions

View file

@ -1,3 +1,6 @@
#ifndef CLIENT_MY_READLINE_INCLUDED
#define CLIENT_MY_READLINE_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -31,3 +34,5 @@ extern LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file);
extern LINE_BUFFER *batch_readline_command(LINE_BUFFER *buffer, char * str);
extern char *batch_readline(LINE_BUFFER *buffer, bool *truncated);
extern void batch_readline_end(LINE_BUFFER *buffer);
#endif /* CLIENT_MY_READLINE_INCLUDED */

View file

@ -1346,7 +1346,6 @@ static int parse_args(int *argc, char*** argv)
int ho_error;
result_file = stdout;
load_defaults("my",load_default_groups,argc,argv);
if ((ho_error=handle_options(argc, argv, my_long_options, get_one_option)))
exit(ho_error);
if (debug_info_flag)
@ -1998,8 +1997,9 @@ int main(int argc, char** argv)
my_init_time(); // for time functions
load_defaults("my", load_default_groups, &argc, &argv);
defaults_argv= argv;
parse_args(&argc, (char***)&argv);
defaults_argv=argv;
if (!argc)
{

View file

@ -417,6 +417,7 @@ static struct st_expected_errors saved_expected_errors;
struct st_command
{
char *query, *query_buf,*first_argument,*last_argument,*end;
DYNAMIC_STRING content;
int first_word_len, query_len;
my_bool abort_on_error;
struct st_expected_errors expected_errors;
@ -1140,6 +1141,8 @@ void free_used_memory()
{
struct st_command **q= dynamic_element(&q_lines, i, struct st_command**);
my_free((*q)->query_buf,MYF(MY_ALLOW_ZERO_PTR));
if ((*q)->content.str)
dynstr_free(&(*q)->content);
my_free((*q),MYF(0));
}
for (i= 0; i < 10; i++)
@ -3289,21 +3292,30 @@ void do_write_file_command(struct st_command *command, my_bool append)
sizeof(write_file_args)/sizeof(struct command_arg),
' ');
/* If no delimiter was provided, use EOF */
if (ds_delimiter.length == 0)
dynstr_set(&ds_delimiter, "EOF");
if (!append && access(ds_filename.str, F_OK) == 0)
{
/* The file should not be overwritten */
die("File already exist: '%s'", ds_filename.str);
}
init_dynamic_string(&ds_content, "", 1024, 1024);
read_until_delimiter(&ds_content, &ds_delimiter);
DBUG_PRINT("info", ("Writing to file: %s", ds_filename.str));
str_to_file2(ds_filename.str, ds_content.str, ds_content.length, append);
dynstr_free(&ds_content);
ds_content= command->content;
/* If it hasn't been done already by a loop iteration, fill it in */
if (! ds_content.str)
{
/* If no delimiter was provided, use EOF */
if (ds_delimiter.length == 0)
dynstr_set(&ds_delimiter, "EOF");
init_dynamic_string(&ds_content, "", 1024, 1024);
read_until_delimiter(&ds_content, &ds_delimiter);
command->content= ds_content;
}
/* This function could be called even if "false", so check before printing */
if (cur_block->ok)
{
DBUG_PRINT("info", ("Writing to file: %s", ds_filename.str));
str_to_file2(ds_filename.str, ds_content.str, ds_content.length, append);
}
dynstr_free(&ds_filename);
dynstr_free(&ds_delimiter);
DBUG_VOID_RETURN;
@ -3446,12 +3458,17 @@ void do_diff_files(struct st_command *command)
die("command \"diff_files\" failed, file '%s' does not exist",
ds_filename2.str);
if ((error= compare_files(ds_filename.str, ds_filename2.str)))
if ((error= compare_files(ds_filename.str, ds_filename2.str)) &&
match_expected_error(command, error, NULL) < 0)
{
/* Compare of the two files failed, append them to output
so the failure can be analyzed
so the failure can be analyzed, but only if it was not
expected to fail.
*/
show_diff(&ds_res, ds_filename.str, ds_filename2.str);
log_file.write(&ds_res);
log_file.flush();
dynstr_set(&ds_res, 0);
}
dynstr_free(&ds_filename);
@ -7164,6 +7181,10 @@ void run_query(struct st_connection *cn, struct st_command *command, int flags)
run_query_normal(cn, command, flags, query, query_len,
ds, &ds_warnings);
dynstr_free(&ds_warnings);
if (command->type == Q_EVAL)
dynstr_free(&eval_query);
if (display_result_sorted)
{
/* Sort the result set and append it to result */
@ -7194,11 +7215,8 @@ void run_query(struct st_connection *cn, struct st_command *command, int flags)
check_require(ds, command->require_file);
}
dynstr_free(&ds_warnings);
if (ds == &ds_result)
dynstr_free(&ds_result);
if (command->type == Q_EVAL)
dynstr_free(&eval_query);
DBUG_VOID_RETURN;
}
@ -7681,7 +7699,31 @@ int main(int argc, char **argv)
command->type= Q_COMMENT;
}
if (cur_block->ok)
my_bool ok_to_do= cur_block->ok;
/*
Some commands need to be "done" the first time if they may get
re-iterated over in a true context. This can only happen if there's
a while loop at some level above the current block.
*/
if (!ok_to_do)
{
if (command->type == Q_SOURCE ||
command->type == Q_WRITE_FILE ||
command->type == Q_APPEND_FILE ||
command->type == Q_PERL)
{
for (struct st_block *stb= cur_block-1; stb >= block_stack; stb--)
{
if (stb->cmd == cmd_while)
{
ok_to_do= 1;
break;
}
}
}
}
if (ok_to_do)
{
command->last_argument= command->first_argument;
processed = 1;
@ -7990,6 +8032,8 @@ int main(int argc, char **argv)
if (parsing_disabled)
die("Test ended with parsing disabled");
my_bool empty_result= FALSE;
/*
The whole test has been executed _sucessfully_.
Time to compare result or save it to record file.
@ -8030,11 +8074,20 @@ int main(int argc, char **argv)
}
else
{
die("The test didn't produce any output");
/* Empty output is an error *unless* we also have an empty result file */
if (! result_file_name || record ||
compare_files (log_file.file_name(), result_file_name))
{
die("The test didn't produce any output");
}
else
{
empty_result= TRUE; /* Meaning empty was expected */
}
}
if (!command_executed && result_file_name)
die("No queries executed but result file found!");
if (!command_executed && result_file_name && !empty_result)
die("No queries executed but non-empty result file found!");
verbose_msg("Test has succeeded!");
timer_output();

View file

@ -1,3 +1,6 @@
#ifndef CLIENT_SQL_STRING_INCLUDED
#define CLIENT_SQL_STRING_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -353,3 +356,5 @@ public:
return (s->alloced && Ptr >= s->Ptr && Ptr < s->Ptr + s->str_length);
}
};
#endif /* CLIENT_SQL_STRING_INCLUDED */

View file

@ -10,7 +10,7 @@ AC_CANONICAL_SYSTEM
#
# When changing major version number please also check switch statement
# in mysqlbinlog::check_master_version().
AM_INIT_AUTOMAKE(mysql, 5.1.39)
AM_INIT_AUTOMAKE(mysql, 5.1.40)
AM_CONFIG_HEADER([include/config.h:config.h.in])
PROTOCOL_VERSION=10

View file

@ -1662,6 +1662,27 @@ BOOLEAN _db_keyword_(CODE_STATE *cs, const char *keyword)
InList(cs->stack->processes, cs->process));
}
/*
* FUNCTION
*
* _db_keywords_ test keyword formed by a set of strings for member
* of keyword list
*
* DESCRIPTION
*
* This function is similar to _db_keyword but receives a set of strings to
* be concatenated in order to make the keyword to be compared.
*/
BOOLEAN _db_keywords_(const char *function, const char *type)
{
char dest[_DBUG_MAX_FUNC_NAME_ + 1];
strxnmov(dest, _DBUG_MAX_FUNC_NAME_, function, type, NULL);
return _db_strict_keyword_(dest);
}
/*
* FUNCTION
*
@ -2281,6 +2302,13 @@ void _db_unlock_file_()
pthread_mutex_unlock(&THR_LOCK_dbug);
}
const char* _db_get_func_(void)
{
CODE_STATE *cs= 0;
get_code_state_or_return NULL;
return cs->func;
}
/*
* Here we need the definitions of the clock routine. Add your
* own for whatever system that you have.

View file

@ -192,7 +192,8 @@ int main(int argc, char **argv)
}
for (argument= arguments+1 ; *argument ; argument++)
puts(*argument);
if (*argument != args_separator) /* skip arguments separator */
puts(*argument);
my_free((char*) load_default_groups,MYF(0));
free_defaults(arguments);

View file

@ -1,3 +1,6 @@
#ifndef ATOMIC_GCC_BUILTINS_INCLUDED
#define ATOMIC_GCC_BUILTINS_INCLUDED
/* Copyright (C) 2008 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -31,3 +34,5 @@
#define make_atomic_store_body(S) \
(void) __sync_lock_test_and_set(a, v);
#endif
#endif /* ATOMIC_GCC_BUILTINS_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef ATOMIC_NOLOCK_INCLUDED
#define ATOMIC_NOLOCK_INCLUDED
/* Copyright (C) 2006 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -42,3 +45,4 @@ typedef struct { } my_atomic_rwlock_t;
#endif
#endif /* ATOMIC_NOLOCK_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef ATOMIC_RWLOCK_INCLUDED
#define ATOMIC_RWLOCK_INCLUDED
/* Copyright (C) 2006 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -46,3 +49,4 @@ typedef struct {pthread_rwlock_t rw;} my_atomic_rwlock_t;
#define make_atomic_load_body(S) ret= *a;
#define make_atomic_store_body(S) *a= v;
#endif /* ATOMIC_RWLOCK_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef ATOMIC_X86_GCC_INCLUDED
#define ATOMIC_X86_GCC_INCLUDED
/* Copyright (C) 2006 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -56,3 +59,4 @@
asm volatile ("; xchg %0, %1;" : "+m" (*a) : "r" (v))
#endif
#endif /* ATOMIC_X86_GCC_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef CONFIG_WIN_INCLUDED
#define CONFIG_WIN_INCLUDED
/* Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.
This program is free software; you can redistribute it and/or modify
@ -410,3 +413,5 @@ inline ulonglong double2ulonglong(double d)
#define HAVE_UCA_COLLATIONS 1
#define HAVE_BOOL 1
#endif /* CONFIG_WIN_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef ERRMSG_INCLUDED
#define ERRMSG_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -100,3 +103,4 @@ extern const char *client_errors[]; /* Error messages */
#define CR_ERROR_LAST /*Copy last error nr:*/ 2057
/* Add error numbers before CR_ERROR_LAST and change it accordingly. */
#endif /* ERRMSG_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef HELP_END_INCLUDED
#define HELP_END_INCLUDED
/* Copyright (C) 2004-2005 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -20,3 +23,4 @@
#undef fputc
#undef putchar
#endif
#endif /* HELP_END_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef HELP_START_INCLUDED
#define HELP_START_INCLUDED
/* Copyright (C) 2004-2005 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -22,3 +25,4 @@
#define fputc(s,f) consoleprintf("%c", s)
#define putchar(s) consoleprintf("%c", s)
#endif
#endif /* HELP_START_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef MY_AES_INCLUDED
#define MY_AES_INCLUDED
/* Copyright (C) 2002 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -63,3 +66,5 @@ int my_aes_decrypt(const char *source, int source_length, char *dest,
int my_aes_get_size(int source_length);
C_MODE_END
#endif /* MY_AES_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef MY_ATOMIC_INCLUDED
#define MY_ATOMIC_INCLUDED
/* Copyright (C) 2006 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -140,3 +143,4 @@ extern int my_atomic_initialize();
#endif
#endif /* MY_ATOMIC_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef MY_BIT_INCLUDED
#define MY_BIT_INCLUDED
/*
Some useful bit functions
*/
@ -107,3 +110,5 @@ extern uint my_count_bits(ulonglong v);
extern uint my_count_bits_ushort(ushort v);
#endif /* HAVE_INLINE */
C_MODE_END
#endif /* MY_BIT_INCLUDED */

View file

@ -22,6 +22,7 @@ extern "C" {
#if !defined(DBUG_OFF) && !defined(_lint)
struct _db_code_state_;
extern int _db_keyword_(struct _db_code_state_ *cs, const char *keyword);
extern int _db_keywords_(const char *, const char *);
extern int _db_strict_keyword_(const char *keyword);
extern int _db_explain_(struct _db_code_state_ *cs, char *buf, size_t len);
extern int _db_explain_init_(char *buf, size_t len);
@ -46,6 +47,7 @@ extern void _db_end_(void);
extern void _db_lock_file_(void);
extern void _db_unlock_file_(void);
extern FILE *_db_fp_(void);
extern const char* _db_get_func_(void);
#define DBUG_ENTER(a) const char *_db_func_, *_db_file_; uint _db_level_; \
char **_db_framep_; \
@ -81,6 +83,20 @@ extern FILE *_db_fp_(void);
#define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len))
#define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len))
#define IF_DBUG(A) A
#define _DBUG_MAX_FUNC_NAME_ 255
#define DBUG_CHECK_CRASH(func, op) \
do { \
if (_db_keywords_((func), (op))) \
{ abort(); } \
} while (0)
#define DBUG_CRASH_ENTER(func) \
DBUG_ENTER(func); DBUG_CHECK_CRASH(func, "_crash_enter")
#define DBUG_CRASH_RETURN(val) \
do {DBUG_CHECK_CRASH(_db_get_func_(), "_crash_return"); \
DBUG_RETURN(val);} while(0)
#define DBUG_CRASH_VOID_RETURN \
do {DBUG_CHECK_CRASH (_db_get_func_(), "_crash_return"); \
DBUG_VOID_RETURN;} while(0)
#else /* No debugger */
#define DBUG_ENTER(a1)
@ -108,6 +124,9 @@ extern FILE *_db_fp_(void);
#define DBUG_EXPLAIN(buf,len)
#define DBUG_EXPLAIN_INITIAL(buf,len)
#define IF_DBUG(A)
#define DBUG_CRASH_ENTER(func)
#define DBUG_CRASH_RETURN(val) do { return(val); } while(0)
#define DBUG_CRASH_VOID_RETURN do { return; } while(0)
#endif
#ifdef __cplusplus
}

View file

@ -1,3 +1,6 @@
#ifndef MY_LIBWRAP_INCLUDED
#define MY_LIBWRAP_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -25,3 +28,4 @@ extern int my_hosts_access(struct request_info *req);
extern char *my_eval_client(struct request_info *req);
#endif /* HAVE_LIBWRAP */
#endif /* MY_LIBWRAP_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef MY_MD5_INCLUDED
#define MY_MD5_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -52,3 +55,5 @@ do { \
my_MD5Update (&ctx, buf, len); \
my_MD5Final (digest, &ctx); \
} while (0)
#endif /* MY_MD__INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef MY_NO_PTHREAD_INCLUDED
#define MY_NO_PTHREAD_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -14,9 +17,7 @@
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#if !defined(_my_no_pthread_h) && !defined(THREAD)
#define _my_no_pthread_h
#ifndef THREAD
/*
This block is to access some thread-related type definitions
@ -48,3 +49,4 @@
#define rwlock_destroy(A)
#endif
#endif /* MY_NO_PTHREAD_INCLUDED */

View file

@ -843,6 +843,7 @@ extern void *memdup_root(MEM_ROOT *root,const void *str, size_t len);
extern int get_defaults_options(int argc, char **argv,
char **defaults, char **extra_defaults,
char **group_suffix);
extern const char *args_separator;
extern int my_load_defaults(const char *conf_file, const char **groups,
int *argc, char ***argv, const char ***);
extern int load_defaults(const char *conf_file, const char **groups,

View file

@ -1,3 +1,6 @@
#ifndef MY_UCTYPE_INCLUDED
#define MY_UCTYPE_INCLUDED
/* Copyright (C) 2006 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -1477,3 +1480,4 @@ MY_UNI_CTYPE my_uni_ctype[256]={
};
#endif /* MY_UCTYPE_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef MYISAMPACK_INCLUDED
#define MYISAMPACK_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -236,3 +239,4 @@
mi_int4store(((T) + 4), A); }}
#define mi_sizekorr(T) mi_uint4korr((uchar*) (T) + 4)
#endif
#endif /* MYISAMPACK_INCLUDED */

View file

@ -16,6 +16,11 @@
#ifndef _my_plugin_h
#define _my_plugin_h
/* size_t */
#include <stdlib.h>
typedef struct st_mysql MYSQL;
/*
On Windows, exports from DLL need to be declared
@ -75,7 +80,8 @@ typedef struct st_mysql_xid MYSQL_XID;
#define MYSQL_FTPARSER_PLUGIN 2 /* Full-text parser plugin */
#define MYSQL_DAEMON_PLUGIN 3 /* The daemon/raw plugin type */
#define MYSQL_INFORMATION_SCHEMA_PLUGIN 4 /* The I_S plugin type */
#define MYSQL_MAX_PLUGIN_TYPE_NUM 5 /* The number of plugin types */
#define MYSQL_REPLICATION_PLUGIN 5 /* The replication plugin type */
#define MYSQL_MAX_PLUGIN_TYPE_NUM 6 /* The number of plugin types */
/* We use the following strings to define licenses for plugins */
#define PLUGIN_LICENSE_PROPRIETARY 0
@ -650,6 +656,17 @@ struct st_mysql_information_schema
int interface_version;
};
/*
API for Replication plugin. (MYSQL_REPLICATION_PLUGIN)
*/
#define MYSQL_REPLICATION_INTERFACE_VERSION 0x0100
/**
Replication plugin descriptor
*/
struct Mysql_replication {
int interface_version;
};
/*
st_mysql_value struct for reading values from mysqld.
@ -801,6 +818,64 @@ void mysql_query_cache_invalidate4(MYSQL_THD thd,
const char *key, unsigned int key_length,
int using_trx);
/**
Get the value of user variable as an integer.
This function will return the value of variable @a name as an
integer. If the original value of the variable is not an integer,
the value will be converted into an integer.
@param name user variable name
@param value pointer to return the value
@param null_value if not NULL, the function will set it to true if
the value of variable is null, set to false if not
@retval 0 Success
@retval 1 Variable not found
*/
int get_user_var_int(const char *name,
long long int *value, int *null_value);
/**
Get the value of user variable as a double precision float number.
This function will return the value of variable @a name as real
number. If the original value of the variable is not a real number,
the value will be converted into a real number.
@param name user variable name
@param value pointer to return the value
@param null_value if not NULL, the function will set it to true if
the value of variable is null, set to false if not
@retval 0 Success
@retval 1 Variable not found
*/
int get_user_var_real(const char *name,
double *value, int *null_value);
/**
Get the value of user variable as a string.
This function will return the value of variable @a name as
string. If the original value of the variable is not a string,
the value will be converted into a string.
@param name user variable name
@param value pointer to the value buffer
@param len length of the value buffer
@param precision precision of the value if it is a float number
@param null_value if not NULL, the function will set it to true if
the value of variable is null, set to false if not
@retval 0 Success
@retval 1 Variable not found
*/
int get_user_var_str(const char *name,
char *value, unsigned long len,
unsigned int precision, int *null_value);
#ifdef __cplusplus
}
#endif

View file

@ -1,3 +1,5 @@
#include <stdlib.h>
typedef struct st_mysql MYSQL;
struct st_mysql_lex_string
{
char *str;
@ -105,6 +107,9 @@ struct st_mysql_information_schema
{
int interface_version;
};
struct Mysql_replication {
int interface_version;
};
struct st_mysql_value
{
int (*value_type)(struct st_mysql_value *);
@ -137,3 +142,10 @@ void thd_get_xid(const void* thd, MYSQL_XID *xid);
void mysql_query_cache_invalidate4(void* thd,
const char *key, unsigned int key_length,
int using_trx);
int get_user_var_int(const char *name,
long long int *value, int *null_value);
int get_user_var_real(const char *name,
double *value, int *null_value);
int get_user_var_str(const char *name,
char *value, unsigned long len,
unsigned int precision, int *null_value);

View file

@ -1,3 +1,6 @@
#ifndef MYSQL_EMBED_INCLUDED
#define MYSQL_EMBED_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -28,3 +31,4 @@
#define DONT_USE_RAID
#endif /* EMBEDDED_LIBRARY */
#endif /* MYSQL_EMBED_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef RIJNDAEL_INCLUDED
#define RIJNDAEL_INCLUDED
/* Copyright (C) 2002 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -39,3 +42,5 @@ void rijndaelEncrypt(const uint32 rk[/*4*(Nr + 1)*/], int Nr,
const uint8 pt[16], uint8 ct[16]);
void rijndaelDecrypt(const uint32 rk[/*4*(Nr + 1)*/], int Nr,
const uint8 ct[16], uint8 pt[16]);
#endif /* RIJNDAEL_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef SHA1_INCLUDED
#define SHA1_INCLUDED
/* Copyright (C) 2002, 2006 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -64,3 +67,5 @@ int mysql_sha1_input(SHA1_CONTEXT*, const uint8 *, unsigned int);
int mysql_sha1_result(SHA1_CONTEXT* , uint8 Message_Digest[SHA1_HASH_SIZE]);
C_MODE_END
#endif /* SHA__INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef SQL_COMMON_INCLUDED
#define SQL_COMMON_INCLUDED
/* Copyright (C) 2003-2004, 2006 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -48,3 +51,4 @@ void set_mysql_error(MYSQL *mysql, int errcode, const char *sqlstate);
#define protocol_41(A) ((A)->server_capabilities & CLIENT_PROTOCOL_41)
#endif /* SQL_COMMON_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef SSLOPT_CASE_INCLUDED
#define SSLOPT_CASE_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -26,3 +29,4 @@
opt_use_ssl= 1;
break;
#endif
#endif /* SSLOPT_CASE_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef SSLOPT_LONGOPTS_INCLUDED
#define SSLOPT_LONGOPTS_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -43,3 +46,4 @@
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
#endif
#endif /* HAVE_OPENSSL */
#endif /* SSLOPT_LONGOPTS_INCLUDED */

View file

@ -1,3 +1,6 @@
#ifndef SSLOPT_VARS_INCLUDED
#define SSLOPT_VARS_INCLUDED
/* Copyright (C) 2000 MySQL AB
This program is free software; you can redistribute it and/or modify
@ -29,3 +32,4 @@ SSL_STATIC char *opt_ssl_key = 0;
SSL_STATIC my_bool opt_ssl_verify_server_cert= 0;
#endif
#endif
#endif /* SSLOPT_VARS_INCLUDED */

View file

@ -13,6 +13,12 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#ifndef CLIENT_SETTINGS_INCLUDED
#define CLIENT_SETTINGS_INCLUDED
#else
#error You have already included an client_settings.h and it should not be included twice
#endif /* CLIENT_SETTINGS_INCLUDED */
extern uint mysql_port;
extern char * mysql_unix_port;

View file

@ -139,6 +139,7 @@ SET(LIBMYSQLD_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
../sql/partition_info.cc ../sql/sql_connect.cc
../sql/scheduler.cc ../sql/event_parse_data.cc
../sql/rpl_handler.cc
${GEN_SOURCES}
${LIB_SOURCES})

View file

@ -76,7 +76,8 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \
rpl_filter.cc sql_partition.cc sql_builtin.cc sql_plugin.cc \
sql_tablespace.cc \
rpl_injector.cc my_user.c partition_info.cc \
sql_servers.cc event_parse_data.cc
sql_servers.cc event_parse_data.cc \
rpl_handler.cc
libmysqld_int_a_SOURCES= $(libmysqld_sources)
nodist_libmysqld_int_a_SOURCES= $(libmysqlsources) $(sqlsources)

View file

@ -23,3 +23,10 @@ The syntax is as follows:
start with the same characters up to the last letter before the asterisk
are considered experimental:
main.a* # get rid of main.alias, main.alibaba and main.agliolio
6) Optionally, the test case may be followed by one or more platform
qualifiers beginning with @ or @!. The test will then be considered
experimental only/except on that platform. Basic OS names as
reported by $^O in Perl, or 'windows' are supported, this includes
solaris, linux, windows, aix, darwin, ... Example:
main.alias @aix @windows # Fails on those

View file

@ -1,6 +1,9 @@
funcs_1.charset_collation_1 # depends on compile-time decisions
binlog.binlog_tmp_table # Bug#45578: Test binlog_tmp_table fails ramdonly on PB2: Unknown table 't2'
main.ctype_gbk_binlog # Bug#46010: main.ctype_gbk_binlog fails sporadically : Table 't2' already exists
rpl.rpl_row_create_table # Bug#45576: rpl_row_create_table fails on PB2
main.plugin_load @solaris # Bug#42144
binlog.binlog_tmp_table* # Bug#45578: Test binlog_tmp_table fails ramdonly on PB2: Unknown table 't2'
main.ctype_gbk_binlog @solaris # Bug#46010: main.ctype_gbk_binlog fails sporadically : Table 't2' already exists
rpl.rpl_row_create_table* # Bug#45576: rpl_row_create_table fails on PB2
rpl_ndb.rpl_ndb_log # Bug#38998
rpl.rpl_innodb_bug28430 # Bug#46029
rpl.rpl_innodb_bug28430* @solaris # Bug#46029
rpl.rpl_get_master_version_and_clock* # Bug#46931 2009-08-26 alik rpl.rpl_get_master_version_and_clock fails on hpux11.31
rpl_ndb.rpl_ndb_extraCol* # BUG#41369 2008-12-10 alik, BUG#47741 2009-09-30 alfranio

View file

@ -43,10 +43,10 @@ commit;
drop table t1;
--replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events in 'master-bin.000001' from 106;
show binlog events in 'master-bin.000001' from 107;
--replace_column 2 # 5 #
--replace_regex /table_id: [0-9]+/table_id: #/ /\/\* xid=.* \*\//\/* xid= *\//
show binlog events in 'master-bin.000002' from 106;
show binlog events in 'master-bin.000002' from 107;
#

View file

@ -0,0 +1,28 @@
# First part: outside a transaction
RESET MASTER;
eval $prepare;
INSERT INTO t1 VALUES (1);
source include/show_binlog_events.inc;
eval $statement;
source include/show_binlog_events.inc;
if (`select '$cleanup' != ''`) {
eval $cleanup;
}
# Second part: inside a transaction
RESET MASTER;
eval $prepare;
BEGIN;
INSERT INTO t1 VALUES (2);
source include/show_binlog_events.inc;
eval $statement;
source include/show_binlog_events.inc;
INSERT INTO t1 VALUES (3);
source include/show_binlog_events.inc;
COMMIT;
source include/show_binlog_events.inc;
if (`select '$cleanup' != ''`) {
eval $cleanup;
}

View file

@ -323,12 +323,12 @@ let $MYSQLD_DATADIR= `select @@datadir`;
# and does not make slave to stop)
if (`select @@binlog_format = 'ROW'`)
{
--exec $MYSQL_BINLOG --start-position=524 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
--exec $MYSQL_BINLOG --start-position=525 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
}
if (`select @@binlog_format = 'STATEMENT' || @@binlog_format = 'MIXED'`)
{
--exec $MYSQL_BINLOG --start-position=555 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
--exec $MYSQL_BINLOG --start-position=556 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/mix_innodb_myisam_binlog.output
}
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR

View file

@ -358,10 +358,10 @@ if (`SELECT '$CRC_RET_stmt_sidef' != ''`) {
# include/show_binlog_events.inc. But due to BUG#41913, that
# doesn't work, and we have to inline the entire file here. Sigh
# :-(
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR 106 <binlog_start>
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR 107 <binlog_start>
--replace_column 2 # 4 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/
--eval SHOW BINLOG EVENTS FROM 106
--eval SHOW BINLOG EVENTS FROM 107
--disable_query_log
}
SET binlog_format = STATEMENT;

View file

@ -22,6 +22,8 @@ DROP TABLE IF EXISTS t1, t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t14a,t15,t1
# should stop the slave. #
#################################################
call mtr.add_suppression("Slave: Unknown table 't6' Error_code: 1051");
--echo **** Diff Table Def Start ****
##############################################
@ -405,37 +407,57 @@ sync_slave_with_master;
###########################################
# Bug#22234, Bug#23907 Extra Slave Col is not
# erroring on extra col with no default values.
########################################################
###############################################################
# Error reaction is up to sql_mode of the slave sql (bug#38173)
#--echo *** Create t9 on slave ***
STOP SLAVE;
RESET SLAVE;
eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
d TIMESTAMP,
e INT NOT NULL) ENGINE=$engine_type;
# Please, check BUG#47741 to see why you are not testing NDB.
if (`SELECT $engine_type != 'NDB'`)
{
STOP SLAVE;
RESET SLAVE;
eval CREATE TABLE t9 (a INT KEY, b BLOB, c CHAR(5),
d TIMESTAMP,
e INT NOT NULL,
f text not null,
g text,
h blob not null,
i blob) ENGINE=$engine_type;
--echo *** Create t9 on Master ***
connection master;
eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
--echo *** Create t9 on Master ***
connection master;
eval CREATE TABLE t9 (a INT PRIMARY KEY, b BLOB, c CHAR(5)
) ENGINE=$engine_type;
RESET MASTER;
RESET MASTER;
--echo *** Start Slave ***
connection slave;
START SLAVE;
--echo *** Start Slave ***
connection slave;
START SLAVE;
--echo *** Master Data Insert ***
connection master;
set @b1 = 'b1b1b1b1';
set @b1 = concat(@b1,@b1);
INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
--echo *** Master Data Insert ***
connection master;
set @b1 = 'b1b1b1b1';
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
set @b1 = concat(@b1,@b1);
INSERT INTO t9 () VALUES(1,@b1,'Kyle'),(2,@b1,'JOE'),(3,@b1,'QA');
# the test would stop slave if @@sql_mode for the sql thread
# was set to strict. Otherwise, as with this tests setup,
# the implicit defaults will be inserted into fields even though
# they are declared without DEFAULT clause.
sync_slave_with_master;
select * from t9;
# todo: fix Bug #43992 slave sql thread can't tune own sql_mode ...
# and add/restore waiting for stop test
#--source include/wait_for_slave_sql_to_stop.inc
#--replace_result $MASTER_MYPORT MASTER_PORT
#--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
#--query_vertical SHOW SLAVE STATUS
#SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
#START SLAVE;
}
#--echo *** Drop t9 ***
#connection master;

View file

@ -72,7 +72,7 @@ start slave;
sync_with_master;
--replace_result $MASTER_MYPORT MASTER_PORT
--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
show slave status;
--query_vertical show slave status;
# Trigger error again to test CHANGE MASTER
@ -94,7 +94,7 @@ change master to master_user='test';
change master to master_user='root';
--replace_result $MASTER_MYPORT MASTER_PORT
--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
show slave status;
--query_vertical show slave status;
# Trigger error again to test RESET SLAVE
@ -116,7 +116,7 @@ stop slave;
reset slave;
--replace_result $MASTER_MYPORT MASTER_PORT
--replace_column 1 # 8 # 9 # 16 # 23 # 33 #
show slave status;
--query_vertical show slave status;
# Finally, see if logging is done ok on master for a failing LOAD DATA INFILE

View file

@ -37,13 +37,13 @@ select count(*) from t1;
show binlog events;
--replace_column 2 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
show binlog events from 106 limit 1;
show binlog events from 107 limit 1;
--replace_column 2 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
show binlog events from 106 limit 2;
show binlog events from 107 limit 2;
--replace_column 2 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/
show binlog events from 106 limit 2,1;
show binlog events from 107 limit 2,1;
flush logs;
# We need an extra update before doing save_master_pos.

View file

@ -0,0 +1,364 @@
#################################################################################
# This test checks if the replication between "null" fields to either "null"
# fields or "not null" fields works properly. In the first case, the execution
# should work fine. In the second case, it may fail according to the sql_mode
# being used.
#
# The test is devided in three main parts:
#
# 1 - NULL --> NULL (no failures)
# 2 - NULL --> NOT NULL ( sql-mode = STRICT and failures)
# 3 - NULL --> NOT NULL ( sql-mode != STRICT and no failures)
#
#################################################################################
connection master;
SET SQL_LOG_BIN= 0;
eval CREATE TABLE t1(`a` INT, `b` DATE DEFAULT NULL,
`c` INT DEFAULT NULL,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t2(`a` INT, `b` DATE DEFAULT NULL,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t3(`a` INT, `b` DATE DEFAULT NULL,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t4(`a` INT, `b` DATE DEFAULT NULL,
`c` INT DEFAULT NULL,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
SET SQL_LOG_BIN= 1;
connection slave;
eval CREATE TABLE t1(`a` INT, `b` DATE DEFAULT NULL,
`c` INT DEFAULT NULL,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t2(`a` INT, `b` DATE DEFAULT NULL,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t3(`a` INT, `b` DATE DEFAULT '0000-00-00',
`c` INT DEFAULT 500,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t4(`a` INT, `b` DATE DEFAULT '0000-00-00',
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
--echo ************* EXECUTION WITH INSERTS *************
connection master;
INSERT INTO t1(a,b,c) VALUES (1, null, 1);
INSERT INTO t1(a,b,c) VALUES (2,'1111-11-11', 2);
INSERT INTO t1(a,b) VALUES (3, null);
INSERT INTO t1(a,c) VALUES (4, 4);
INSERT INTO t1(a) VALUES (5);
INSERT INTO t2(a,b) VALUES (1, null);
INSERT INTO t2(a,b) VALUES (2,'1111-11-11');
INSERT INTO t2(a) VALUES (3);
INSERT INTO t3(a,b) VALUES (1, null);
INSERT INTO t3(a,b) VALUES (2,'1111-11-11');
INSERT INTO t3(a) VALUES (3);
INSERT INTO t4(a,b,c) VALUES (1, null, 1);
INSERT INTO t4(a,b,c) VALUES (2,'1111-11-11', 2);
INSERT INTO t4(a,b) VALUES (3, null);
INSERT INTO t4(a,c) VALUES (4, 4);
INSERT INTO t4(a) VALUES (5);
--echo ************* SHOWING THE RESULT SETS WITH INSERTS *************
sync_slave_with_master;
--echo TABLES t1 and t2 must be equal otherwise an error will be thrown.
let $diff_table_1=master:test.t1;
let $diff_table_2=slave:test.t1;
source include/diff_tables.inc;
let $diff_table_1=master:test.t2;
let $diff_table_2=slave:test.t2;
source include/diff_tables.inc;
--echo TABLES t2 and t3 must be different.
connection master;
SELECT * FROM t3 ORDER BY a;
connection slave;
SELECT * FROM t3 ORDER BY a;
connection master;
SELECT * FROM t4 ORDER BY a;
connection slave;
SELECT * FROM t4 ORDER BY a;
--echo ************* EXECUTION WITH UPDATES and REPLACES *************
connection master;
DELETE FROM t1;
INSERT INTO t1(a,b,c) VALUES (1,'1111-11-11', 1);
REPLACE INTO t1(a,b,c) VALUES (2,'1111-11-11', 2);
UPDATE t1 set b= NULL, c= 300 where a= 1;
REPLACE INTO t1(a,b,c) VALUES (2, NULL, 300);
--echo ************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
sync_slave_with_master;
--echo TABLES t1 and t2 must be equal otherwise an error will be thrown.
let $diff_table_1=master:test.t1;
let $diff_table_2=slave:test.t1;
source include/diff_tables.inc;
--echo ************* CLEANING *************
connection master;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
sync_slave_with_master;
connection master;
SET SQL_LOG_BIN= 0;
eval CREATE TABLE t1 (`a` INT, `b` BIT DEFAULT NULL, `c` BIT DEFAULT NULL,
PRIMARY KEY (`a`)) ENGINE= $engine;
SET SQL_LOG_BIN= 1;
connection slave;
eval CREATE TABLE t1 (`a` INT, `b` BIT DEFAULT b'01', `c` BIT DEFAULT NULL,
PRIMARY KEY (`a`)) ENGINE= $engine;
--echo ************* EXECUTION WITH INSERTS *************
connection master;
INSERT INTO t1(a,b,c) VALUES (1, null, b'01');
INSERT INTO t1(a,b,c) VALUES (2,b'00', b'01');
INSERT INTO t1(a,b) VALUES (3, null);
INSERT INTO t1(a,c) VALUES (4, b'01');
INSERT INTO t1(a) VALUES (5);
--echo ************* SHOWING THE RESULT SETS WITH INSERTS *************
--echo TABLES t1 and t2 must be different.
sync_slave_with_master;
connection master;
SELECT a,b+0,c+0 FROM t1 ORDER BY a;
connection slave;
SELECT a,b+0,c+0 FROM t1 ORDER BY a;
--echo ************* EXECUTION WITH UPDATES and REPLACES *************
connection master;
DELETE FROM t1;
INSERT INTO t1(a,b,c) VALUES (1,b'00', b'01');
REPLACE INTO t1(a,b,c) VALUES (2,b'00',b'01');
UPDATE t1 set b= NULL, c= b'00' where a= 1;
REPLACE INTO t1(a,b,c) VALUES (2, NULL, b'00');
--echo ************* SHOWING THE RESULT SETS WITH UPDATES and REPLACES *************
--echo TABLES t1 and t2 must be equal otherwise an error will be thrown.
sync_slave_with_master;
let $diff_table_1=master:test.t1;
let $diff_table_2=slave:test.t1;
source include/diff_tables.inc;
connection master;
DROP TABLE t1;
sync_slave_with_master;
--echo ################################################################################
--echo # NULL ---> NOT NULL (STRICT MODE)
--echo # UNCOMMENT THIS AFTER FIXING BUG#43992
--echo ################################################################################
#connection slave;
#SET GLOBAL sql_mode="TRADITIONAL";
#
#STOP SLAVE;
#--source include/wait_for_slave_to_stop.inc
#START SLAVE;
#--source include/wait_for_slave_to_start.inc
#
#let $y=0;
#while (`select $y < 6`)
#{
# connection master;
#
# SET SQL_LOG_BIN= 0;
# eval CREATE TABLE t1(`a` INT NOT NULL, `b` INT,
# PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
# eval CREATE TABLE t2(`a` INT NOT NULL, `b` INT,
# PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
# eval CREATE TABLE t3(`a` INT NOT NULL, `b` INT,
# PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
# SET SQL_LOG_BIN= 1;
#
# connection slave;
#
# eval CREATE TABLE t1(`a` INT NOT NULL, `b` INT NOT NULL,
# `c` INT NOT NULL,
# PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
# eval CREATE TABLE t2(`a` INT NOT NULL, `b` INT NOT NULL,
# `c` INT,
# PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
# eval CREATE TABLE t3(`a` INT NOT NULL, `b` INT NOT NULL,
# `c` INT DEFAULT 500,
# PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
#
# if (`select $y=0`)
# {
# --echo ************* EXECUTION WITH INSERTS *************
# connection master;
# INSERT INTO t1(a) VALUES (1);
# }
#
# if (`select $y=1`)
# {
# --echo ************* EXECUTION WITH INSERTS *************
# connection master;
# INSERT INTO t1(a, b) VALUES (1, NULL);
# }
#
# if (`select $y=2`)
# {
# --echo ************* EXECUTION WITH UPDATES *************
# connection master;
# INSERT INTO t3(a, b) VALUES (1, 1);
# INSERT INTO t3(a, b) VALUES (2, 1);
# UPDATE t3 SET b = NULL where a= 1;
# }
#
# if (`select $y=3`)
# {
# --echo ************* EXECUTION WITH INSERTS/REPLACES *************
# connection master;
# REPLACE INTO t3(a, b) VALUES (1, null);
# }
#
# if (`select $y=4`)
# {
# --echo ************* EXECUTION WITH UPDATES/REPLACES *************
# connection master;
# INSERT INTO t3(a, b) VALUES (1, 1);
# REPLACE INTO t3(a, b) VALUES (1, null);
# }
#
# if (`select $y=5`)
# {
# --echo ************* EXECUTION WITH MULTI-ROW INSERTS *************
# connection master;
#
# SET SQL_LOG_BIN= 0;
# INSERT INTO t2(a, b) VALUES (1, 1);
# INSERT INTO t2(a, b) VALUES (2, 1);
# INSERT INTO t2(a, b) VALUES (3, null);
# INSERT INTO t2(a, b) VALUES (4, 1);
# INSERT INTO t2(a, b) VALUES (5, 1);
# SET SQL_LOG_BIN= 1;
#
# INSERT INTO t2 SELECT a + 10, b from t2;
# --echo The statement below is just executed to stop processing
# INSERT INTO t1(a) VALUES (1);
# }
#
# --echo ************* SHOWING THE RESULT SETS *************
# connection slave;
# --source include/wait_for_slave_sql_to_stop.inc
# connection master;
# SELECT * FROM t1 ORDER BY a;
# connection slave;
# SELECT * FROM t1 ORDER BY a;
# connection master;
# SELECT * FROM t2 ORDER BY a;
# connection slave;
# SELECT * FROM t2 ORDER BY a;
# connection master;
# SELECT * FROM t3 ORDER BY a;
# connection slave;
# SELECT * FROM t3 ORDER BY a;
# --source include/reset_master_and_slave.inc
#
# connection master;
#
# DROP TABLE t1;
# DROP TABLE t2;
# DROP TABLE t3;
#
# sync_slave_with_master;
#
# inc $y;
#}
#connection slave;
#SET GLOBAL sql_mode="";
#
#STOP SLAVE;
#source include/wait_for_slave_to_stop.inc;
#START SLAVE;
#--source include/wait_for_slave_to_start.inc
--echo ################################################################################
--echo # NULL ---> NOT NULL (NON-STRICT MODE)
--echo ################################################################################
connection master;
SET SQL_LOG_BIN= 0;
eval CREATE TABLE t1(`a` INT NOT NULL, `b` INT,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t2(`a` INT NOT NULL, `b` INT,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t3(`a` INT NOT NULL, `b` INT,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
SET SQL_LOG_BIN= 1;
connection slave;
eval CREATE TABLE t1(`a` INT NOT NULL, `b` INT NOT NULL,
`c` INT NOT NULL,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t2(`a` INT NOT NULL, `b` INT NOT NULL,
`c` INT,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
eval CREATE TABLE t3(`a` INT NOT NULL, `b` INT NOT NULL,
`c` INT DEFAULT 500,
PRIMARY KEY(`a`)) ENGINE=$engine DEFAULT CHARSET=LATIN1;
--echo ************* EXECUTION WITH INSERTS *************
connection master;
INSERT INTO t1(a) VALUES (1);
INSERT INTO t1(a, b) VALUES (2, NULL);
INSERT INTO t1(a, b) VALUES (3, 1);
INSERT INTO t2(a) VALUES (1);
INSERT INTO t2(a, b) VALUES (2, NULL);
INSERT INTO t2(a, b) VALUES (3, 1);
INSERT INTO t3(a) VALUES (1);
INSERT INTO t3(a, b) VALUES (2, NULL);
INSERT INTO t3(a, b) VALUES (3, 1);
INSERT INTO t3(a, b) VALUES (4, 1);
REPLACE INTO t3(a, b) VALUES (5, null);
REPLACE INTO t3(a, b) VALUES (3, null);
UPDATE t3 SET b = NULL where a = 4;
--echo ************* SHOWING THE RESULT SETS *************
connection master;
sync_slave_with_master;
connection master;
SELECT * FROM t1 ORDER BY a;
connection slave;
SELECT * FROM t1 ORDER BY a;
connection master;
SELECT * FROM t2 ORDER BY a;
connection slave;
SELECT * FROM t2 ORDER BY a;
connection master;
SELECT * FROM t3 ORDER BY a;
connection slave;
SELECT * FROM t3 ORDER BY a;
connection master;
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
sync_slave_with_master;

View file

@ -11,7 +11,8 @@
# Begin clean up test section
connection master;
--disable_warnings
create database if not exists mysqltest1;
drop database if exists mysqltest1;
create database mysqltest1;
DROP PROCEDURE IF EXISTS mysqltest1.p1;
DROP PROCEDURE IF EXISTS mysqltest1.p2;
DROP TABLE IF EXISTS mysqltest1.t2;

View file

@ -111,21 +111,18 @@ SELECT a,b,x FROM t1_int ORDER BY a;
SELECT a,b,HEX(x),HEX(y),HEX(z) FROM t1_bit ORDER BY a;
SELECT a,b,x FROM t1_char ORDER BY a;
# Each of these inserts should generate an error and stop the slave
connection master;
INSERT INTO t9 VALUES (2);
sync_slave_with_master;
# Now slave is guaranteed to be running
connection master;
INSERT INTO t1_nodef VALUES (1,2);
connection slave;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
--replace_column 1 # 4 # 7 # 8 # 9 # 20 <Last_Error> 22 # 23 # 33 # 35 <Last_IO_Errno> 36 <Last_IO_Error> 38 <Last_SQL_Error>
--query_vertical SHOW SLAVE STATUS
SET GLOBAL SQL_SLAVE_SKIP_COUNTER=2;
START SLAVE;
# Last insert on wider slave table succeeds while slave sql sql_mode permits.
# The previous version of the above test expected slave sql to stop.
# bug#38173 relaxed conditions to stop only with the strict mode.
sync_slave_with_master;
select count(*) from t1_nodef;
#
# Replicating to tables with fewer columns at the end works as of WL#3228

View file

@ -0,0 +1,121 @@
-- connection master
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1);
INSERT INTO t1 VALUES (2);
INSERT INTO t1 VALUES (3);
INSERT INTO t1 VALUES (4);
INSERT INTO t1 VALUES (5);
INSERT INTO t1 VALUES (6);
-- echo [MASTER] ********* SOW BINLOG EVENTS IN ... *********
let $binary_log_file= master-bin.000001;
-- source include/show_binlog_events.inc
-- echo [MASTER] ********* SOW BINLOG EVENTS *********
let $binary_log_file= ;
-- source include/show_binlog_events.inc
-- echo [MASTER] ********* SOW BINLOG EVENTS ... LIMIT rows *********
let $binary_log_file= ;
let $binary_log_limit_row= 3;
-- source include/show_binlog_events.inc
-- echo [MASTER] ********* SOW BINLOG EVENTS ... LIMIT offset,rows *********
let $binary_log_file= ;
let $binary_log_limit_row= 3;
let $binary_log_limit_offset= 1;
-- source include/show_binlog_events.inc
# clear show_binlog_event/show_relaylog_events parameters
let $binary_log_file= ;
let $binary_log_limit_row= ;
let $binary_log_limit_offset= ;
-- sync_slave_with_master
-- echo [SLAVE] ********* SOW BINLOG EVENTS IN ... *********
let $binary_log_file= slave-bin.000001;
-- source include/show_binlog_events.inc
-- echo [SLAVE] ********* SOW BINLOG EVENTS *********
let $binary_log_file= ;
-- source include/show_binlog_events.inc
-- echo [SLAVE] ********* SOW BINLOG EVENTS ... LIMIT rows *********
let $binary_log_file= ;
let $binary_log_limit_row= 3;
-- source include/show_binlog_events.inc
-- echo [SLAVE] ********* SOW BINLOG EVENTS ... LIMIT offset,rows *********
let $binary_log_file= ;
let $binary_log_limit_row= 3;
let $binary_log_limit_offset= 1;
-- source include/show_binlog_events.inc
# clear show_binlog_event/show_relaylog_events parameters
let $binary_log_file= ;
let $binary_log_limit_row= ;
let $binary_log_limit_offset= ;
-- echo [SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
let $binary_log_file= slave-relay-bin.000003;
-- source include/show_relaylog_events.inc
-- echo [SLAVE] ********* SOW RELAYLOG EVENTS *********
let $binary_log_file= ;
-- source include/show_relaylog_events.inc
-- echo [MASTER] ********* SOW RELAYLOG EVENTS ... LIMIT rows *********
let $binary_log_file= slave-relay-bin.000003;
let $binary_log_limit_row= 3;
let $binary_log_limit_offset= ;
-- source include/show_relaylog_events.inc
-- echo [MASTER] ********* SOW RELAYLOG EVENTS ... LIMIT offset,rows *********
let $binary_log_file= slave-relay-bin.000003;
let $binary_log_limit_offset= 1;
let $binary_log_limit_row= 3;
-- source include/show_relaylog_events.inc
FLUSH LOGS;
-- connection master
FLUSH LOGS;
DROP TABLE t1;
# clear show_binlog_event/show_relaylog_events parameters
let $binary_log_file= ;
let $binary_log_limit_row= ;
let $binary_log_limit_offset= ;
-- echo [MASTER] ********* SOW BINLOG EVENTS IN ... *********
let $binary_log_file= master-bin.000002;
-- source include/show_binlog_events.inc
-- echo [MASTER] ********* SOW BINLOG EVENTS *********
let $binary_log_file= ;
-- source include/show_binlog_events.inc
-- sync_slave_with_master
-- echo [SLAVE] ********* SOW BINLOG EVENTS IN ... *********
let $binary_log_file= slave-bin.000002;
-- source include/show_binlog_events.inc
-- echo [SLAVE] ********* SOW BINLOG EVENTS *********
let $binary_log_file= ;
-- source include/show_binlog_events.inc
-- echo [SLAVE] ********* SOW RELAYLOG EVENTS IN ... *********
let $binary_log_file= slave-relay-bin.000005;
-- source include/show_relaylog_events.inc
-- echo [SLAVE] ********* SOW RELAYLOG EVENTS *********
let $binary_log_file= ;
-- source include/show_relaylog_events.inc
# clear show_binlog_event/show_relaylog_events parameters
let $binary_log_name= ;
let $binary_log_limit_row= ;
let $binary_log_limit_offset= ;

View file

@ -0,0 +1,14 @@
#
# Check if server has support for loading plugins
#
if (`SELECT @@have_dynamic_loading != 'YES'`) {
--skip Requires dynamic loading
}
#
# Check if the variable SEMISYNC_MASTER_PLUGIN is set
#
if (`select LENGTH('$SEMISYNC_MASTER_PLUGIN') = 0`)
{
skip Need semisync plugins;
}

View file

@ -0,0 +1,4 @@
-- require r/have_ssl.require
disable_query_log;
show variables like 'have_ssl';
enable_query_log;

View file

@ -8,5 +8,7 @@ connect (slave1,127.0.0.1,root,,test,$SLAVE_MYPORT,);
-- source include/master-slave-reset.inc
connection master;
sync_slave_with_master;
# Set the default connection to 'master'
connection master;

View file

@ -132,7 +132,7 @@ INSERT INTO global_suppressions VALUES
("Error in Log_event::read_log_event\\\(\\\): 'Sanity check failed', data_len: 258, event_type: 49"),
("Statement is not safe to log in statement format"),
("Statement may not be safe to log in statement format"),
/* test case for Bug#bug29807 copies a stray frm into database */
("InnoDB: Error: table `test`.`bug29807` does not exist in the InnoDB internal"),
@ -162,6 +162,8 @@ INSERT INTO global_suppressions VALUES
("Slave: Unknown column 'c7' in 't15' Error_code: 1054"),
("Slave: Can't DROP 'c7'.* 1091"),
("Slave: Key column 'c6'.* 1072"),
("Slave I/O: The slave I/O thread stops because a fatal error is encountered when it try to get the value of SERVER_ID variable from master."),
(".SELECT UNIX_TIMESTAMP... failed on master, do not trust column Seconds_Behind_Master of SHOW SLAVE STATUS"),
/* Test case for Bug#31590 in order_by.test produces the following error */
("Out of sort memory; increase server sort buffer size"),

View file

@ -69,7 +69,21 @@ let $_fake_relay_log_purge= `SELECT @@global.relay_log_purge`;
# Create relay log file.
copy_file $fake_relay_log $_fake_relay_log;
# Create relay log index.
--exec echo $_fake_filename-fake.000001 > $_fake_relay_index
# After patch for BUG#12190, the filename used in CHANGE MASTER
# RELAY_LOG_FILE will be automatically added the directory of the
# relay log before comparison, thus we need to added the directory
# part (./ on unix .\ on windows) when faking the relay-log-bin.index.
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") = 0`)
{
eval select './$_fake_filename-fake.000001\n' into dumpfile '$_fake_relay_index';
}
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") != 0`)
{
eval select '.\\\\$_fake_filename-fake.000001\n' into dumpfile '$_fake_relay_index';
}
# Setup replication from existing relay log.
eval CHANGE MASTER TO MASTER_HOST='dummy.localdomain', RELAY_LOG_FILE='$_fake_filename-fake.000001', RELAY_LOG_POS=4;

View file

@ -1,10 +1,35 @@
# $binlog_start can be set by caller or take a default value
# $binary_log_file the name of the log file show
# $binary_log_limit_row - sets the number of binlog rows to be returned
# $binary_log_limit_offset - sets the offset where to start returning events
let $show_binlog_events= show binlog events;
if (!$binlog_start)
{
let $binlog_start=106;
# defaults to chop the first event in the binary log
let $binlog_start=107;
}
if (!`SELECT '$binary_log_file' = ''`)
{
let $show_binlog_events= $show_binlog_events in '$binary_log_file';
}
let $show_binlog_events= $show_binlog_events from $binlog_start;
if ($binary_log_limit_row)
{
let $limit= limit;
if ($binary_log_limit_offset)
{
let $limit= $limit $binary_log_limit_offset, ;
}
let $limit= $limit $binary_log_limit_row;
let $show_binlog_events= $show_binlog_events $limit;
}
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $binlog_start <binlog_start>
--replace_column 2 # 4 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/
--eval show binlog events from $binlog_start
--eval $show_binlog_events

View file

@ -1,4 +1,4 @@
--let $binlog_start=106
--let $binlog_start=107
--replace_result $binlog_start <binlog_start>
--replace_column 2 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/

View file

@ -0,0 +1,35 @@
# $binlog_start can be set by caller or take a default value
# $binary_log_file the name of the log file show
# $binary_log_limit_row - sets the number of binlog rows to be returned
# $binary_log_limit_offset - sets the offset where to start returning events
let $show_binlog_events= show relaylog events;
if (!$binlog_start)
{
# defaults to chop the first event in the binary log
let $binlog_start=106;
}
if (!`SELECT '$binary_log_file' = ''`)
{
let $show_binlog_events= $show_binlog_events in '$binary_log_file';
}
let $show_binlog_events= $show_binlog_events from $binlog_start;
if ($binary_log_limit_row)
{
let $limit= limit;
if ($binary_log_limit_offset)
{
let $limit= $limit $binary_log_limit_offset, ;
}
let $limit= $limit $binary_log_limit_row;
let $show_binlog_events= $show_binlog_events $limit;
}
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR $binlog_start <binlog_start>
--replace_column 2 # 4 # 5 #
--replace_regex /\/\* xid=.* \*\//\/* XID *\// /table_id: [0-9]+/table_id: #/ /file_id=[0-9]+/file_id=#/ /block_len=[0-9]+/block_len=#/ /Server ver:.*$/SERVER_VERSION, BINLOG_VERSION/
--eval $show_binlog_events

View file

@ -22,7 +22,7 @@ eval $test_insert;
connection slave;
START SLAVE;
wait_for_slave_to_stop;
--source include/wait_for_slave_sql_to_stop.inc
--replace_result $MASTER_MYPORT MASTER_PORT
--replace_column 1 # 4 # 7 # 8 # 9 # 16 # 22 # 23 # 33 # 35 # 36 #
--query_vertical SHOW SLAVE STATUS

View file

@ -7,7 +7,7 @@ let $counter= 500;
let $mysql_errno= 0;
while (!$mysql_errno)
{
--error 0,1053,2002,2006,2013
--error 0,1040,1053,2002,2003,2006,2013
show status;
dec $counter;

View file

@ -204,8 +204,10 @@ my @mysqld_rules=
{ 'port' => \&fix_port },
{ 'socket' => \&fix_socket },
{ '#log-error' => \&fix_log_error },
{ 'log' => \&fix_log },
{ 'log-slow-queries' => \&fix_log_slow_queries },
{ 'general_log' => 1 },
{ 'general_log_file' => \&fix_log },
{ 'slow_query_log' => 1 },
{ 'slow_query_log_file' => \&fix_log_slow_queries },
{ '#user' => sub { return shift->{ARGS}->{user} || ""; } },
{ '#password' => sub { return shift->{ARGS}->{password} || ""; } },
{ 'server-id' => \&fix_server_id, },

View file

@ -106,10 +106,13 @@ sub check_socket_path_length {
my ($path)= @_;
return 0 if IS_WINDOWS;
# This may not be true, but we can't test for it on AIX due to Perl bug
# See Bug #45771
return 0 if ($^O eq 'aix');
require IO::Socket::UNIX;
my $truncated= 1; # Be negative
my $truncated= undef;
# Create a tempfile name with same length as "path"
my $tmpdir = tempdir( CLEANUP => 0);
@ -122,6 +125,7 @@ sub check_socket_path_length {
Local => $testfile,
Listen => 1,
);
$truncated= 1; # Be negatvie
die "Could not create UNIX domain socket: $!"
unless defined $sock;
@ -133,6 +137,9 @@ sub check_socket_path_length {
};
die "Unexpected failure when checking socket path length: $@"
if $@ and not defined $truncated;
$sock= undef; # Close socket
rmtree($tmpdir); # Remove the tempdir and any socket file created
return $truncated;

View file

@ -163,6 +163,7 @@ int main(int argc, const char** argv )
HANDLE job_handle;
HANDLE wait_handles[NUM_HANDLES]= {0};
PROCESS_INFORMATION process_info= {0};
BOOL nocore= FALSE;
sprintf(safe_process_name, "safe_process[%d]", pid);
@ -188,22 +189,33 @@ int main(int argc, const char** argv )
die("No real args -> nothing to do");
/* Copy the remaining args to child_arg */
for (int j= i+1; j < argc; j++) {
to+= _snprintf(to, child_args + sizeof(child_args) - to, "%s ", argv[j]);
if (strchr (argv[j], ' ')) {
/* Protect with "" if this arg contains a space */
to+= _snprintf(to, child_args + sizeof(child_args) - to,
"\"%s\" ", argv[j]);
} else {
to+= _snprintf(to, child_args + sizeof(child_args) - to,
"%s ", argv[j]);
}
}
break;
} else {
if ( strcmp(arg, "--verbose") == 0 )
if (strcmp(arg, "--verbose") == 0)
verbose++;
else if ( strncmp(arg, "--parent-pid", 10) == 0 )
{
/* Override parent_pid with a value provided by user */
const char* start;
else if (strncmp(arg, "--parent-pid", 10) == 0)
{
/* Override parent_pid with a value provided by user */
const char* start;
if ((start= strstr(arg, "=")) == NULL)
die("Could not find start of option value in '%s'", arg);
start++; /* Step past = */
if ((parent_pid= atoi(start)) == 0)
die("Invalid value '%s' passed to --parent-id", start);
}
die("Could not find start of option value in '%s'", arg);
start++; /* Step past = */
if ((parent_pid= atoi(start)) == 0)
die("Invalid value '%s' passed to --parent-id", start);
}
else if (strcmp(arg, "--nocore") == 0)
{
nocore= TRUE;
}
else
die("Unknown option: %s", arg);
}
@ -241,6 +253,11 @@ int main(int argc, const char** argv )
&jeli, sizeof(jeli)) == 0)
message("SetInformationJobObject failed, continue anyway...");
/* Avoid popup box */
if (nocore)
SetErrorMode(SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX
| SEM_NOOPENFILEERRORBOX);
#if 0
/* Setup stdin, stdout and stderr redirect */
si.dwFlags= STARTF_USESTDHANDLES;

View file

@ -41,6 +41,7 @@ our $opt_with_ndbcluster_only;
our $defaults_file;
our $defaults_extra_file;
our $reorder= 1;
our $quick_collect;
sub collect_option {
my ($opt, $value)= @_;
@ -68,6 +69,9 @@ require "mtr_misc.pl";
my $do_test_reg;
my $skip_test_reg;
# If "Quick collect", set to 1 once a test to run has been found.
my $some_test_found;
sub init_pattern {
my ($from, $what)= @_;
return undef unless defined $from;
@ -102,6 +106,7 @@ sub collect_test_cases ($$) {
foreach my $suite (split(",", $suites))
{
push(@$cases, collect_one_suite($suite, $opt_cases));
last if $some_test_found;
}
if ( @$opt_cases )
@ -139,7 +144,7 @@ sub collect_test_cases ($$) {
}
}
if ( $reorder )
if ( $reorder && !$quick_collect)
{
# Reorder the test cases in an order that will make them faster to run
my %sort_criteria;
@ -386,7 +391,7 @@ sub collect_one_suite($)
# Read combinations for this suite and build testcases x combinations
# if any combinations exists
# ----------------------------------------------------------------------
if ( ! $skip_combinations )
if ( ! $skip_combinations && ! $quick_collect )
{
my @combinations;
my $combination_file= "$suitedir/combinations";
@ -644,6 +649,12 @@ sub optimize_cases {
if ( $default_engine =~ /^innodb/i );
}
}
if ($quick_collect && ! $tinfo->{'skip'})
{
$some_test_found= 1;
return;
}
}
}
@ -908,14 +919,14 @@ sub collect_one_test_case {
if ( $tinfo->{'big_test'} and ! $::opt_big_test )
{
$tinfo->{'skip'}= 1;
$tinfo->{'comment'}= "Test need 'big-test' option";
$tinfo->{'comment'}= "Test needs 'big-test' option";
return $tinfo
}
if ( $tinfo->{'need_debug'} && ! $::debug_compiled_binaries )
{
$tinfo->{'skip'}= 1;
$tinfo->{'comment'}= "Test need debug binaries";
$tinfo->{'comment'}= "Test needs debug binaries";
return $tinfo
}
@ -951,14 +962,14 @@ sub collect_one_test_case {
if ($tinfo->{'federated_test'})
{
# This is a test that need federated, enable it
# This is a test that needs federated, enable it
push(@{$tinfo->{'master_opt'}}, "--loose-federated");
push(@{$tinfo->{'slave_opt'}}, "--loose-federated");
}
if ( $tinfo->{'innodb_test'} )
{
# This is a test that need innodb
# This is a test that needs innodb
if ( $::mysqld_variables{'innodb'} eq "OFF" ||
! exists $::mysqld_variables{'innodb'} )
{
@ -979,7 +990,7 @@ sub collect_one_test_case {
if (grep(/^--skip-log-bin/, @::opt_extra_mysqld_opt) )
{
$tinfo->{'skip'}= 1;
$tinfo->{'comment'}= "Test need binlog";
$tinfo->{'comment'}= "Test needs binlog";
return $tinfo;
}
}

View file

@ -134,8 +134,8 @@ sub mtr_report_test ($) {
# an asterisk at the end, determine if the characters up to
# but excluding the asterisk are the same
if ( $exp ne "" && substr($exp, -1, 1) eq "*" ) {
$exp = substr($exp, 0, length($exp) - 1);
if ( substr($test_name, 0, length($exp)) ne $exp ) {
my $nexp = substr($exp, 0, length($exp) - 1);
if ( substr($test_name, 0, length($nexp)) ne $nexp ) {
# no match, try next entry
next;
}

View file

@ -0,0 +1,6 @@
# This file lists tests that cannot run in MTR v1 for some reason.
# They will be skipped.
# Any text following white space after full test name is ignored
# Only exact test names can be used, no regexp.
main.fulltext_plugin # Refers to $SIMPLE_PARSER_OPT which is not set

View file

@ -32,6 +32,7 @@ sub mtr_options_from_test_file($$);
my $do_test;
my $skip_test;
my %incompatible;
sub init_pattern {
my ($from, $what)= @_;
@ -47,6 +48,15 @@ sub init_pattern {
}
sub collect_incomp_tests {
open (INCOMP, "lib/v1/incompatible.tests");
while (<INCOMP>)
{
next unless /^\w/;
s/\s.*\n//; # Ignore anything from first white space
$incompatible{$_}= 1;
}
}
##############################################################################
#
@ -58,6 +68,8 @@ sub collect_test_cases ($) {
$do_test= init_pattern($::opt_do_test, "--do-test");
$skip_test= init_pattern($::opt_skip_test, "--skip-test");
collect_incomp_tests();
my $suites= shift; # Semicolon separated list of test suites
my $cases = []; # Array of hash
@ -528,6 +540,17 @@ sub collect_one_test_case($$$$$$$$$) {
$tinfo->{'component_id'} = $component_id;
push(@$cases, $tinfo);
# Remove "combinations" part of test name
my $test_base_name= $tinfo->{'name'};
$test_base_name=~ s/\s.*\n//;
if (exists ($incompatible{$test_base_name}))
{
$tinfo->{'skip'}= 1;
$tinfo->{'comment'}= "Test cannot run in mtr v1";
return;
}
# ----------------------------------------------------------------------
# Skip some tests but include in list, just mark them to skip
# ----------------------------------------------------------------------
@ -841,7 +864,7 @@ sub collect_one_test_case($$$$$$$$$) {
if ( $tinfo->{'innodb_test'} )
{
# This is a test that need innodb
if ( $::mysqld_variables{'innodb'} ne "TRUE" )
if ( $::mysqld_variables{'innodb'} eq "OFF" )
{
# innodb is not supported, skip it
$tinfo->{'skip'}= 1;

View file

@ -209,6 +209,7 @@ sub check_timeout { return $opt_testcase_timeout * 6; };
my $opt_start;
my $opt_start_dirty;
my $start_only;
my $opt_wait_all;
my $opt_repeat= 1;
my $opt_retry= 3;
@ -984,6 +985,9 @@ sub command_line_setup {
if ( $opt_experimental )
{
# $^O on Windows considered not generic enough
my $plat= (IS_WINDOWS) ? 'windows' : $^O;
# read the list of experimental test cases from the file specified on
# the command line
open(FILE, "<", $opt_experimental) or mtr_error("Can't read experimental file: $opt_experimental");
@ -994,6 +998,15 @@ sub command_line_setup {
# remove comments (# foo) at the beginning of the line, or after a
# blank at the end of the line
s/( +|^)#.*$//;
# If @ platform specifier given, use this entry only if it contains
# @<platform> or @!<xxx> where xxx != platform
if (/\@.*/)
{
next if (/\@!$plat/);
next unless (/\@$plat/ or /\@!/);
# Then remove @ and everything after it
s/\@.*$//;
}
# remove whitespace
s/^ +//;
s/ +$//;
@ -1241,13 +1254,28 @@ sub command_line_setup {
{
mtr_error("Can't use --extern when using debugger");
}
# Set one week timeout (check-testcase timeout will be 1/10th)
$opt_testcase_timeout= 7 * 24 * 60;
$opt_suite_timeout= 7 * 24 * 60;
# One day to shutdown
$opt_shutdown_timeout= 24 * 60;
# One day for PID file creation (this is given in seconds not minutes)
$opt_start_timeout= 24 * 60 * 60;
}
# --------------------------------------------------------------------------
# Modified behavior with --start options
# --------------------------------------------------------------------------
if ($opt_start or $opt_start_dirty) {
collect_option ('quick-collect', 1);
$start_only= 1;
}
# --------------------------------------------------------------------------
# Check use of wait-all
# --------------------------------------------------------------------------
if ($opt_wait_all && ! ($opt_start_dirty || $opt_start))
if ($opt_wait_all && ! $start_only)
{
mtr_error("--wait-all can only be used with --start or --start-dirty");
}
@ -1506,6 +1534,10 @@ sub collect_mysqld_features_from_running_server ()
}
}
# "Convert" innodb flag
$mysqld_variables{'innodb'}= "ON"
if ($mysqld_variables{'have_innodb'} eq "YES");
# Parse version
my $version_str= $mysqld_variables{'version'};
if ( $version_str =~ /^([0-9]*)\.([0-9]*)\.([0-9]*)/ )
@ -1764,7 +1796,7 @@ sub environment_setup {
my $plugin_filename;
if (IS_WINDOWS)
{
$plugin_filename = "ha_example.dll";
$plugin_filename = "ha_example.dll";
}
else
{
@ -1772,7 +1804,8 @@ sub environment_setup {
}
my $lib_example_plugin=
mtr_file_exists(vs_config_dirs('storage/example',$plugin_filename),
"$basedir/storage/example/.libs/".$plugin_filename);
"$basedir/storage/example/.libs/".$plugin_filename,
"$basedir/lib/mysql/plugin/".$plugin_filename);
$ENV{'EXAMPLE_PLUGIN'}=
($lib_example_plugin ? basename($lib_example_plugin) : "");
$ENV{'EXAMPLE_PLUGIN_OPT'}= "--plugin-dir=".
@ -1782,6 +1815,30 @@ sub environment_setup {
$ENV{'EXAMPLE_PLUGIN_LOAD'}="--plugin_load=;EXAMPLE=".$plugin_filename.";";
}
# --------------------------------------------------------------------------
# Add the path where mysqld will find semisync plugins
# --------------------------------------------------------------------------
my $lib_semisync_master_plugin=
mtr_file_exists(vs_config_dirs('plugin/semisync',"libsemisync_master.so"),
"$basedir/plugin/semisync/.libs/libsemisync_master.so",
"$basedir/lib/mysql/plugin/libsemisync_master.so");
my $lib_semisync_slave_plugin=
mtr_file_exists(vs_config_dirs('plugin/semisync',"libsemisync_slave.so"),
"$basedir/plugin/semisync/.libs/libsemisync_slave.so",
"$basedir/lib/mysql/plugin/libsemisync_slave.so");
if ($lib_semisync_master_plugin && $lib_semisync_slave_plugin)
{
$ENV{'SEMISYNC_MASTER_PLUGIN'}= basename($lib_semisync_master_plugin);
$ENV{'SEMISYNC_SLAVE_PLUGIN'}= basename($lib_semisync_slave_plugin);
$ENV{'SEMISYNC_PLUGIN_OPT'}= "--plugin-dir=".dirname($lib_semisync_master_plugin);
}
else
{
$ENV{'SEMISYNC_MASTER_PLUGIN'}= "";
$ENV{'SEMISYNC_SLAVE_PLUGIN'}= "";
$ENV{'SEMISYNC_PLUGIN_OPT'}="--plugin-dir=";
}
# ----------------------------------------------------
# Add the path where mysqld will find mypluglib.so
# ----------------------------------------------------
@ -2811,7 +2868,7 @@ sub run_testcase_check_skip_test($)
if ( $tinfo->{'skip'} )
{
mtr_report_test_skipped($tinfo);
mtr_report_test_skipped($tinfo) unless $start_only;
return 1;
}
@ -3298,9 +3355,16 @@ sub run_testcase ($) {
# server exits
# ----------------------------------------------------------------------
if ( $opt_start or $opt_start_dirty )
if ( $start_only )
{
mtr_print("\nStarted", started(all_servers()));
mtr_print("Using config for test", $tinfo->{name});
mtr_print("Port and socket path for server(s):");
foreach my $mysqld ( mysqlds() )
{
mtr_print ($mysqld->name() . " " . $mysqld->value('port') .
" " . $mysqld->value('socket'));
}
mtr_print("Waiting for server(s) to exit...");
if ( $opt_wait_all ) {
My::SafeProcess->wait_all();
@ -3542,8 +3606,8 @@ sub run_testcase ($) {
# error log and write all lines that look
# suspicious into $error_log.warnings
#
sub extract_warning_lines ($) {
my ($error_log) = @_;
sub extract_warning_lines ($$) {
my ($error_log, $tname) = @_;
# Open the servers .err log file and read all lines
# belonging to current tets into @lines
@ -3551,14 +3615,27 @@ sub extract_warning_lines ($) {
or mtr_error("Could not open file '$error_log' for reading: $!");
my @lines;
my $found_test= 0; # Set once we've found the log of this test
while ( my $line = <$Ferr> )
{
if ( $line =~ /^CURRENT_TEST:/ )
if ($found_test)
{
# Throw away lines from previous tests
@lines = ();
# If test wasn't last after all, discard what we found, test again.
if ( $line =~ /^CURRENT_TEST:/)
{
@lines= ();
$found_test= $line =~ /^CURRENT_TEST: $tname/;
}
else
{
push(@lines, $line);
}
}
else
{
# Search for beginning of test, until found
$found_test= 1 if ($line =~ /^CURRENT_TEST: $tname/);
}
push(@lines, $line);
}
$Ferr = undef; # Close error log file
@ -3595,10 +3672,8 @@ sub extract_warning_lines ($) {
# and correcting them shows a few additional harmless warnings.
# Thus those patterns are temporarily removed from the list
# of patterns. For more info see BUG#42408
# qr/^Warning:|mysqld: Warning|\[Warning\]/,
# qr/^Error:|\[ERROR\]/,
qr/^Warning:|mysqld: Warning/,
qr/^Error:/,
qr/^Warning:|mysqld: Warning|\[Warning\]/,
qr/^Error:|\[ERROR\]/,
qr/^==.* at 0x/,
qr/InnoDB: Warning|InnoDB: Error/,
qr/^safe_mutex:|allocated at line/,
@ -3638,7 +3713,7 @@ sub start_check_warnings ($$) {
my $log_error= $mysqld->value('#log-error');
# To be communicated to the test
$ENV{MTR_LOG_ERROR}= $log_error;
extract_warning_lines($log_error);
extract_warning_lines($log_error, $tinfo->{name});
my $args;
mtr_init_args(\$args);
@ -4078,8 +4153,8 @@ sub mysqld_arguments ($$$) {
if ( $mysql_version_id >= 50106 )
{
# Turn on logging to both tables and file
mtr_add_arg($args, "--log-output=table,file");
# Turn on logging to file
mtr_add_arg($args, "--log-output=file");
}
# Check if "extra_opt" contains skip-log-bin
@ -5123,7 +5198,7 @@ Options to control what test suites or cases to run
skip-rpl Skip the replication test cases.
big-test Also run tests marked as "big"
enable-disabled Run also tests marked as disabled
print_testcases Don't run the tests but print details about all the
print-testcases Don't run the tests but print details about all the
selected tests, in the order they would be run.
Options that specify ports

View file

@ -1,3 +1,4 @@
call mtr.add_suppression("The table 't1' is full");
drop table if exists t1;
set global myisam_data_pointer_size=2;
CREATE TABLE t1 (a int auto_increment primary key not null, b longtext) ENGINE=MyISAM;

View file

@ -2,6 +2,8 @@
# Bug #46080: group_concat(... order by) crashes server when
# sort_buffer_size cannot allocate
#
call mtr.add_suppression("Out of memory at line .*, 'my_alloc.c'");
call mtr.add_suppression("needed .* byte .*k., memory in use: .* bytes .*k");
CREATE TABLE t1(a CHAR(255));
INSERT INTO t1 VALUES ('a');
SET @@SESSION.sort_buffer_size=5*16*1000000;

View file

@ -29,22 +29,22 @@ HEX(s1) HEX(s2) d
466F6F2773206120426172 ED40ED41ED42 47.93
DROP PROCEDURE bug18293|
DROP TABLE t4|
SHOW BINLOG EVENTS FROM 370|
SHOW BINLOG EVENTS FROM 371|
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 370 Query 1 536 use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1,
master-bin.000001 371 Query 1 537 use `test`; CREATE TABLE t4 (s1 CHAR(50) CHARACTER SET latin1,
s2 CHAR(50) CHARACTER SET cp932,
d DECIMAL(10,2))
master-bin.000001 536 Query 1 785 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `bug18293`(IN ins1 CHAR(50),
master-bin.000001 537 Query 1 786 use `test`; CREATE DEFINER=`root`@`localhost` PROCEDURE `bug18293`(IN ins1 CHAR(50),
IN ins2 CHAR(50) CHARACTER SET cp932,
IN ind DECIMAL(10,2))
BEGIN
INSERT INTO t4 VALUES (ins1, ins2, ind);
END
master-bin.000001 785 Query 1 1049 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172 COLLATE 'latin1_swedish_ci'), NAME_CONST('ins2',_cp932 0xED40ED41ED42 COLLATE 'cp932_japanese_ci'), NAME_CONST('ind',47.93))
master-bin.000001 1049 Query 1 1138 use `test`; DROP PROCEDURE bug18293
master-bin.000001 1138 Query 1 1217 use `test`; DROP TABLE t4
master-bin.000001 786 Query 1 1050 use `test`; INSERT INTO t4 VALUES ( NAME_CONST('ins1',_latin1 0x466F6F2773206120426172 COLLATE 'latin1_swedish_ci'), NAME_CONST('ins2',_cp932 0xED40ED41ED42 COLLATE 'cp932_japanese_ci'), NAME_CONST('ind',47.93))
master-bin.000001 1050 Query 1 1139 use `test`; DROP PROCEDURE bug18293
master-bin.000001 1139 Query 1 1218 use `test`; DROP TABLE t4
End of 5.0 tests
SHOW BINLOG EVENTS FROM 365;
SHOW BINLOG EVENTS FROM 366;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error
Bug#44352 UPPER/LOWER function doesn't work correctly on cp932 and sjis environment.
CREATE TABLE t1 (a varchar(16)) character set cp932;

View file

@ -375,7 +375,7 @@ SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
event_name definer
e1 mysqltest_u1@localhost
ALTER DEFINER=root@localhost EVENT e1 ON SCHEDULE EVERY 1 HOUR;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
SELECT event_name, definer FROM INFORMATION_SCHEMA.EVENTS;
event_name definer
e1 mysqltest_u1@localhost
@ -386,7 +386,7 @@ event_name definer
e1 mysqltest_u1@localhost
DROP EVENT e1;
CREATE DEFINER=root@localhost EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
DROP EVENT e1;
ERROR HY000: Unknown event 'e1'
DROP USER mysqltest_u1@localhost;

View file

@ -9,13 +9,13 @@ INSERT t1 VALUES (1);
FLUSH TABLES WITH READ LOCK;
SHOW MASTER STATUS;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 106
master-bin.000001 107
# Switch to connection con1
COMMIT;
# Switch to connection con2
SHOW MASTER STATUS;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 106
master-bin.000001 107
UNLOCK TABLES;
# Switch to connection con1
DROP TABLE t1;

View file

@ -121,9 +121,9 @@ mysqltest_5@host5, mysqltest_6@host6, mysqltest_7@host7;
create database mysqltest_1;
grant select, insert, update on `mysqltest\_1`.* to mysqltest_1@localhost;
set sql_log_off = 1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
set sql_log_bin = 0;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
delete from mysql.user where user like 'mysqltest\_1';
delete from mysql.db where user like 'mysqltest\_1';
drop database mysqltest_1;

View file

@ -121,7 +121,7 @@ grant insert on v1 to testdb_2@localhost;
create view v5 as select f1 from t1;
grant show view on v5 to testdb_2@localhost;
create definer=`no_such_user`@`no_such_host` view v6 as select f1 from t1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
use testdb_1;
create view v6 as select f1 from t1;
grant show view on v6 to testdb_2@localhost;

View file

@ -841,6 +841,7 @@ SET max_heap_table_size = 16384;
SET @old_myisam_data_pointer_size = @@myisam_data_pointer_size;
SET GLOBAL myisam_data_pointer_size = 2;
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
call mtr.add_suppression("mysqld: The table '.*#sql.*' is full");
INSERT IGNORE INTO t1 SELECT t1.a FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6,t1 t7;
Got one of the listed errors
SET GLOBAL myisam_data_pointer_size = @old_myisam_data_pointer_size;

View file

@ -1,4 +1,4 @@
call mtr.add_suppression("Cannot find or open table test/BUG29839 from .*");
call mtr.add_suppression("Cannot find or open table test/BUG29839 from");
DROP TABLE IF EXISTS t1,T1;
CREATE TABLE t1 (a INT);
SELECT * FROM T1;

View file

@ -604,7 +604,7 @@ a b
4 4
show master status /* there must be the UPDATE query event */;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 206
master-bin.000001 207
delete from t1;
delete from t2;
insert into t1 values (1,2),(3,4),(4,4);
@ -614,7 +614,7 @@ UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
show master status /* there must be the UPDATE query event */;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 221
master-bin.000001 222
drop table t1, t2;
set @@session.binlog_format= @sav_binlog_format;
drop table if exists t1, t2, t3;

View file

@ -3554,11 +3554,11 @@ use test;
create user mysqltest_1@localhost;
create table t1(a int, b varchar(34));
reset master;
mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need the RELOAD privilege for this operation (1227)
mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need the RELOAD privilege for this operation (1227)
mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
mysqldump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
grant RELOAD on *.* to mysqltest_1@localhost;
mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation (1227)
mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need the SUPER,REPLICATION CLIENT privilege for this operation (1227)
mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation (1227)
mysqldump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need (at least one of) the SUPER,REPLICATION CLIENT privilege(s) for this operation (1227)
grant REPLICATION CLIENT on *.* to mysqltest_1@localhost;
drop table t1;
drop user mysqltest_1@localhost;

View file

@ -314,21 +314,10 @@ here is the sourced script
1 = outer loop variable before dec
0 = outer loop variable after dec
2 = outer loop variable after while
outer=2 ifval=0
outer=1 ifval=1
here is the sourced script
2 = outer loop variable before dec
1 = outer loop variable after dec
1 = outer loop variable after while
here is the sourced script
1 = outer loop variable before dec
0 = outer loop variable after dec
In loop
here is the sourced script
@ -538,6 +527,10 @@ mysqltest: At line 1: Missing required argument 'filename' to command 'write_fil
mysqltest: At line 1: End of file encountered before 'EOF' delimiter was found
Content for test_file1
mysqltest: At line 1: File already exist: 'MYSQLTEST_VARDIR/tmp/test_file1.tmp'
These lines should be repeated,
if things work as expected
These lines should be repeated,
if things work as expected
Some data
for cat_file command
of mysqltest

View file

@ -92,14 +92,14 @@ HEX(c1)
C3
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/bug32533.txt' FIELDS ENCLOSED BY 0xC3 FROM t1;
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
TRUNCATE t1;
SELECT HEX(LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug32533.txt'));
HEX(LOAD_FILE('MYSQLTEST_VARDIR/tmp/bug32533.txt'))
C35CC3C30A
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/bug32533.txt' INTO TABLE t1 FIELDS ENCLOSED BY 0xC3;
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
SELECT HEX(c1) FROM t1;
HEX(c1)
C3
@ -124,17 +124,17 @@ ERROR 42000: Field separator argument is not what is expected; check the manual
# LOAD DATA rises error or has unpredictable result -- to be fixed later
SELECT * FROM t1 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FIELDS ENCLOSED BY 'ÑŠ';
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary FIELDS ENCLOSED BY 'ÑŠ';
ERROR 42000: Field separator argument is not what is expected; check the manual
SELECT * FROM t1 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FIELDS ESCAPED BY 'ÑŠ';
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary FIELDS ESCAPED BY 'ÑŠ';
ERROR 42000: Field separator argument is not what is expected; check the manual
SELECT * FROM t1 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' FIELDS TERMINATED BY 'ÑŠ';
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
##################################################
1ÑŠABC-áâ÷ÑŠDEF-ÂÃÄ
2ÑŠ\NÑŠ\N
@ -142,7 +142,7 @@ Warning 1638 Non-ASCII separator arguments are not fully supported
TRUNCATE t2;
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary FIELDS TERMINATED BY 'ÑŠ';
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
Warning 1265 Data truncated for column 'a' at row 1
Warning 1261 Row 1 doesn't contain data for all columns
Warning 1261 Row 1 doesn't contain data for all columns
@ -156,7 +156,7 @@ a b c
2 NULL NULL
SELECT * FROM t1 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' LINES STARTING BY 'ÑŠ';
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
##################################################
ÑŠ1 ABC-áâ÷ DEF-ÂÃÄ
ÑŠ2 \N \N
@ -164,20 +164,20 @@ Warning 1638 Non-ASCII separator arguments are not fully supported
TRUNCATE t2;
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary LINES STARTING BY 'ÑŠ';
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
a b c
1 ABC-Ð<>ÐÐ DEF-ÂÃÄ
2 NULL NULL
SELECT * FROM t1 INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' LINES TERMINATED BY 'ÑŠ';
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
##################################################
1 ABC-áâ÷ DEF-ÂÃÄÑŠ2 \N \NÑŠ##################################################
TRUNCATE t2;
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.txt' INTO TABLE t2 CHARACTER SET binary LINES TERMINATED BY 'ÑŠ';
Warnings:
Warning 1638 Non-ASCII separator arguments are not fully supported
Warning 1639 Non-ASCII separator arguments are not fully supported
SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY a, b, c;
a b c
1 ABC-Ð<>ÐÐ DEF-ÂÃÄ

View file

@ -1,3 +1,4 @@
call mtr.add_suppression("Failed to write to mysql.general_log");
drop table if exists t1;
create table t1 (a int)
engine = csv

View file

@ -349,9 +349,9 @@ CREATE FUNCTION wl2897_f1() RETURNS INT RETURN 1;
---> connection: mysqltest_1_con
USE mysqltest;
CREATE DEFINER=root@localhost PROCEDURE wl2897_p2() SELECT 2;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
CREATE DEFINER=root@localhost FUNCTION wl2897_f2() RETURNS INT RETURN 2;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
---> connection: mysqltest_2_con
use mysqltest;

View file

@ -14,15 +14,5 @@ end|
reset master|
insert into t2 values (bug23333(),1)|
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
show binlog events from 106 /* with fixes for #23333 will show there is the query */|
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # #
master-bin.000001 # Table_map 1 # #
master-bin.000001 # Table_map 1 # #
master-bin.000001 # Write_rows 1 # #
master-bin.000001 # Query 1 # #
select count(*),@a from t1 /* must be 1,1 */|
count(*) @a
1 1
drop table t1,t2;
drop function if exists bug23333;

View file

@ -117,7 +117,7 @@ CREATE DEFINER='mysqltest_inv'@'localhost'
TRIGGER trg1 BEFORE INSERT ON t1
FOR EACH ROW
SET @new_sum = 0;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
---> connection: default
use mysqltest_db1;
@ -473,7 +473,7 @@ SELECT trigger_name FROM INFORMATION_SCHEMA.TRIGGERS
WHERE trigger_schema = 'db1';
trigger_name
SHOW CREATE TRIGGER db1.trg;
ERROR 42000: Access denied; you need the TRIGGER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the TRIGGER privilege(s) for this operation
DROP USER 'no_rights'@'localhost';
DROP DATABASE db1;
End of 5.1 tests.

View file

@ -108,11 +108,7 @@ a-b-c
show create view `a-b-c`.v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `a`.`f1` AS `f1` from (`a-b-c`.`t1` `a` join `information_schema`.`tables` `b`) where (convert(`a`.`f1` using utf8) = `b`.`TABLE_NAME`) utf8 utf8_general_ci
Warnings:
Note 1600 Creation context of view `a-b-c`.`v1' is invalid
select * from `a-b-c`.v1;
f1
Warnings:
Note 1600 Creation context of view `a-b-c`.`v1' is invalid
drop database `a-b-c`;
use test;

View file

@ -16,7 +16,7 @@ create table mysqltest.t2 (a int, b int);
grant select on mysqltest.t1 to mysqltest_1@localhost;
grant create view,select on test.* to mysqltest_1@localhost;
create definer=root@localhost view v1 as select * from mysqltest.t1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
create view v1 as select * from mysqltest.t1;
alter view v1 as select * from mysqltest.t1;
ERROR 42000: DROP command denied to user 'mysqltest_1'@'localhost' for table 'v1'
@ -779,11 +779,11 @@ GRANT CREATE VIEW ON db26813.v2 TO u26813@localhost;
GRANT DROP, CREATE VIEW ON db26813.v3 TO u26813@localhost;
GRANT SELECT ON db26813.t1 TO u26813@localhost;
ALTER VIEW v1 AS SELECT f2 FROM t1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
ALTER VIEW v2 AS SELECT f2 FROM t1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
ALTER VIEW v3 AS SELECT f2 FROM t1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
SHOW CREATE VIEW v3;
View Create View character_set_client collation_connection
v3 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v3` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci
@ -807,9 +807,9 @@ GRANT DROP, CREATE VIEW ON mysqltest_29908.v1 TO u29908_2@localhost;
GRANT DROP, CREATE VIEW, SHOW VIEW ON mysqltest_29908.v2 TO u29908_2@localhost;
GRANT SELECT ON mysqltest_29908.t1 TO u29908_2@localhost;
ALTER VIEW v1 AS SELECT f2 FROM t1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
ALTER VIEW v2 AS SELECT f2 FROM t1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
SHOW CREATE VIEW v2;
View Create View character_set_client collation_connection
v2 CREATE ALGORITHM=UNDEFINED DEFINER=`u29908_1`@`localhost` SQL SECURITY INVOKER VIEW `v2` AS select `t1`.`f1` AS `f1` from `t1` latin1 latin1_swedish_ci

View file

@ -13,16 +13,16 @@ set session sql_log_bin = 1;
set global sql_log_bin = 1;
ERROR HY000: Variable 'sql_log_bin' is a SESSION variable and can't be used with SET GLOBAL
set session sql_log_bin = 1;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
**** Variable BINLOG_FORMAT ****
[root]
set global binlog_format = row;
set session binlog_format = row;
[plain]
set global binlog_format = row;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
set session binlog_format = row;
ERROR 42000: Access denied; you need the SUPER privilege for this operation
ERROR 42000: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
**** Clean up ****
set global binlog_format = @saved_binlog_format;
drop user mysqltest_1@localhost;

View file

@ -0,0 +1,345 @@
CREATE TABLE t1 (id INT) ENGINE = InnoDB;
SET BINLOG_FORMAT = STATEMENT;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Xid # # COMMIT /* XID */
INSERT INTO t1 VALUES (3);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
SET AUTOCOMMIT = 1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
BEGIN;
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
INSERT INTO t1 VALUES (3);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 0;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 0;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
INSERT INTO t1 VALUES (3);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
SET AUTOCOMMIT = 0;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
BEGIN;
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 0;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
INSERT INTO t1 VALUES (3);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (2)
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (3)
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
SET BINLOG_FORMAT = ROW;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
INSERT INTO t1 VALUES (3);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
SET AUTOCOMMIT = 1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
BEGIN;
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 1;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
INSERT INTO t1 VALUES (3);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 0;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
BEGIN;
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 0;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
INSERT INTO t1 VALUES (3);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
SET AUTOCOMMIT = 0;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 1;
BEGIN;
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
SET AUTOCOMMIT = 0;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
INSERT INTO t1 VALUES (3);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
LOCK TABLES t1 WRITE;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
INSERT INTO t1 VALUES (2);
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
UNLOCK TABLES;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
COMMIT;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */
DROP TABLE t1;

View file

@ -156,9 +156,10 @@ select * from t2 /* must be (3,1), (4,4) */;
a b
1 1
4 4
show master status /* there must no UPDATE in binlog */;
there must no UPDATE in binlog
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 106
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
delete from t1;
delete from t2;
insert into t1 values (1,2),(3,4),(4,4);
@ -166,8 +167,9 @@ insert into t2 values (1,2),(3,4),(4,4);
reset master;
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
ERROR 23000: Duplicate entry '4' for key 'PRIMARY'
show master status /* there must be no UPDATE query event */;
there must no UPDATE in binlog
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 106
master-bin.000001 # <Binlog_Do_DB> <Binlog_Ignore_DB>
drop table t1, t2;
End of tests

File diff suppressed because it is too large Load diff

View file

@ -5,6 +5,7 @@ insert delayed into t1 values (300);
FLUSH TABLES;
show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `mtr`; INSERT INTO test_suppressions (pattern) VALUES ( NAME_CONST('pattern',_latin1'Unsafe statement binlogged in statement format since BINLOG_FORMAT = STATEMENT' COLLATE 'latin1_swedish_ci'))
master-bin.000001 # Query # # use `test`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
master-bin.000001 # Query # # use `test`; insert delayed into t1 values (207)
master-bin.000001 # Intvar # # INSERT_ID=208

View file

@ -4,11 +4,11 @@ insert into t1 values (1,2);
commit;
show binlog events;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 4 Format_desc 1 106 Server ver: #, Binlog ver: #
master-bin.000001 106 Query 1 213 use `test`; create table t1 (a int, b int) engine=innodb
master-bin.000001 213 Query 1 281 BEGIN
master-bin.000001 281 Query 1 371 use `test`; insert into t1 values (1,2)
master-bin.000001 371 Xid 1 398 COMMIT /* XID */
master-bin.000001 4 Format_desc 1 107 Server ver: #, Binlog ver: #
master-bin.000001 107 Query 1 214 use `test`; create table t1 (a int, b int) engine=innodb
master-bin.000001 214 Query 1 282 BEGIN
master-bin.000001 282 Query 1 372 use `test`; insert into t1 values (1,2)
master-bin.000001 372 Xid 1 399 COMMIT /* XID */
drop table t1;
drop table if exists t1, t2;
reset master;
@ -36,7 +36,7 @@ create table t1 (n int) engine=innodb;
begin;
commit;
drop table t1;
show binlog events in 'master-bin.000001' from 106;
show binlog events in 'master-bin.000001' from 107;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query 1 # use `test`; create table t1 (n int) engine=innodb
master-bin.000001 # Query 1 # BEGIN
@ -142,7 +142,7 @@ master-bin.000001 # Query 1 # use `test`; insert into t1 values(2 + 4)
master-bin.000001 # Query 1 # use `test`; insert into t1 values(1 + 4)
master-bin.000001 # Xid 1 # COMMIT /* xid= */
master-bin.000001 # Rotate 1 # master-bin.000002;pos=4
show binlog events in 'master-bin.000002' from 106;
show binlog events in 'master-bin.000002' from 107;
Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Query 1 # use `test`; drop table t1
set @ac = @@autocommit;
@ -157,425 +157,425 @@ 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 106 Server version, Binlog ver: 4
master-bin.000001 106 Query 1 205 use `test`; create table t1(n int) engine=innodb
master-bin.000001 205 Query 1 273 BEGIN
master-bin.000001 273 Query 1 361 use `test`; insert into t1 values (1)
master-bin.000001 361 Query 1 449 use `test`; insert into t1 values (2)
master-bin.000001 449 Query 1 537 use `test`; insert into t1 values (3)
master-bin.000001 537 Xid 1 564 COMMIT /* XID */
master-bin.000001 564 Query 1 640 use `test`; drop table t1
master-bin.000001 4 Format_desc 1 107 Server version, Binlog ver: 4
master-bin.000001 107 Query 1 206 use `test`; create table t1(n int) engine=innodb
master-bin.000001 206 Query 1 274 BEGIN
master-bin.000001 274 Query 1 362 use `test`; insert into t1 values (1)
master-bin.000001 362 Query 1 450 use `test`; insert into t1 values (2)
master-bin.000001 450 Query 1 538 use `test`; insert into t1 values (3)
master-bin.000001 538 Xid 1 565 COMMIT /* XID */
master-bin.000001 565 Query 1 641 use `test`; drop table t1
set @bcs = @@binlog_cache_size;
set global binlog_cache_size=4096;
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 106 Server version, Binlog ver: 4
master-bin.000001 106 Query 1 206 use `test`; create table t1 (a int) engine=innodb
master-bin.000001 206 Query 1 274 BEGIN
master-bin.000001 274 Query 1 365 use `test`; insert into t1 values( 400 )
master-bin.000001 365 Query 1 456 use `test`; insert into t1 values( 399 )
master-bin.000001 456 Query 1 547 use `test`; insert into t1 values( 398 )
master-bin.000001 547 Query 1 638 use `test`; insert into t1 values( 397 )
master-bin.000001 638 Query 1 729 use `test`; insert into t1 values( 396 )
master-bin.000001 729 Query 1 820 use `test`; insert into t1 values( 395 )
master-bin.000001 820 Query 1 911 use `test`; insert into t1 values( 394 )
master-bin.000001 911 Query 1 1002 use `test`; insert into t1 values( 393 )
master-bin.000001 1002 Query 1 1093 use `test`; insert into t1 values( 392 )
master-bin.000001 1093 Query 1 1184 use `test`; insert into t1 values( 391 )
master-bin.000001 1184 Query 1 1275 use `test`; insert into t1 values( 390 )
master-bin.000001 1275 Query 1 1366 use `test`; insert into t1 values( 389 )
master-bin.000001 1366 Query 1 1457 use `test`; insert into t1 values( 388 )
master-bin.000001 1457 Query 1 1548 use `test`; insert into t1 values( 387 )
master-bin.000001 1548 Query 1 1639 use `test`; insert into t1 values( 386 )
master-bin.000001 1639 Query 1 1730 use `test`; insert into t1 values( 385 )
master-bin.000001 1730 Query 1 1821 use `test`; insert into t1 values( 384 )
master-bin.000001 1821 Query 1 1912 use `test`; insert into t1 values( 383 )
master-bin.000001 1912 Query 1 2003 use `test`; insert into t1 values( 382 )
master-bin.000001 2003 Query 1 2094 use `test`; insert into t1 values( 381 )
master-bin.000001 2094 Query 1 2185 use `test`; insert into t1 values( 380 )
master-bin.000001 2185 Query 1 2276 use `test`; insert into t1 values( 379 )
master-bin.000001 2276 Query 1 2367 use `test`; insert into t1 values( 378 )
master-bin.000001 2367 Query 1 2458 use `test`; insert into t1 values( 377 )
master-bin.000001 2458 Query 1 2549 use `test`; insert into t1 values( 376 )
master-bin.000001 2549 Query 1 2640 use `test`; insert into t1 values( 375 )
master-bin.000001 2640 Query 1 2731 use `test`; insert into t1 values( 374 )
master-bin.000001 2731 Query 1 2822 use `test`; insert into t1 values( 373 )
master-bin.000001 2822 Query 1 2913 use `test`; insert into t1 values( 372 )
master-bin.000001 2913 Query 1 3004 use `test`; insert into t1 values( 371 )
master-bin.000001 3004 Query 1 3095 use `test`; insert into t1 values( 370 )
master-bin.000001 3095 Query 1 3186 use `test`; insert into t1 values( 369 )
master-bin.000001 3186 Query 1 3277 use `test`; insert into t1 values( 368 )
master-bin.000001 3277 Query 1 3368 use `test`; insert into t1 values( 367 )
master-bin.000001 3368 Query 1 3459 use `test`; insert into t1 values( 366 )
master-bin.000001 3459 Query 1 3550 use `test`; insert into t1 values( 365 )
master-bin.000001 3550 Query 1 3641 use `test`; insert into t1 values( 364 )
master-bin.000001 3641 Query 1 3732 use `test`; insert into t1 values( 363 )
master-bin.000001 3732 Query 1 3823 use `test`; insert into t1 values( 362 )
master-bin.000001 3823 Query 1 3914 use `test`; insert into t1 values( 361 )
master-bin.000001 3914 Query 1 4005 use `test`; insert into t1 values( 360 )
master-bin.000001 4005 Query 1 4096 use `test`; insert into t1 values( 359 )
master-bin.000001 4096 Query 1 4187 use `test`; insert into t1 values( 358 )
master-bin.000001 4187 Query 1 4278 use `test`; insert into t1 values( 357 )
master-bin.000001 4278 Query 1 4369 use `test`; insert into t1 values( 356 )
master-bin.000001 4369 Query 1 4460 use `test`; insert into t1 values( 355 )
master-bin.000001 4460 Query 1 4551 use `test`; insert into t1 values( 354 )
master-bin.000001 4551 Query 1 4642 use `test`; insert into t1 values( 353 )
master-bin.000001 4642 Query 1 4733 use `test`; insert into t1 values( 352 )
master-bin.000001 4733 Query 1 4824 use `test`; insert into t1 values( 351 )
master-bin.000001 4824 Query 1 4915 use `test`; insert into t1 values( 350 )
master-bin.000001 4915 Query 1 5006 use `test`; insert into t1 values( 349 )
master-bin.000001 5006 Query 1 5097 use `test`; insert into t1 values( 348 )
master-bin.000001 5097 Query 1 5188 use `test`; insert into t1 values( 347 )
master-bin.000001 5188 Query 1 5279 use `test`; insert into t1 values( 346 )
master-bin.000001 5279 Query 1 5370 use `test`; insert into t1 values( 345 )
master-bin.000001 5370 Query 1 5461 use `test`; insert into t1 values( 344 )
master-bin.000001 5461 Query 1 5552 use `test`; insert into t1 values( 343 )
master-bin.000001 5552 Query 1 5643 use `test`; insert into t1 values( 342 )
master-bin.000001 5643 Query 1 5734 use `test`; insert into t1 values( 341 )
master-bin.000001 5734 Query 1 5825 use `test`; insert into t1 values( 340 )
master-bin.000001 5825 Query 1 5916 use `test`; insert into t1 values( 339 )
master-bin.000001 5916 Query 1 6007 use `test`; insert into t1 values( 338 )
master-bin.000001 6007 Query 1 6098 use `test`; insert into t1 values( 337 )
master-bin.000001 6098 Query 1 6189 use `test`; insert into t1 values( 336 )
master-bin.000001 6189 Query 1 6280 use `test`; insert into t1 values( 335 )
master-bin.000001 6280 Query 1 6371 use `test`; insert into t1 values( 334 )
master-bin.000001 6371 Query 1 6462 use `test`; insert into t1 values( 333 )
master-bin.000001 6462 Query 1 6553 use `test`; insert into t1 values( 332 )
master-bin.000001 6553 Query 1 6644 use `test`; insert into t1 values( 331 )
master-bin.000001 6644 Query 1 6735 use `test`; insert into t1 values( 330 )
master-bin.000001 6735 Query 1 6826 use `test`; insert into t1 values( 329 )
master-bin.000001 6826 Query 1 6917 use `test`; insert into t1 values( 328 )
master-bin.000001 6917 Query 1 7008 use `test`; insert into t1 values( 327 )
master-bin.000001 7008 Query 1 7099 use `test`; insert into t1 values( 326 )
master-bin.000001 7099 Query 1 7190 use `test`; insert into t1 values( 325 )
master-bin.000001 7190 Query 1 7281 use `test`; insert into t1 values( 324 )
master-bin.000001 7281 Query 1 7372 use `test`; insert into t1 values( 323 )
master-bin.000001 7372 Query 1 7463 use `test`; insert into t1 values( 322 )
master-bin.000001 7463 Query 1 7554 use `test`; insert into t1 values( 321 )
master-bin.000001 7554 Query 1 7645 use `test`; insert into t1 values( 320 )
master-bin.000001 7645 Query 1 7736 use `test`; insert into t1 values( 319 )
master-bin.000001 7736 Query 1 7827 use `test`; insert into t1 values( 318 )
master-bin.000001 7827 Query 1 7918 use `test`; insert into t1 values( 317 )
master-bin.000001 7918 Query 1 8009 use `test`; insert into t1 values( 316 )
master-bin.000001 8009 Query 1 8100 use `test`; insert into t1 values( 315 )
master-bin.000001 8100 Query 1 8191 use `test`; insert into t1 values( 314 )
master-bin.000001 8191 Query 1 8282 use `test`; insert into t1 values( 313 )
master-bin.000001 8282 Query 1 8373 use `test`; insert into t1 values( 312 )
master-bin.000001 8373 Query 1 8464 use `test`; insert into t1 values( 311 )
master-bin.000001 8464 Query 1 8555 use `test`; insert into t1 values( 310 )
master-bin.000001 8555 Query 1 8646 use `test`; insert into t1 values( 309 )
master-bin.000001 8646 Query 1 8737 use `test`; insert into t1 values( 308 )
master-bin.000001 8737 Query 1 8828 use `test`; insert into t1 values( 307 )
master-bin.000001 8828 Query 1 8919 use `test`; insert into t1 values( 306 )
master-bin.000001 8919 Query 1 9010 use `test`; insert into t1 values( 305 )
master-bin.000001 9010 Query 1 9101 use `test`; insert into t1 values( 304 )
master-bin.000001 9101 Query 1 9192 use `test`; insert into t1 values( 303 )
master-bin.000001 9192 Query 1 9283 use `test`; insert into t1 values( 302 )
master-bin.000001 9283 Query 1 9374 use `test`; insert into t1 values( 301 )
master-bin.000001 9374 Query 1 9465 use `test`; insert into t1 values( 300 )
master-bin.000001 9465 Query 1 9556 use `test`; insert into t1 values( 299 )
master-bin.000001 9556 Query 1 9647 use `test`; insert into t1 values( 298 )
master-bin.000001 9647 Query 1 9738 use `test`; insert into t1 values( 297 )
master-bin.000001 9738 Query 1 9829 use `test`; insert into t1 values( 296 )
master-bin.000001 9829 Query 1 9920 use `test`; insert into t1 values( 295 )
master-bin.000001 9920 Query 1 10011 use `test`; insert into t1 values( 294 )
master-bin.000001 10011 Query 1 10102 use `test`; insert into t1 values( 293 )
master-bin.000001 10102 Query 1 10193 use `test`; insert into t1 values( 292 )
master-bin.000001 10193 Query 1 10284 use `test`; insert into t1 values( 291 )
master-bin.000001 10284 Query 1 10375 use `test`; insert into t1 values( 290 )
master-bin.000001 10375 Query 1 10466 use `test`; insert into t1 values( 289 )
master-bin.000001 10466 Query 1 10557 use `test`; insert into t1 values( 288 )
master-bin.000001 10557 Query 1 10648 use `test`; insert into t1 values( 287 )
master-bin.000001 10648 Query 1 10739 use `test`; insert into t1 values( 286 )
master-bin.000001 10739 Query 1 10830 use `test`; insert into t1 values( 285 )
master-bin.000001 10830 Query 1 10921 use `test`; insert into t1 values( 284 )
master-bin.000001 10921 Query 1 11012 use `test`; insert into t1 values( 283 )
master-bin.000001 11012 Query 1 11103 use `test`; insert into t1 values( 282 )
master-bin.000001 11103 Query 1 11194 use `test`; insert into t1 values( 281 )
master-bin.000001 11194 Query 1 11285 use `test`; insert into t1 values( 280 )
master-bin.000001 11285 Query 1 11376 use `test`; insert into t1 values( 279 )
master-bin.000001 11376 Query 1 11467 use `test`; insert into t1 values( 278 )
master-bin.000001 11467 Query 1 11558 use `test`; insert into t1 values( 277 )
master-bin.000001 11558 Query 1 11649 use `test`; insert into t1 values( 276 )
master-bin.000001 11649 Query 1 11740 use `test`; insert into t1 values( 275 )
master-bin.000001 11740 Query 1 11831 use `test`; insert into t1 values( 274 )
master-bin.000001 11831 Query 1 11922 use `test`; insert into t1 values( 273 )
master-bin.000001 11922 Query 1 12013 use `test`; insert into t1 values( 272 )
master-bin.000001 12013 Query 1 12104 use `test`; insert into t1 values( 271 )
master-bin.000001 12104 Query 1 12195 use `test`; insert into t1 values( 270 )
master-bin.000001 12195 Query 1 12286 use `test`; insert into t1 values( 269 )
master-bin.000001 12286 Query 1 12377 use `test`; insert into t1 values( 268 )
master-bin.000001 12377 Query 1 12468 use `test`; insert into t1 values( 267 )
master-bin.000001 12468 Query 1 12559 use `test`; insert into t1 values( 266 )
master-bin.000001 12559 Query 1 12650 use `test`; insert into t1 values( 265 )
master-bin.000001 12650 Query 1 12741 use `test`; insert into t1 values( 264 )
master-bin.000001 12741 Query 1 12832 use `test`; insert into t1 values( 263 )
master-bin.000001 12832 Query 1 12923 use `test`; insert into t1 values( 262 )
master-bin.000001 12923 Query 1 13014 use `test`; insert into t1 values( 261 )
master-bin.000001 13014 Query 1 13105 use `test`; insert into t1 values( 260 )
master-bin.000001 13105 Query 1 13196 use `test`; insert into t1 values( 259 )
master-bin.000001 13196 Query 1 13287 use `test`; insert into t1 values( 258 )
master-bin.000001 13287 Query 1 13378 use `test`; insert into t1 values( 257 )
master-bin.000001 13378 Query 1 13469 use `test`; insert into t1 values( 256 )
master-bin.000001 13469 Query 1 13560 use `test`; insert into t1 values( 255 )
master-bin.000001 13560 Query 1 13651 use `test`; insert into t1 values( 254 )
master-bin.000001 13651 Query 1 13742 use `test`; insert into t1 values( 253 )
master-bin.000001 13742 Query 1 13833 use `test`; insert into t1 values( 252 )
master-bin.000001 13833 Query 1 13924 use `test`; insert into t1 values( 251 )
master-bin.000001 13924 Query 1 14015 use `test`; insert into t1 values( 250 )
master-bin.000001 14015 Query 1 14106 use `test`; insert into t1 values( 249 )
master-bin.000001 14106 Query 1 14197 use `test`; insert into t1 values( 248 )
master-bin.000001 14197 Query 1 14288 use `test`; insert into t1 values( 247 )
master-bin.000001 14288 Query 1 14379 use `test`; insert into t1 values( 246 )
master-bin.000001 14379 Query 1 14470 use `test`; insert into t1 values( 245 )
master-bin.000001 14470 Query 1 14561 use `test`; insert into t1 values( 244 )
master-bin.000001 14561 Query 1 14652 use `test`; insert into t1 values( 243 )
master-bin.000001 14652 Query 1 14743 use `test`; insert into t1 values( 242 )
master-bin.000001 14743 Query 1 14834 use `test`; insert into t1 values( 241 )
master-bin.000001 14834 Query 1 14925 use `test`; insert into t1 values( 240 )
master-bin.000001 14925 Query 1 15016 use `test`; insert into t1 values( 239 )
master-bin.000001 15016 Query 1 15107 use `test`; insert into t1 values( 238 )
master-bin.000001 15107 Query 1 15198 use `test`; insert into t1 values( 237 )
master-bin.000001 15198 Query 1 15289 use `test`; insert into t1 values( 236 )
master-bin.000001 15289 Query 1 15380 use `test`; insert into t1 values( 235 )
master-bin.000001 15380 Query 1 15471 use `test`; insert into t1 values( 234 )
master-bin.000001 15471 Query 1 15562 use `test`; insert into t1 values( 233 )
master-bin.000001 15562 Query 1 15653 use `test`; insert into t1 values( 232 )
master-bin.000001 15653 Query 1 15744 use `test`; insert into t1 values( 231 )
master-bin.000001 15744 Query 1 15835 use `test`; insert into t1 values( 230 )
master-bin.000001 15835 Query 1 15926 use `test`; insert into t1 values( 229 )
master-bin.000001 15926 Query 1 16017 use `test`; insert into t1 values( 228 )
master-bin.000001 16017 Query 1 16108 use `test`; insert into t1 values( 227 )
master-bin.000001 16108 Query 1 16199 use `test`; insert into t1 values( 226 )
master-bin.000001 16199 Query 1 16290 use `test`; insert into t1 values( 225 )
master-bin.000001 16290 Query 1 16381 use `test`; insert into t1 values( 224 )
master-bin.000001 16381 Query 1 16472 use `test`; insert into t1 values( 223 )
master-bin.000001 16472 Query 1 16563 use `test`; insert into t1 values( 222 )
master-bin.000001 16563 Query 1 16654 use `test`; insert into t1 values( 221 )
master-bin.000001 16654 Query 1 16745 use `test`; insert into t1 values( 220 )
master-bin.000001 16745 Query 1 16836 use `test`; insert into t1 values( 219 )
master-bin.000001 16836 Query 1 16927 use `test`; insert into t1 values( 218 )
master-bin.000001 16927 Query 1 17018 use `test`; insert into t1 values( 217 )
master-bin.000001 17018 Query 1 17109 use `test`; insert into t1 values( 216 )
master-bin.000001 17109 Query 1 17200 use `test`; insert into t1 values( 215 )
master-bin.000001 17200 Query 1 17291 use `test`; insert into t1 values( 214 )
master-bin.000001 17291 Query 1 17382 use `test`; insert into t1 values( 213 )
master-bin.000001 17382 Query 1 17473 use `test`; insert into t1 values( 212 )
master-bin.000001 17473 Query 1 17564 use `test`; insert into t1 values( 211 )
master-bin.000001 17564 Query 1 17655 use `test`; insert into t1 values( 210 )
master-bin.000001 17655 Query 1 17746 use `test`; insert into t1 values( 209 )
master-bin.000001 17746 Query 1 17837 use `test`; insert into t1 values( 208 )
master-bin.000001 17837 Query 1 17928 use `test`; insert into t1 values( 207 )
master-bin.000001 17928 Query 1 18019 use `test`; insert into t1 values( 206 )
master-bin.000001 18019 Query 1 18110 use `test`; insert into t1 values( 205 )
master-bin.000001 18110 Query 1 18201 use `test`; insert into t1 values( 204 )
master-bin.000001 18201 Query 1 18292 use `test`; insert into t1 values( 203 )
master-bin.000001 18292 Query 1 18383 use `test`; insert into t1 values( 202 )
master-bin.000001 18383 Query 1 18474 use `test`; insert into t1 values( 201 )
master-bin.000001 18474 Query 1 18565 use `test`; insert into t1 values( 200 )
master-bin.000001 18565 Query 1 18656 use `test`; insert into t1 values( 199 )
master-bin.000001 18656 Query 1 18747 use `test`; insert into t1 values( 198 )
master-bin.000001 18747 Query 1 18838 use `test`; insert into t1 values( 197 )
master-bin.000001 18838 Query 1 18929 use `test`; insert into t1 values( 196 )
master-bin.000001 18929 Query 1 19020 use `test`; insert into t1 values( 195 )
master-bin.000001 19020 Query 1 19111 use `test`; insert into t1 values( 194 )
master-bin.000001 19111 Query 1 19202 use `test`; insert into t1 values( 193 )
master-bin.000001 19202 Query 1 19293 use `test`; insert into t1 values( 192 )
master-bin.000001 19293 Query 1 19384 use `test`; insert into t1 values( 191 )
master-bin.000001 19384 Query 1 19475 use `test`; insert into t1 values( 190 )
master-bin.000001 19475 Query 1 19566 use `test`; insert into t1 values( 189 )
master-bin.000001 19566 Query 1 19657 use `test`; insert into t1 values( 188 )
master-bin.000001 19657 Query 1 19748 use `test`; insert into t1 values( 187 )
master-bin.000001 19748 Query 1 19839 use `test`; insert into t1 values( 186 )
master-bin.000001 19839 Query 1 19930 use `test`; insert into t1 values( 185 )
master-bin.000001 19930 Query 1 20021 use `test`; insert into t1 values( 184 )
master-bin.000001 20021 Query 1 20112 use `test`; insert into t1 values( 183 )
master-bin.000001 20112 Query 1 20203 use `test`; insert into t1 values( 182 )
master-bin.000001 20203 Query 1 20294 use `test`; insert into t1 values( 181 )
master-bin.000001 20294 Query 1 20385 use `test`; insert into t1 values( 180 )
master-bin.000001 20385 Query 1 20476 use `test`; insert into t1 values( 179 )
master-bin.000001 20476 Query 1 20567 use `test`; insert into t1 values( 178 )
master-bin.000001 20567 Query 1 20658 use `test`; insert into t1 values( 177 )
master-bin.000001 20658 Query 1 20749 use `test`; insert into t1 values( 176 )
master-bin.000001 20749 Query 1 20840 use `test`; insert into t1 values( 175 )
master-bin.000001 20840 Query 1 20931 use `test`; insert into t1 values( 174 )
master-bin.000001 20931 Query 1 21022 use `test`; insert into t1 values( 173 )
master-bin.000001 21022 Query 1 21113 use `test`; insert into t1 values( 172 )
master-bin.000001 21113 Query 1 21204 use `test`; insert into t1 values( 171 )
master-bin.000001 21204 Query 1 21295 use `test`; insert into t1 values( 170 )
master-bin.000001 21295 Query 1 21386 use `test`; insert into t1 values( 169 )
master-bin.000001 21386 Query 1 21477 use `test`; insert into t1 values( 168 )
master-bin.000001 21477 Query 1 21568 use `test`; insert into t1 values( 167 )
master-bin.000001 21568 Query 1 21659 use `test`; insert into t1 values( 166 )
master-bin.000001 21659 Query 1 21750 use `test`; insert into t1 values( 165 )
master-bin.000001 21750 Query 1 21841 use `test`; insert into t1 values( 164 )
master-bin.000001 21841 Query 1 21932 use `test`; insert into t1 values( 163 )
master-bin.000001 21932 Query 1 22023 use `test`; insert into t1 values( 162 )
master-bin.000001 22023 Query 1 22114 use `test`; insert into t1 values( 161 )
master-bin.000001 22114 Query 1 22205 use `test`; insert into t1 values( 160 )
master-bin.000001 22205 Query 1 22296 use `test`; insert into t1 values( 159 )
master-bin.000001 22296 Query 1 22387 use `test`; insert into t1 values( 158 )
master-bin.000001 22387 Query 1 22478 use `test`; insert into t1 values( 157 )
master-bin.000001 22478 Query 1 22569 use `test`; insert into t1 values( 156 )
master-bin.000001 22569 Query 1 22660 use `test`; insert into t1 values( 155 )
master-bin.000001 22660 Query 1 22751 use `test`; insert into t1 values( 154 )
master-bin.000001 22751 Query 1 22842 use `test`; insert into t1 values( 153 )
master-bin.000001 22842 Query 1 22933 use `test`; insert into t1 values( 152 )
master-bin.000001 22933 Query 1 23024 use `test`; insert into t1 values( 151 )
master-bin.000001 23024 Query 1 23115 use `test`; insert into t1 values( 150 )
master-bin.000001 23115 Query 1 23206 use `test`; insert into t1 values( 149 )
master-bin.000001 23206 Query 1 23297 use `test`; insert into t1 values( 148 )
master-bin.000001 23297 Query 1 23388 use `test`; insert into t1 values( 147 )
master-bin.000001 23388 Query 1 23479 use `test`; insert into t1 values( 146 )
master-bin.000001 23479 Query 1 23570 use `test`; insert into t1 values( 145 )
master-bin.000001 23570 Query 1 23661 use `test`; insert into t1 values( 144 )
master-bin.000001 23661 Query 1 23752 use `test`; insert into t1 values( 143 )
master-bin.000001 23752 Query 1 23843 use `test`; insert into t1 values( 142 )
master-bin.000001 23843 Query 1 23934 use `test`; insert into t1 values( 141 )
master-bin.000001 23934 Query 1 24025 use `test`; insert into t1 values( 140 )
master-bin.000001 24025 Query 1 24116 use `test`; insert into t1 values( 139 )
master-bin.000001 24116 Query 1 24207 use `test`; insert into t1 values( 138 )
master-bin.000001 24207 Query 1 24298 use `test`; insert into t1 values( 137 )
master-bin.000001 24298 Query 1 24389 use `test`; insert into t1 values( 136 )
master-bin.000001 24389 Query 1 24480 use `test`; insert into t1 values( 135 )
master-bin.000001 24480 Query 1 24571 use `test`; insert into t1 values( 134 )
master-bin.000001 24571 Query 1 24662 use `test`; insert into t1 values( 133 )
master-bin.000001 24662 Query 1 24753 use `test`; insert into t1 values( 132 )
master-bin.000001 24753 Query 1 24844 use `test`; insert into t1 values( 131 )
master-bin.000001 24844 Query 1 24935 use `test`; insert into t1 values( 130 )
master-bin.000001 24935 Query 1 25026 use `test`; insert into t1 values( 129 )
master-bin.000001 25026 Query 1 25117 use `test`; insert into t1 values( 128 )
master-bin.000001 25117 Query 1 25208 use `test`; insert into t1 values( 127 )
master-bin.000001 25208 Query 1 25299 use `test`; insert into t1 values( 126 )
master-bin.000001 25299 Query 1 25390 use `test`; insert into t1 values( 125 )
master-bin.000001 25390 Query 1 25481 use `test`; insert into t1 values( 124 )
master-bin.000001 25481 Query 1 25572 use `test`; insert into t1 values( 123 )
master-bin.000001 25572 Query 1 25663 use `test`; insert into t1 values( 122 )
master-bin.000001 25663 Query 1 25754 use `test`; insert into t1 values( 121 )
master-bin.000001 25754 Query 1 25845 use `test`; insert into t1 values( 120 )
master-bin.000001 25845 Query 1 25936 use `test`; insert into t1 values( 119 )
master-bin.000001 25936 Query 1 26027 use `test`; insert into t1 values( 118 )
master-bin.000001 26027 Query 1 26118 use `test`; insert into t1 values( 117 )
master-bin.000001 26118 Query 1 26209 use `test`; insert into t1 values( 116 )
master-bin.000001 26209 Query 1 26300 use `test`; insert into t1 values( 115 )
master-bin.000001 26300 Query 1 26391 use `test`; insert into t1 values( 114 )
master-bin.000001 26391 Query 1 26482 use `test`; insert into t1 values( 113 )
master-bin.000001 26482 Query 1 26573 use `test`; insert into t1 values( 112 )
master-bin.000001 26573 Query 1 26664 use `test`; insert into t1 values( 111 )
master-bin.000001 26664 Query 1 26755 use `test`; insert into t1 values( 110 )
master-bin.000001 26755 Query 1 26846 use `test`; insert into t1 values( 109 )
master-bin.000001 26846 Query 1 26937 use `test`; insert into t1 values( 108 )
master-bin.000001 26937 Query 1 27028 use `test`; insert into t1 values( 107 )
master-bin.000001 27028 Query 1 27119 use `test`; insert into t1 values( 106 )
master-bin.000001 27119 Query 1 27210 use `test`; insert into t1 values( 105 )
master-bin.000001 27210 Query 1 27301 use `test`; insert into t1 values( 104 )
master-bin.000001 27301 Query 1 27392 use `test`; insert into t1 values( 103 )
master-bin.000001 27392 Query 1 27483 use `test`; insert into t1 values( 102 )
master-bin.000001 27483 Query 1 27574 use `test`; insert into t1 values( 101 )
master-bin.000001 27574 Query 1 27665 use `test`; insert into t1 values( 100 )
master-bin.000001 27665 Query 1 27755 use `test`; insert into t1 values( 99 )
master-bin.000001 27755 Query 1 27845 use `test`; insert into t1 values( 98 )
master-bin.000001 27845 Query 1 27935 use `test`; insert into t1 values( 97 )
master-bin.000001 27935 Query 1 28025 use `test`; insert into t1 values( 96 )
master-bin.000001 28025 Query 1 28115 use `test`; insert into t1 values( 95 )
master-bin.000001 28115 Query 1 28205 use `test`; insert into t1 values( 94 )
master-bin.000001 28205 Query 1 28295 use `test`; insert into t1 values( 93 )
master-bin.000001 28295 Query 1 28385 use `test`; insert into t1 values( 92 )
master-bin.000001 28385 Query 1 28475 use `test`; insert into t1 values( 91 )
master-bin.000001 28475 Query 1 28565 use `test`; insert into t1 values( 90 )
master-bin.000001 28565 Query 1 28655 use `test`; insert into t1 values( 89 )
master-bin.000001 28655 Query 1 28745 use `test`; insert into t1 values( 88 )
master-bin.000001 28745 Query 1 28835 use `test`; insert into t1 values( 87 )
master-bin.000001 28835 Query 1 28925 use `test`; insert into t1 values( 86 )
master-bin.000001 28925 Query 1 29015 use `test`; insert into t1 values( 85 )
master-bin.000001 29015 Query 1 29105 use `test`; insert into t1 values( 84 )
master-bin.000001 29105 Query 1 29195 use `test`; insert into t1 values( 83 )
master-bin.000001 29195 Query 1 29285 use `test`; insert into t1 values( 82 )
master-bin.000001 29285 Query 1 29375 use `test`; insert into t1 values( 81 )
master-bin.000001 29375 Query 1 29465 use `test`; insert into t1 values( 80 )
master-bin.000001 29465 Query 1 29555 use `test`; insert into t1 values( 79 )
master-bin.000001 29555 Query 1 29645 use `test`; insert into t1 values( 78 )
master-bin.000001 29645 Query 1 29735 use `test`; insert into t1 values( 77 )
master-bin.000001 29735 Query 1 29825 use `test`; insert into t1 values( 76 )
master-bin.000001 29825 Query 1 29915 use `test`; insert into t1 values( 75 )
master-bin.000001 29915 Query 1 30005 use `test`; insert into t1 values( 74 )
master-bin.000001 30005 Query 1 30095 use `test`; insert into t1 values( 73 )
master-bin.000001 30095 Query 1 30185 use `test`; insert into t1 values( 72 )
master-bin.000001 30185 Query 1 30275 use `test`; insert into t1 values( 71 )
master-bin.000001 30275 Query 1 30365 use `test`; insert into t1 values( 70 )
master-bin.000001 30365 Query 1 30455 use `test`; insert into t1 values( 69 )
master-bin.000001 30455 Query 1 30545 use `test`; insert into t1 values( 68 )
master-bin.000001 30545 Query 1 30635 use `test`; insert into t1 values( 67 )
master-bin.000001 30635 Query 1 30725 use `test`; insert into t1 values( 66 )
master-bin.000001 30725 Query 1 30815 use `test`; insert into t1 values( 65 )
master-bin.000001 30815 Query 1 30905 use `test`; insert into t1 values( 64 )
master-bin.000001 30905 Query 1 30995 use `test`; insert into t1 values( 63 )
master-bin.000001 30995 Query 1 31085 use `test`; insert into t1 values( 62 )
master-bin.000001 31085 Query 1 31175 use `test`; insert into t1 values( 61 )
master-bin.000001 31175 Query 1 31265 use `test`; insert into t1 values( 60 )
master-bin.000001 31265 Query 1 31355 use `test`; insert into t1 values( 59 )
master-bin.000001 31355 Query 1 31445 use `test`; insert into t1 values( 58 )
master-bin.000001 31445 Query 1 31535 use `test`; insert into t1 values( 57 )
master-bin.000001 31535 Query 1 31625 use `test`; insert into t1 values( 56 )
master-bin.000001 31625 Query 1 31715 use `test`; insert into t1 values( 55 )
master-bin.000001 31715 Query 1 31805 use `test`; insert into t1 values( 54 )
master-bin.000001 31805 Query 1 31895 use `test`; insert into t1 values( 53 )
master-bin.000001 31895 Query 1 31985 use `test`; insert into t1 values( 52 )
master-bin.000001 31985 Query 1 32075 use `test`; insert into t1 values( 51 )
master-bin.000001 32075 Query 1 32165 use `test`; insert into t1 values( 50 )
master-bin.000001 32165 Query 1 32255 use `test`; insert into t1 values( 49 )
master-bin.000001 32255 Query 1 32345 use `test`; insert into t1 values( 48 )
master-bin.000001 32345 Query 1 32435 use `test`; insert into t1 values( 47 )
master-bin.000001 32435 Query 1 32525 use `test`; insert into t1 values( 46 )
master-bin.000001 32525 Query 1 32615 use `test`; insert into t1 values( 45 )
master-bin.000001 32615 Query 1 32705 use `test`; insert into t1 values( 44 )
master-bin.000001 32705 Query 1 32795 use `test`; insert into t1 values( 43 )
master-bin.000001 32795 Query 1 32885 use `test`; insert into t1 values( 42 )
master-bin.000001 32885 Query 1 32975 use `test`; insert into t1 values( 41 )
master-bin.000001 32975 Query 1 33065 use `test`; insert into t1 values( 40 )
master-bin.000001 33065 Query 1 33155 use `test`; insert into t1 values( 39 )
master-bin.000001 33155 Query 1 33245 use `test`; insert into t1 values( 38 )
master-bin.000001 33245 Query 1 33335 use `test`; insert into t1 values( 37 )
master-bin.000001 33335 Query 1 33425 use `test`; insert into t1 values( 36 )
master-bin.000001 33425 Query 1 33515 use `test`; insert into t1 values( 35 )
master-bin.000001 33515 Query 1 33605 use `test`; insert into t1 values( 34 )
master-bin.000001 33605 Query 1 33695 use `test`; insert into t1 values( 33 )
master-bin.000001 33695 Query 1 33785 use `test`; insert into t1 values( 32 )
master-bin.000001 33785 Query 1 33875 use `test`; insert into t1 values( 31 )
master-bin.000001 33875 Query 1 33965 use `test`; insert into t1 values( 30 )
master-bin.000001 33965 Query 1 34055 use `test`; insert into t1 values( 29 )
master-bin.000001 34055 Query 1 34145 use `test`; insert into t1 values( 28 )
master-bin.000001 34145 Query 1 34235 use `test`; insert into t1 values( 27 )
master-bin.000001 34235 Query 1 34325 use `test`; insert into t1 values( 26 )
master-bin.000001 34325 Query 1 34415 use `test`; insert into t1 values( 25 )
master-bin.000001 34415 Query 1 34505 use `test`; insert into t1 values( 24 )
master-bin.000001 34505 Query 1 34595 use `test`; insert into t1 values( 23 )
master-bin.000001 34595 Query 1 34685 use `test`; insert into t1 values( 22 )
master-bin.000001 34685 Query 1 34775 use `test`; insert into t1 values( 21 )
master-bin.000001 34775 Query 1 34865 use `test`; insert into t1 values( 20 )
master-bin.000001 34865 Query 1 34955 use `test`; insert into t1 values( 19 )
master-bin.000001 34955 Query 1 35045 use `test`; insert into t1 values( 18 )
master-bin.000001 35045 Query 1 35135 use `test`; insert into t1 values( 17 )
master-bin.000001 35135 Query 1 35225 use `test`; insert into t1 values( 16 )
master-bin.000001 35225 Query 1 35315 use `test`; insert into t1 values( 15 )
master-bin.000001 35315 Query 1 35405 use `test`; insert into t1 values( 14 )
master-bin.000001 35405 Query 1 35495 use `test`; insert into t1 values( 13 )
master-bin.000001 35495 Query 1 35585 use `test`; insert into t1 values( 12 )
master-bin.000001 35585 Query 1 35675 use `test`; insert into t1 values( 11 )
master-bin.000001 35675 Query 1 35765 use `test`; insert into t1 values( 10 )
master-bin.000001 35765 Query 1 35854 use `test`; insert into t1 values( 9 )
master-bin.000001 35854 Query 1 35943 use `test`; insert into t1 values( 8 )
master-bin.000001 35943 Query 1 36032 use `test`; insert into t1 values( 7 )
master-bin.000001 36032 Query 1 36121 use `test`; insert into t1 values( 6 )
master-bin.000001 36121 Query 1 36210 use `test`; insert into t1 values( 5 )
master-bin.000001 36210 Query 1 36299 use `test`; insert into t1 values( 4 )
master-bin.000001 36299 Query 1 36388 use `test`; insert into t1 values( 3 )
master-bin.000001 36388 Query 1 36477 use `test`; insert into t1 values( 2 )
master-bin.000001 36477 Query 1 36566 use `test`; insert into t1 values( 1 )
master-bin.000001 36566 Xid 1 36593 COMMIT /* XID */
master-bin.000001 36593 Rotate 1 36637 master-bin.000002;pos=4
master-bin.000001 4 Format_desc 1 107 Server version, Binlog ver: 4
master-bin.000001 107 Query 1 207 use `test`; create table t1 (a int) engine=innodb
master-bin.000001 207 Query 1 275 BEGIN
master-bin.000001 275 Query 1 366 use `test`; insert into t1 values( 400 )
master-bin.000001 366 Query 1 457 use `test`; insert into t1 values( 399 )
master-bin.000001 457 Query 1 548 use `test`; insert into t1 values( 398 )
master-bin.000001 548 Query 1 639 use `test`; insert into t1 values( 397 )
master-bin.000001 639 Query 1 730 use `test`; insert into t1 values( 396 )
master-bin.000001 730 Query 1 821 use `test`; insert into t1 values( 395 )
master-bin.000001 821 Query 1 912 use `test`; insert into t1 values( 394 )
master-bin.000001 912 Query 1 1003 use `test`; insert into t1 values( 393 )
master-bin.000001 1003 Query 1 1094 use `test`; insert into t1 values( 392 )
master-bin.000001 1094 Query 1 1185 use `test`; insert into t1 values( 391 )
master-bin.000001 1185 Query 1 1276 use `test`; insert into t1 values( 390 )
master-bin.000001 1276 Query 1 1367 use `test`; insert into t1 values( 389 )
master-bin.000001 1367 Query 1 1458 use `test`; insert into t1 values( 388 )
master-bin.000001 1458 Query 1 1549 use `test`; insert into t1 values( 387 )
master-bin.000001 1549 Query 1 1640 use `test`; insert into t1 values( 386 )
master-bin.000001 1640 Query 1 1731 use `test`; insert into t1 values( 385 )
master-bin.000001 1731 Query 1 1822 use `test`; insert into t1 values( 384 )
master-bin.000001 1822 Query 1 1913 use `test`; insert into t1 values( 383 )
master-bin.000001 1913 Query 1 2004 use `test`; insert into t1 values( 382 )
master-bin.000001 2004 Query 1 2095 use `test`; insert into t1 values( 381 )
master-bin.000001 2095 Query 1 2186 use `test`; insert into t1 values( 380 )
master-bin.000001 2186 Query 1 2277 use `test`; insert into t1 values( 379 )
master-bin.000001 2277 Query 1 2368 use `test`; insert into t1 values( 378 )
master-bin.000001 2368 Query 1 2459 use `test`; insert into t1 values( 377 )
master-bin.000001 2459 Query 1 2550 use `test`; insert into t1 values( 376 )
master-bin.000001 2550 Query 1 2641 use `test`; insert into t1 values( 375 )
master-bin.000001 2641 Query 1 2732 use `test`; insert into t1 values( 374 )
master-bin.000001 2732 Query 1 2823 use `test`; insert into t1 values( 373 )
master-bin.000001 2823 Query 1 2914 use `test`; insert into t1 values( 372 )
master-bin.000001 2914 Query 1 3005 use `test`; insert into t1 values( 371 )
master-bin.000001 3005 Query 1 3096 use `test`; insert into t1 values( 370 )
master-bin.000001 3096 Query 1 3187 use `test`; insert into t1 values( 369 )
master-bin.000001 3187 Query 1 3278 use `test`; insert into t1 values( 368 )
master-bin.000001 3278 Query 1 3369 use `test`; insert into t1 values( 367 )
master-bin.000001 3369 Query 1 3460 use `test`; insert into t1 values( 366 )
master-bin.000001 3460 Query 1 3551 use `test`; insert into t1 values( 365 )
master-bin.000001 3551 Query 1 3642 use `test`; insert into t1 values( 364 )
master-bin.000001 3642 Query 1 3733 use `test`; insert into t1 values( 363 )
master-bin.000001 3733 Query 1 3824 use `test`; insert into t1 values( 362 )
master-bin.000001 3824 Query 1 3915 use `test`; insert into t1 values( 361 )
master-bin.000001 3915 Query 1 4006 use `test`; insert into t1 values( 360 )
master-bin.000001 4006 Query 1 4097 use `test`; insert into t1 values( 359 )
master-bin.000001 4097 Query 1 4188 use `test`; insert into t1 values( 358 )
master-bin.000001 4188 Query 1 4279 use `test`; insert into t1 values( 357 )
master-bin.000001 4279 Query 1 4370 use `test`; insert into t1 values( 356 )
master-bin.000001 4370 Query 1 4461 use `test`; insert into t1 values( 355 )
master-bin.000001 4461 Query 1 4552 use `test`; insert into t1 values( 354 )
master-bin.000001 4552 Query 1 4643 use `test`; insert into t1 values( 353 )
master-bin.000001 4643 Query 1 4734 use `test`; insert into t1 values( 352 )
master-bin.000001 4734 Query 1 4825 use `test`; insert into t1 values( 351 )
master-bin.000001 4825 Query 1 4916 use `test`; insert into t1 values( 350 )
master-bin.000001 4916 Query 1 5007 use `test`; insert into t1 values( 349 )
master-bin.000001 5007 Query 1 5098 use `test`; insert into t1 values( 348 )
master-bin.000001 5098 Query 1 5189 use `test`; insert into t1 values( 347 )
master-bin.000001 5189 Query 1 5280 use `test`; insert into t1 values( 346 )
master-bin.000001 5280 Query 1 5371 use `test`; insert into t1 values( 345 )
master-bin.000001 5371 Query 1 5462 use `test`; insert into t1 values( 344 )
master-bin.000001 5462 Query 1 5553 use `test`; insert into t1 values( 343 )
master-bin.000001 5553 Query 1 5644 use `test`; insert into t1 values( 342 )
master-bin.000001 5644 Query 1 5735 use `test`; insert into t1 values( 341 )
master-bin.000001 5735 Query 1 5826 use `test`; insert into t1 values( 340 )
master-bin.000001 5826 Query 1 5917 use `test`; insert into t1 values( 339 )
master-bin.000001 5917 Query 1 6008 use `test`; insert into t1 values( 338 )
master-bin.000001 6008 Query 1 6099 use `test`; insert into t1 values( 337 )
master-bin.000001 6099 Query 1 6190 use `test`; insert into t1 values( 336 )
master-bin.000001 6190 Query 1 6281 use `test`; insert into t1 values( 335 )
master-bin.000001 6281 Query 1 6372 use `test`; insert into t1 values( 334 )
master-bin.000001 6372 Query 1 6463 use `test`; insert into t1 values( 333 )
master-bin.000001 6463 Query 1 6554 use `test`; insert into t1 values( 332 )
master-bin.000001 6554 Query 1 6645 use `test`; insert into t1 values( 331 )
master-bin.000001 6645 Query 1 6736 use `test`; insert into t1 values( 330 )
master-bin.000001 6736 Query 1 6827 use `test`; insert into t1 values( 329 )
master-bin.000001 6827 Query 1 6918 use `test`; insert into t1 values( 328 )
master-bin.000001 6918 Query 1 7009 use `test`; insert into t1 values( 327 )
master-bin.000001 7009 Query 1 7100 use `test`; insert into t1 values( 326 )
master-bin.000001 7100 Query 1 7191 use `test`; insert into t1 values( 325 )
master-bin.000001 7191 Query 1 7282 use `test`; insert into t1 values( 324 )
master-bin.000001 7282 Query 1 7373 use `test`; insert into t1 values( 323 )
master-bin.000001 7373 Query 1 7464 use `test`; insert into t1 values( 322 )
master-bin.000001 7464 Query 1 7555 use `test`; insert into t1 values( 321 )
master-bin.000001 7555 Query 1 7646 use `test`; insert into t1 values( 320 )
master-bin.000001 7646 Query 1 7737 use `test`; insert into t1 values( 319 )
master-bin.000001 7737 Query 1 7828 use `test`; insert into t1 values( 318 )
master-bin.000001 7828 Query 1 7919 use `test`; insert into t1 values( 317 )
master-bin.000001 7919 Query 1 8010 use `test`; insert into t1 values( 316 )
master-bin.000001 8010 Query 1 8101 use `test`; insert into t1 values( 315 )
master-bin.000001 8101 Query 1 8192 use `test`; insert into t1 values( 314 )
master-bin.000001 8192 Query 1 8283 use `test`; insert into t1 values( 313 )
master-bin.000001 8283 Query 1 8374 use `test`; insert into t1 values( 312 )
master-bin.000001 8374 Query 1 8465 use `test`; insert into t1 values( 311 )
master-bin.000001 8465 Query 1 8556 use `test`; insert into t1 values( 310 )
master-bin.000001 8556 Query 1 8647 use `test`; insert into t1 values( 309 )
master-bin.000001 8647 Query 1 8738 use `test`; insert into t1 values( 308 )
master-bin.000001 8738 Query 1 8829 use `test`; insert into t1 values( 307 )
master-bin.000001 8829 Query 1 8920 use `test`; insert into t1 values( 306 )
master-bin.000001 8920 Query 1 9011 use `test`; insert into t1 values( 305 )
master-bin.000001 9011 Query 1 9102 use `test`; insert into t1 values( 304 )
master-bin.000001 9102 Query 1 9193 use `test`; insert into t1 values( 303 )
master-bin.000001 9193 Query 1 9284 use `test`; insert into t1 values( 302 )
master-bin.000001 9284 Query 1 9375 use `test`; insert into t1 values( 301 )
master-bin.000001 9375 Query 1 9466 use `test`; insert into t1 values( 300 )
master-bin.000001 9466 Query 1 9557 use `test`; insert into t1 values( 299 )
master-bin.000001 9557 Query 1 9648 use `test`; insert into t1 values( 298 )
master-bin.000001 9648 Query 1 9739 use `test`; insert into t1 values( 297 )
master-bin.000001 9739 Query 1 9830 use `test`; insert into t1 values( 296 )
master-bin.000001 9830 Query 1 9921 use `test`; insert into t1 values( 295 )
master-bin.000001 9921 Query 1 10012 use `test`; insert into t1 values( 294 )
master-bin.000001 10012 Query 1 10103 use `test`; insert into t1 values( 293 )
master-bin.000001 10103 Query 1 10194 use `test`; insert into t1 values( 292 )
master-bin.000001 10194 Query 1 10285 use `test`; insert into t1 values( 291 )
master-bin.000001 10285 Query 1 10376 use `test`; insert into t1 values( 290 )
master-bin.000001 10376 Query 1 10467 use `test`; insert into t1 values( 289 )
master-bin.000001 10467 Query 1 10558 use `test`; insert into t1 values( 288 )
master-bin.000001 10558 Query 1 10649 use `test`; insert into t1 values( 287 )
master-bin.000001 10649 Query 1 10740 use `test`; insert into t1 values( 286 )
master-bin.000001 10740 Query 1 10831 use `test`; insert into t1 values( 285 )
master-bin.000001 10831 Query 1 10922 use `test`; insert into t1 values( 284 )
master-bin.000001 10922 Query 1 11013 use `test`; insert into t1 values( 283 )
master-bin.000001 11013 Query 1 11104 use `test`; insert into t1 values( 282 )
master-bin.000001 11104 Query 1 11195 use `test`; insert into t1 values( 281 )
master-bin.000001 11195 Query 1 11286 use `test`; insert into t1 values( 280 )
master-bin.000001 11286 Query 1 11377 use `test`; insert into t1 values( 279 )
master-bin.000001 11377 Query 1 11468 use `test`; insert into t1 values( 278 )
master-bin.000001 11468 Query 1 11559 use `test`; insert into t1 values( 277 )
master-bin.000001 11559 Query 1 11650 use `test`; insert into t1 values( 276 )
master-bin.000001 11650 Query 1 11741 use `test`; insert into t1 values( 275 )
master-bin.000001 11741 Query 1 11832 use `test`; insert into t1 values( 274 )
master-bin.000001 11832 Query 1 11923 use `test`; insert into t1 values( 273 )
master-bin.000001 11923 Query 1 12014 use `test`; insert into t1 values( 272 )
master-bin.000001 12014 Query 1 12105 use `test`; insert into t1 values( 271 )
master-bin.000001 12105 Query 1 12196 use `test`; insert into t1 values( 270 )
master-bin.000001 12196 Query 1 12287 use `test`; insert into t1 values( 269 )
master-bin.000001 12287 Query 1 12378 use `test`; insert into t1 values( 268 )
master-bin.000001 12378 Query 1 12469 use `test`; insert into t1 values( 267 )
master-bin.000001 12469 Query 1 12560 use `test`; insert into t1 values( 266 )
master-bin.000001 12560 Query 1 12651 use `test`; insert into t1 values( 265 )
master-bin.000001 12651 Query 1 12742 use `test`; insert into t1 values( 264 )
master-bin.000001 12742 Query 1 12833 use `test`; insert into t1 values( 263 )
master-bin.000001 12833 Query 1 12924 use `test`; insert into t1 values( 262 )
master-bin.000001 12924 Query 1 13015 use `test`; insert into t1 values( 261 )
master-bin.000001 13015 Query 1 13106 use `test`; insert into t1 values( 260 )
master-bin.000001 13106 Query 1 13197 use `test`; insert into t1 values( 259 )
master-bin.000001 13197 Query 1 13288 use `test`; insert into t1 values( 258 )
master-bin.000001 13288 Query 1 13379 use `test`; insert into t1 values( 257 )
master-bin.000001 13379 Query 1 13470 use `test`; insert into t1 values( 256 )
master-bin.000001 13470 Query 1 13561 use `test`; insert into t1 values( 255 )
master-bin.000001 13561 Query 1 13652 use `test`; insert into t1 values( 254 )
master-bin.000001 13652 Query 1 13743 use `test`; insert into t1 values( 253 )
master-bin.000001 13743 Query 1 13834 use `test`; insert into t1 values( 252 )
master-bin.000001 13834 Query 1 13925 use `test`; insert into t1 values( 251 )
master-bin.000001 13925 Query 1 14016 use `test`; insert into t1 values( 250 )
master-bin.000001 14016 Query 1 14107 use `test`; insert into t1 values( 249 )
master-bin.000001 14107 Query 1 14198 use `test`; insert into t1 values( 248 )
master-bin.000001 14198 Query 1 14289 use `test`; insert into t1 values( 247 )
master-bin.000001 14289 Query 1 14380 use `test`; insert into t1 values( 246 )
master-bin.000001 14380 Query 1 14471 use `test`; insert into t1 values( 245 )
master-bin.000001 14471 Query 1 14562 use `test`; insert into t1 values( 244 )
master-bin.000001 14562 Query 1 14653 use `test`; insert into t1 values( 243 )
master-bin.000001 14653 Query 1 14744 use `test`; insert into t1 values( 242 )
master-bin.000001 14744 Query 1 14835 use `test`; insert into t1 values( 241 )
master-bin.000001 14835 Query 1 14926 use `test`; insert into t1 values( 240 )
master-bin.000001 14926 Query 1 15017 use `test`; insert into t1 values( 239 )
master-bin.000001 15017 Query 1 15108 use `test`; insert into t1 values( 238 )
master-bin.000001 15108 Query 1 15199 use `test`; insert into t1 values( 237 )
master-bin.000001 15199 Query 1 15290 use `test`; insert into t1 values( 236 )
master-bin.000001 15290 Query 1 15381 use `test`; insert into t1 values( 235 )
master-bin.000001 15381 Query 1 15472 use `test`; insert into t1 values( 234 )
master-bin.000001 15472 Query 1 15563 use `test`; insert into t1 values( 233 )
master-bin.000001 15563 Query 1 15654 use `test`; insert into t1 values( 232 )
master-bin.000001 15654 Query 1 15745 use `test`; insert into t1 values( 231 )
master-bin.000001 15745 Query 1 15836 use `test`; insert into t1 values( 230 )
master-bin.000001 15836 Query 1 15927 use `test`; insert into t1 values( 229 )
master-bin.000001 15927 Query 1 16018 use `test`; insert into t1 values( 228 )
master-bin.000001 16018 Query 1 16109 use `test`; insert into t1 values( 227 )
master-bin.000001 16109 Query 1 16200 use `test`; insert into t1 values( 226 )
master-bin.000001 16200 Query 1 16291 use `test`; insert into t1 values( 225 )
master-bin.000001 16291 Query 1 16382 use `test`; insert into t1 values( 224 )
master-bin.000001 16382 Query 1 16473 use `test`; insert into t1 values( 223 )
master-bin.000001 16473 Query 1 16564 use `test`; insert into t1 values( 222 )
master-bin.000001 16564 Query 1 16655 use `test`; insert into t1 values( 221 )
master-bin.000001 16655 Query 1 16746 use `test`; insert into t1 values( 220 )
master-bin.000001 16746 Query 1 16837 use `test`; insert into t1 values( 219 )
master-bin.000001 16837 Query 1 16928 use `test`; insert into t1 values( 218 )
master-bin.000001 16928 Query 1 17019 use `test`; insert into t1 values( 217 )
master-bin.000001 17019 Query 1 17110 use `test`; insert into t1 values( 216 )
master-bin.000001 17110 Query 1 17201 use `test`; insert into t1 values( 215 )
master-bin.000001 17201 Query 1 17292 use `test`; insert into t1 values( 214 )
master-bin.000001 17292 Query 1 17383 use `test`; insert into t1 values( 213 )
master-bin.000001 17383 Query 1 17474 use `test`; insert into t1 values( 212 )
master-bin.000001 17474 Query 1 17565 use `test`; insert into t1 values( 211 )
master-bin.000001 17565 Query 1 17656 use `test`; insert into t1 values( 210 )
master-bin.000001 17656 Query 1 17747 use `test`; insert into t1 values( 209 )
master-bin.000001 17747 Query 1 17838 use `test`; insert into t1 values( 208 )
master-bin.000001 17838 Query 1 17929 use `test`; insert into t1 values( 207 )
master-bin.000001 17929 Query 1 18020 use `test`; insert into t1 values( 206 )
master-bin.000001 18020 Query 1 18111 use `test`; insert into t1 values( 205 )
master-bin.000001 18111 Query 1 18202 use `test`; insert into t1 values( 204 )
master-bin.000001 18202 Query 1 18293 use `test`; insert into t1 values( 203 )
master-bin.000001 18293 Query 1 18384 use `test`; insert into t1 values( 202 )
master-bin.000001 18384 Query 1 18475 use `test`; insert into t1 values( 201 )
master-bin.000001 18475 Query 1 18566 use `test`; insert into t1 values( 200 )
master-bin.000001 18566 Query 1 18657 use `test`; insert into t1 values( 199 )
master-bin.000001 18657 Query 1 18748 use `test`; insert into t1 values( 198 )
master-bin.000001 18748 Query 1 18839 use `test`; insert into t1 values( 197 )
master-bin.000001 18839 Query 1 18930 use `test`; insert into t1 values( 196 )
master-bin.000001 18930 Query 1 19021 use `test`; insert into t1 values( 195 )
master-bin.000001 19021 Query 1 19112 use `test`; insert into t1 values( 194 )
master-bin.000001 19112 Query 1 19203 use `test`; insert into t1 values( 193 )
master-bin.000001 19203 Query 1 19294 use `test`; insert into t1 values( 192 )
master-bin.000001 19294 Query 1 19385 use `test`; insert into t1 values( 191 )
master-bin.000001 19385 Query 1 19476 use `test`; insert into t1 values( 190 )
master-bin.000001 19476 Query 1 19567 use `test`; insert into t1 values( 189 )
master-bin.000001 19567 Query 1 19658 use `test`; insert into t1 values( 188 )
master-bin.000001 19658 Query 1 19749 use `test`; insert into t1 values( 187 )
master-bin.000001 19749 Query 1 19840 use `test`; insert into t1 values( 186 )
master-bin.000001 19840 Query 1 19931 use `test`; insert into t1 values( 185 )
master-bin.000001 19931 Query 1 20022 use `test`; insert into t1 values( 184 )
master-bin.000001 20022 Query 1 20113 use `test`; insert into t1 values( 183 )
master-bin.000001 20113 Query 1 20204 use `test`; insert into t1 values( 182 )
master-bin.000001 20204 Query 1 20295 use `test`; insert into t1 values( 181 )
master-bin.000001 20295 Query 1 20386 use `test`; insert into t1 values( 180 )
master-bin.000001 20386 Query 1 20477 use `test`; insert into t1 values( 179 )
master-bin.000001 20477 Query 1 20568 use `test`; insert into t1 values( 178 )
master-bin.000001 20568 Query 1 20659 use `test`; insert into t1 values( 177 )
master-bin.000001 20659 Query 1 20750 use `test`; insert into t1 values( 176 )
master-bin.000001 20750 Query 1 20841 use `test`; insert into t1 values( 175 )
master-bin.000001 20841 Query 1 20932 use `test`; insert into t1 values( 174 )
master-bin.000001 20932 Query 1 21023 use `test`; insert into t1 values( 173 )
master-bin.000001 21023 Query 1 21114 use `test`; insert into t1 values( 172 )
master-bin.000001 21114 Query 1 21205 use `test`; insert into t1 values( 171 )
master-bin.000001 21205 Query 1 21296 use `test`; insert into t1 values( 170 )
master-bin.000001 21296 Query 1 21387 use `test`; insert into t1 values( 169 )
master-bin.000001 21387 Query 1 21478 use `test`; insert into t1 values( 168 )
master-bin.000001 21478 Query 1 21569 use `test`; insert into t1 values( 167 )
master-bin.000001 21569 Query 1 21660 use `test`; insert into t1 values( 166 )
master-bin.000001 21660 Query 1 21751 use `test`; insert into t1 values( 165 )
master-bin.000001 21751 Query 1 21842 use `test`; insert into t1 values( 164 )
master-bin.000001 21842 Query 1 21933 use `test`; insert into t1 values( 163 )
master-bin.000001 21933 Query 1 22024 use `test`; insert into t1 values( 162 )
master-bin.000001 22024 Query 1 22115 use `test`; insert into t1 values( 161 )
master-bin.000001 22115 Query 1 22206 use `test`; insert into t1 values( 160 )
master-bin.000001 22206 Query 1 22297 use `test`; insert into t1 values( 159 )
master-bin.000001 22297 Query 1 22388 use `test`; insert into t1 values( 158 )
master-bin.000001 22388 Query 1 22479 use `test`; insert into t1 values( 157 )
master-bin.000001 22479 Query 1 22570 use `test`; insert into t1 values( 156 )
master-bin.000001 22570 Query 1 22661 use `test`; insert into t1 values( 155 )
master-bin.000001 22661 Query 1 22752 use `test`; insert into t1 values( 154 )
master-bin.000001 22752 Query 1 22843 use `test`; insert into t1 values( 153 )
master-bin.000001 22843 Query 1 22934 use `test`; insert into t1 values( 152 )
master-bin.000001 22934 Query 1 23025 use `test`; insert into t1 values( 151 )
master-bin.000001 23025 Query 1 23116 use `test`; insert into t1 values( 150 )
master-bin.000001 23116 Query 1 23207 use `test`; insert into t1 values( 149 )
master-bin.000001 23207 Query 1 23298 use `test`; insert into t1 values( 148 )
master-bin.000001 23298 Query 1 23389 use `test`; insert into t1 values( 147 )
master-bin.000001 23389 Query 1 23480 use `test`; insert into t1 values( 146 )
master-bin.000001 23480 Query 1 23571 use `test`; insert into t1 values( 145 )
master-bin.000001 23571 Query 1 23662 use `test`; insert into t1 values( 144 )
master-bin.000001 23662 Query 1 23753 use `test`; insert into t1 values( 143 )
master-bin.000001 23753 Query 1 23844 use `test`; insert into t1 values( 142 )
master-bin.000001 23844 Query 1 23935 use `test`; insert into t1 values( 141 )
master-bin.000001 23935 Query 1 24026 use `test`; insert into t1 values( 140 )
master-bin.000001 24026 Query 1 24117 use `test`; insert into t1 values( 139 )
master-bin.000001 24117 Query 1 24208 use `test`; insert into t1 values( 138 )
master-bin.000001 24208 Query 1 24299 use `test`; insert into t1 values( 137 )
master-bin.000001 24299 Query 1 24390 use `test`; insert into t1 values( 136 )
master-bin.000001 24390 Query 1 24481 use `test`; insert into t1 values( 135 )
master-bin.000001 24481 Query 1 24572 use `test`; insert into t1 values( 134 )
master-bin.000001 24572 Query 1 24663 use `test`; insert into t1 values( 133 )
master-bin.000001 24663 Query 1 24754 use `test`; insert into t1 values( 132 )
master-bin.000001 24754 Query 1 24845 use `test`; insert into t1 values( 131 )
master-bin.000001 24845 Query 1 24936 use `test`; insert into t1 values( 130 )
master-bin.000001 24936 Query 1 25027 use `test`; insert into t1 values( 129 )
master-bin.000001 25027 Query 1 25118 use `test`; insert into t1 values( 128 )
master-bin.000001 25118 Query 1 25209 use `test`; insert into t1 values( 127 )
master-bin.000001 25209 Query 1 25300 use `test`; insert into t1 values( 126 )
master-bin.000001 25300 Query 1 25391 use `test`; insert into t1 values( 125 )
master-bin.000001 25391 Query 1 25482 use `test`; insert into t1 values( 124 )
master-bin.000001 25482 Query 1 25573 use `test`; insert into t1 values( 123 )
master-bin.000001 25573 Query 1 25664 use `test`; insert into t1 values( 122 )
master-bin.000001 25664 Query 1 25755 use `test`; insert into t1 values( 121 )
master-bin.000001 25755 Query 1 25846 use `test`; insert into t1 values( 120 )
master-bin.000001 25846 Query 1 25937 use `test`; insert into t1 values( 119 )
master-bin.000001 25937 Query 1 26028 use `test`; insert into t1 values( 118 )
master-bin.000001 26028 Query 1 26119 use `test`; insert into t1 values( 117 )
master-bin.000001 26119 Query 1 26210 use `test`; insert into t1 values( 116 )
master-bin.000001 26210 Query 1 26301 use `test`; insert into t1 values( 115 )
master-bin.000001 26301 Query 1 26392 use `test`; insert into t1 values( 114 )
master-bin.000001 26392 Query 1 26483 use `test`; insert into t1 values( 113 )
master-bin.000001 26483 Query 1 26574 use `test`; insert into t1 values( 112 )
master-bin.000001 26574 Query 1 26665 use `test`; insert into t1 values( 111 )
master-bin.000001 26665 Query 1 26756 use `test`; insert into t1 values( 110 )
master-bin.000001 26756 Query 1 26847 use `test`; insert into t1 values( 109 )
master-bin.000001 26847 Query 1 26938 use `test`; insert into t1 values( 108 )
master-bin.000001 26938 Query 1 27029 use `test`; insert into t1 values( 107 )
master-bin.000001 27029 Query 1 27120 use `test`; insert into t1 values( 106 )
master-bin.000001 27120 Query 1 27211 use `test`; insert into t1 values( 105 )
master-bin.000001 27211 Query 1 27302 use `test`; insert into t1 values( 104 )
master-bin.000001 27302 Query 1 27393 use `test`; insert into t1 values( 103 )
master-bin.000001 27393 Query 1 27484 use `test`; insert into t1 values( 102 )
master-bin.000001 27484 Query 1 27575 use `test`; insert into t1 values( 101 )
master-bin.000001 27575 Query 1 27666 use `test`; insert into t1 values( 100 )
master-bin.000001 27666 Query 1 27756 use `test`; insert into t1 values( 99 )
master-bin.000001 27756 Query 1 27846 use `test`; insert into t1 values( 98 )
master-bin.000001 27846 Query 1 27936 use `test`; insert into t1 values( 97 )
master-bin.000001 27936 Query 1 28026 use `test`; insert into t1 values( 96 )
master-bin.000001 28026 Query 1 28116 use `test`; insert into t1 values( 95 )
master-bin.000001 28116 Query 1 28206 use `test`; insert into t1 values( 94 )
master-bin.000001 28206 Query 1 28296 use `test`; insert into t1 values( 93 )
master-bin.000001 28296 Query 1 28386 use `test`; insert into t1 values( 92 )
master-bin.000001 28386 Query 1 28476 use `test`; insert into t1 values( 91 )
master-bin.000001 28476 Query 1 28566 use `test`; insert into t1 values( 90 )
master-bin.000001 28566 Query 1 28656 use `test`; insert into t1 values( 89 )
master-bin.000001 28656 Query 1 28746 use `test`; insert into t1 values( 88 )
master-bin.000001 28746 Query 1 28836 use `test`; insert into t1 values( 87 )
master-bin.000001 28836 Query 1 28926 use `test`; insert into t1 values( 86 )
master-bin.000001 28926 Query 1 29016 use `test`; insert into t1 values( 85 )
master-bin.000001 29016 Query 1 29106 use `test`; insert into t1 values( 84 )
master-bin.000001 29106 Query 1 29196 use `test`; insert into t1 values( 83 )
master-bin.000001 29196 Query 1 29286 use `test`; insert into t1 values( 82 )
master-bin.000001 29286 Query 1 29376 use `test`; insert into t1 values( 81 )
master-bin.000001 29376 Query 1 29466 use `test`; insert into t1 values( 80 )
master-bin.000001 29466 Query 1 29556 use `test`; insert into t1 values( 79 )
master-bin.000001 29556 Query 1 29646 use `test`; insert into t1 values( 78 )
master-bin.000001 29646 Query 1 29736 use `test`; insert into t1 values( 77 )
master-bin.000001 29736 Query 1 29826 use `test`; insert into t1 values( 76 )
master-bin.000001 29826 Query 1 29916 use `test`; insert into t1 values( 75 )
master-bin.000001 29916 Query 1 30006 use `test`; insert into t1 values( 74 )
master-bin.000001 30006 Query 1 30096 use `test`; insert into t1 values( 73 )
master-bin.000001 30096 Query 1 30186 use `test`; insert into t1 values( 72 )
master-bin.000001 30186 Query 1 30276 use `test`; insert into t1 values( 71 )
master-bin.000001 30276 Query 1 30366 use `test`; insert into t1 values( 70 )
master-bin.000001 30366 Query 1 30456 use `test`; insert into t1 values( 69 )
master-bin.000001 30456 Query 1 30546 use `test`; insert into t1 values( 68 )
master-bin.000001 30546 Query 1 30636 use `test`; insert into t1 values( 67 )
master-bin.000001 30636 Query 1 30726 use `test`; insert into t1 values( 66 )
master-bin.000001 30726 Query 1 30816 use `test`; insert into t1 values( 65 )
master-bin.000001 30816 Query 1 30906 use `test`; insert into t1 values( 64 )
master-bin.000001 30906 Query 1 30996 use `test`; insert into t1 values( 63 )
master-bin.000001 30996 Query 1 31086 use `test`; insert into t1 values( 62 )
master-bin.000001 31086 Query 1 31176 use `test`; insert into t1 values( 61 )
master-bin.000001 31176 Query 1 31266 use `test`; insert into t1 values( 60 )
master-bin.000001 31266 Query 1 31356 use `test`; insert into t1 values( 59 )
master-bin.000001 31356 Query 1 31446 use `test`; insert into t1 values( 58 )
master-bin.000001 31446 Query 1 31536 use `test`; insert into t1 values( 57 )
master-bin.000001 31536 Query 1 31626 use `test`; insert into t1 values( 56 )
master-bin.000001 31626 Query 1 31716 use `test`; insert into t1 values( 55 )
master-bin.000001 31716 Query 1 31806 use `test`; insert into t1 values( 54 )
master-bin.000001 31806 Query 1 31896 use `test`; insert into t1 values( 53 )
master-bin.000001 31896 Query 1 31986 use `test`; insert into t1 values( 52 )
master-bin.000001 31986 Query 1 32076 use `test`; insert into t1 values( 51 )
master-bin.000001 32076 Query 1 32166 use `test`; insert into t1 values( 50 )
master-bin.000001 32166 Query 1 32256 use `test`; insert into t1 values( 49 )
master-bin.000001 32256 Query 1 32346 use `test`; insert into t1 values( 48 )
master-bin.000001 32346 Query 1 32436 use `test`; insert into t1 values( 47 )
master-bin.000001 32436 Query 1 32526 use `test`; insert into t1 values( 46 )
master-bin.000001 32526 Query 1 32616 use `test`; insert into t1 values( 45 )
master-bin.000001 32616 Query 1 32706 use `test`; insert into t1 values( 44 )
master-bin.000001 32706 Query 1 32796 use `test`; insert into t1 values( 43 )
master-bin.000001 32796 Query 1 32886 use `test`; insert into t1 values( 42 )
master-bin.000001 32886 Query 1 32976 use `test`; insert into t1 values( 41 )
master-bin.000001 32976 Query 1 33066 use `test`; insert into t1 values( 40 )
master-bin.000001 33066 Query 1 33156 use `test`; insert into t1 values( 39 )
master-bin.000001 33156 Query 1 33246 use `test`; insert into t1 values( 38 )
master-bin.000001 33246 Query 1 33336 use `test`; insert into t1 values( 37 )
master-bin.000001 33336 Query 1 33426 use `test`; insert into t1 values( 36 )
master-bin.000001 33426 Query 1 33516 use `test`; insert into t1 values( 35 )
master-bin.000001 33516 Query 1 33606 use `test`; insert into t1 values( 34 )
master-bin.000001 33606 Query 1 33696 use `test`; insert into t1 values( 33 )
master-bin.000001 33696 Query 1 33786 use `test`; insert into t1 values( 32 )
master-bin.000001 33786 Query 1 33876 use `test`; insert into t1 values( 31 )
master-bin.000001 33876 Query 1 33966 use `test`; insert into t1 values( 30 )
master-bin.000001 33966 Query 1 34056 use `test`; insert into t1 values( 29 )
master-bin.000001 34056 Query 1 34146 use `test`; insert into t1 values( 28 )
master-bin.000001 34146 Query 1 34236 use `test`; insert into t1 values( 27 )
master-bin.000001 34236 Query 1 34326 use `test`; insert into t1 values( 26 )
master-bin.000001 34326 Query 1 34416 use `test`; insert into t1 values( 25 )
master-bin.000001 34416 Query 1 34506 use `test`; insert into t1 values( 24 )
master-bin.000001 34506 Query 1 34596 use `test`; insert into t1 values( 23 )
master-bin.000001 34596 Query 1 34686 use `test`; insert into t1 values( 22 )
master-bin.000001 34686 Query 1 34776 use `test`; insert into t1 values( 21 )
master-bin.000001 34776 Query 1 34866 use `test`; insert into t1 values( 20 )
master-bin.000001 34866 Query 1 34956 use `test`; insert into t1 values( 19 )
master-bin.000001 34956 Query 1 35046 use `test`; insert into t1 values( 18 )
master-bin.000001 35046 Query 1 35136 use `test`; insert into t1 values( 17 )
master-bin.000001 35136 Query 1 35226 use `test`; insert into t1 values( 16 )
master-bin.000001 35226 Query 1 35316 use `test`; insert into t1 values( 15 )
master-bin.000001 35316 Query 1 35406 use `test`; insert into t1 values( 14 )
master-bin.000001 35406 Query 1 35496 use `test`; insert into t1 values( 13 )
master-bin.000001 35496 Query 1 35586 use `test`; insert into t1 values( 12 )
master-bin.000001 35586 Query 1 35676 use `test`; insert into t1 values( 11 )
master-bin.000001 35676 Query 1 35766 use `test`; insert into t1 values( 10 )
master-bin.000001 35766 Query 1 35855 use `test`; insert into t1 values( 9 )
master-bin.000001 35855 Query 1 35944 use `test`; insert into t1 values( 8 )
master-bin.000001 35944 Query 1 36033 use `test`; insert into t1 values( 7 )
master-bin.000001 36033 Query 1 36122 use `test`; insert into t1 values( 6 )
master-bin.000001 36122 Query 1 36211 use `test`; insert into t1 values( 5 )
master-bin.000001 36211 Query 1 36300 use `test`; insert into t1 values( 4 )
master-bin.000001 36300 Query 1 36389 use `test`; insert into t1 values( 3 )
master-bin.000001 36389 Query 1 36478 use `test`; insert into t1 values( 2 )
master-bin.000001 36478 Query 1 36567 use `test`; insert into t1 values( 1 )
master-bin.000001 36567 Xid 1 36594 COMMIT /* XID */
master-bin.000001 36594 Rotate 1 36638 master-bin.000002;pos=4
drop table t1;
set global binlog_cache_size=@bcs;
set session autocommit = @ac;
@ -590,10 +590,10 @@ deallocate prepare stmt;
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 106 Server version, Binlog ver: 4
master-bin.000001 106 Query 1 227 use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
master-bin.000001 227 Query 1 351 use `test`; insert into t1 values (9999999999999999,14632475938453979136)
master-bin.000001 351 Query 1 427 use `test`; drop table t1
master-bin.000001 4 Format_desc 1 107 Server version, Binlog ver: 4
master-bin.000001 107 Query 1 228 use `test`; create table t1 (a bigint unsigned, b bigint(20) unsigned)
master-bin.000001 228 Query 1 352 use `test`; insert into t1 values (9999999999999999,14632475938453979136)
master-bin.000001 352 Query 1 428 use `test`; drop table t1
reset master;
CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE bug39182;
@ -764,14 +764,14 @@ drop table if exists t3;
create table t3 (a int(11) NOT NULL AUTO_INCREMENT, b text, PRIMARY KEY (a) ) engine=innodb;
show master status;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000001 346
master-bin.000001 347
insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
insert into t3(b) values ('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');
show master status /* must show new binlog index after rotating */;
File Position Binlog_Do_DB Binlog_Ignore_DB
master-bin.000002 106
master-bin.000002 107
drop table t3;
#
# Bug #45998: database crashes when running "create as select"

View file

@ -1,3 +1,4 @@
reset master;
create table foo (a int);
flush logs;
create temporary table tmp1_foo like foo;

View file

@ -25,9 +25,22 @@ let $MYSQLD_DATADIR= `select @@datadir`;
copy_file $MYSQL_TEST_DIR/std_data/bug33029-slave-relay-bin.000001 $MYSQLD_DATADIR/slave-relay-bin.000001;
write_file $MYSQLD_DATADIR/slave-relay-bin.index;
slave-relay-bin.000001
EOF
# After patch for BUG#12190, the filename used in CHANGE MASTER
# RELAY_LOG_FILE will be automatically added the directory of the
# relay log before comparison, thus we need to added the directory
# part (./ on unix .\ on windows) when faking the relay-log-bin.index.
disable_query_log;
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") = 0`)
{
eval select './slave-relay-bin.000001\n' into dumpfile '$MYSQLD_DATADIR/slave-relay-bin.index';
}
if (`select convert(@@version_compile_os using latin1) IN ("Win32","Win64","Windows") != 0`)
{
eval select '.\\\\slave-relay-bin.000001\n' into dumpfile '$MYSQLD_DATADIR/slave-relay-bin.index';
}
enable_query_log;
change master to
MASTER_HOST='dummy.localdomain',

View file

@ -0,0 +1,63 @@
# The purpose of this test is to test that setting autocommit does a
# commit of outstanding transactions and nothing is left pending in
# the transaction cache.
source include/have_log_bin.inc;
source include/have_innodb.inc;
# We need a transactional engine, so let's use InnoDB
CREATE TABLE t1 (id INT) ENGINE = InnoDB;
# Testing SET AUTOCOMMIT
SET BINLOG_FORMAT = STATEMENT;
let $cleanup = COMMIT;
let $prepare = SET AUTOCOMMIT = 0;
let $statement = SET AUTOCOMMIT = 1;
source extra/binlog_tests/implicit.test;
let $prepare = SET AUTOCOMMIT = 1;
let $statement = SET AUTOCOMMIT = 1;
source extra/binlog_tests/implicit.test;
let $prepare = SET AUTOCOMMIT = 0;
let $statement = SET AUTOCOMMIT = 0;
source extra/binlog_tests/implicit.test;
let $prepare = SET AUTOCOMMIT = 1;
let $statement = SET AUTOCOMMIT = 0;
source extra/binlog_tests/implicit.test;
SET BINLOG_FORMAT = ROW;
let $prepare = SET AUTOCOMMIT = 0;
let $statement = SET AUTOCOMMIT = 1;
source extra/binlog_tests/implicit.test;
let $prepare = SET AUTOCOMMIT = 1;
let $statement = SET AUTOCOMMIT = 1;
source extra/binlog_tests/implicit.test;
let $prepare = SET AUTOCOMMIT = 0;
let $statement = SET AUTOCOMMIT = 0;
source extra/binlog_tests/implicit.test;
let $prepare = SET AUTOCOMMIT = 1;
let $statement = SET AUTOCOMMIT = 0;
source extra/binlog_tests/implicit.test;
RESET MASTER;
SET AUTOCOMMIT = 0;
INSERT INTO t1 VALUES (1);
source include/show_binlog_events.inc;
LOCK TABLES t1 WRITE;
source include/show_binlog_events.inc;
INSERT INTO t1 VALUES (2);
source include/show_binlog_events.inc;
UNLOCK TABLES;
source include/show_binlog_events.inc;
COMMIT;
source include/show_binlog_events.inc;
# Cleaning up
DROP TABLE t1;

View file

@ -19,9 +19,9 @@ REPLACE INTO t1 VALUES (4);
DROP TABLE t1;
FLUSH LOGS;
exec $MYSQL_BINLOG --start-position=106 $MYSQLD_DATADIR/master-bin.000001 >$MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;
exec $MYSQL_BINLOG --start-position=107 $MYSQLD_DATADIR/master-bin.000001 >$MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;
--disable_query_log
eval SELECT cont LIKE '%RELOAD DATABASE; # Shall generate syntax error%' AS `Contain RELOAD DATABASE` FROM (SELECT load_file('$MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql') AS cont) AS tbl;
--enable_query_log
remove_file $MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;
remove_file $MYSQLTEST_VARDIR/tmp/binlog_incident-bug44442.sql;

View file

@ -155,7 +155,8 @@ reset master;
UPDATE t2,t1 SET t2.a=t1.a+2;
# check
select * from t2 /* must be (3,1), (4,4) */;
show master status /* there must no UPDATE in binlog */;
--echo there must no UPDATE in binlog
source include/show_master_status.inc;
# B. testing multi_update::send_error() execution branch
delete from t1;
@ -165,7 +166,8 @@ insert into t2 values (1,2),(3,4),(4,4);
reset master;
--error ER_DUP_ENTRY
UPDATE t2,t1 SET t2.a=t2.b where t2.a=t1.a;
show master status /* there must be no UPDATE query event */;
--echo there must no UPDATE in binlog
source include/show_master_status.inc;
# cleanup bug#27716
drop table t1, t2;

View file

@ -51,7 +51,7 @@ reap;
let $rows= `select count(*) from t2 /* must be 2 or 0 */`;
let $MYSQLD_DATADIR= `select @@datadir`;
--exec $MYSQL_BINLOG --force-if-open --start-position=134 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog
--exec $MYSQL_BINLOG --force-if-open --start-position=135 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval select
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/kill_query_calling_sp.binlog"))

View file

@ -24,7 +24,7 @@ update t1 set a=2 /* will be "killed" after work has been done */;
# for some constants like the offset of the first real event
# that is different between severs versions.
let $MYSQLD_DATADIR= `select @@datadir`;
--exec $MYSQL_BINLOG --force-if-open --start-position=106 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
--exec $MYSQL_BINLOG --force-if-open --start-position=107 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval select
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))
@ -52,7 +52,7 @@ load data infile '../../std_data/rpl_loaddata.dat' into table t2 /* will be "kil
source include/show_binlog_events.inc;
--exec $MYSQL_BINLOG --force-if-open --start-position=98 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
--exec $MYSQL_BINLOG --force-if-open --start-position=107 $MYSQLD_DATADIR/master-bin.000001 > $MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
eval select
(@a:=load_file("$MYSQLTEST_VARDIR/tmp/binlog_killed_bug27571.binlog"))

Some files were not shown because too many files have changed in this diff Show more