Auto-merge from mysql-5.5-merge.

This commit is contained in:
Alexander Nozdrin 2010-08-30 18:07:40 +04:00
commit f0fe6e4dac
417 changed files with 23645 additions and 6252 deletions

View File

@ -997,6 +997,7 @@ libmysqld/.deps/sql_cursor.Po
libmysqld/.deps/sql_db.Po libmysqld/.deps/sql_db.Po
libmysqld/.deps/sql_delete.Po libmysqld/.deps/sql_delete.Po
libmysqld/.deps/sql_truncate.Po libmysqld/.deps/sql_truncate.Po
libmysqld/.deps/sql_reload.Po
libmysqld/.deps/datadict.Po libmysqld/.deps/datadict.Po
libmysqld/.deps/sql_derived.Po libmysqld/.deps/sql_derived.Po
libmysqld/.deps/sql_do.Po libmysqld/.deps/sql_do.Po
@ -1175,6 +1176,7 @@ libmysqld/sql_cursor.h
libmysqld/sql_db.cc libmysqld/sql_db.cc
libmysqld/sql_delete.cc libmysqld/sql_delete.cc
libmysqld/sql_truncate.cc libmysqld/sql_truncate.cc
libmysqld/sql_reload.cc
libmysqld/datadict.cc libmysqld/datadict.cc
libmysqld/sql_derived.cc libmysqld/sql_derived.cc
libmysqld/sql_do.cc libmysqld/sql_do.cc
@ -2067,6 +2069,7 @@ sql/.deps/sql_cursor.Po
sql/.deps/sql_db.Po sql/.deps/sql_db.Po
sql/.deps/sql_delete.Po sql/.deps/sql_delete.Po
sql/.deps/sql_truncate.Po sql/.deps/sql_truncate.Po
sql/.deps/sql_reload.Po
sql/.deps/datadict.Po sql/.deps/datadict.Po
sql/.deps/sql_derived.Po sql/.deps/sql_derived.Po
sql/.deps/sql_do.Po sql/.deps/sql_do.Po

View File

@ -264,7 +264,8 @@ test-full-qa:
# Headers which need to be checked for abi/api compatibility. # Headers which need to be checked for abi/api compatibility.
# #
API_PREPROCESSOR_HEADER = $(top_srcdir)/include/mysql/plugin.h \ API_PREPROCESSOR_HEADER = $(top_srcdir)/include/mysql/plugin_audit.h \
$(top_srcdir)/include/mysql/plugin_ftparser.h \
$(top_srcdir)/include/mysql.h \ $(top_srcdir)/include/mysql.h \
$(top_srcdir)/include/mysql/psi/psi_abi_v1.h \ $(top_srcdir)/include/mysql/psi/psi_abi_v1.h \
$(top_srcdir)/include/mysql/psi/psi_abi_v2.h $(top_srcdir)/include/mysql/psi/psi_abi_v2.h

View File

@ -93,6 +93,7 @@ extern "C" {
#else #else
#include <readline/readline.h> #include <readline/readline.h>
#define HAVE_READLINE #define HAVE_READLINE
#define USE_POPEN
#endif #endif
//int vidattr(long unsigned int attrs); // Was missing in sun curses //int vidattr(long unsigned int attrs); // Was missing in sun curses
} }
@ -108,10 +109,6 @@ extern "C" {
#define cmp_database(cs,A,B) strcmp((A),(B)) #define cmp_database(cs,A,B) strcmp((A),(B))
#endif #endif
#if !defined(__WIN__) && !defined(THREAD)
#define USE_POPEN
#endif
#include "completion_hash.h" #include "completion_hash.h"
#define PROMPT_CHAR '\\' #define PROMPT_CHAR '\\'

View File

@ -6228,8 +6228,10 @@ get_one_option(int optid, const struct my_option *opt, char *argument)
print_version(); print_version();
exit(0); exit(0);
case OPT_MYSQL_PROTOCOL: case OPT_MYSQL_PROTOCOL:
#ifndef EMBEDDED_LIBRARY
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib, opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
opt->name); opt->name);
#endif
break; break;
case '?': case '?':
usage(); usage();

View File

@ -15,7 +15,8 @@
# #
# Headers which need to be checked for abi/api compatibility are in # Headers which need to be checked for abi/api compatibility are in
# API_PREPROCESSOR_HEADER. # API_PREPROCESSOR_HEADER. plugin.h is tested implicitly via
# plugin_audit.h and plugin_ftparser.h.
# #
# We use gcc specific preprocessing command and sed/diff, so it will # We use gcc specific preprocessing command and sed/diff, so it will
# only be run on Unix and only if gcc is used. # only be run on Unix and only if gcc is used.
@ -27,7 +28,8 @@ IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME MATCHES "Linux")
SET(COMPILER ${CMAKE_C_COMPILER}) SET(COMPILER ${CMAKE_C_COMPILER})
ENDIF() ENDIF()
SET(API_PREPROCESSOR_HEADER SET(API_PREPROCESSOR_HEADER
${CMAKE_SOURCE_DIR}/include/mysql/plugin.h ${CMAKE_SOURCE_DIR}/include/mysql/plugin_audit.h
${CMAKE_SOURCE_DIR}/include/mysql/plugin_ftparser.h
${CMAKE_SOURCE_DIR}/include/mysql.h ${CMAKE_SOURCE_DIR}/include/mysql.h
${CMAKE_SOURCE_DIR}/include/mysql/psi/psi_abi_v1.h ${CMAKE_SOURCE_DIR}/include/mysql/psi/psi_abi_v1.h
${CMAKE_SOURCE_DIR}/include/mysql/psi/psi_abi_v2.h ${CMAKE_SOURCE_DIR}/include/mysql/psi/psi_abi_v2.h
@ -38,18 +40,18 @@ IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_SYSTEM_NAME MATCHES "Linux")
-DCOMPILER=${COMPILER} -DCOMPILER=${COMPILER}
-DSOURCE_DIR=${CMAKE_SOURCE_DIR} -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
-DBINARY_DIR=${CMAKE_BINARY_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR}
"-DDMYSQL_ABI_CHECK -DABI_HEADERS=${API_PREPROCESSOR_HEADER}" "-DABI_HEADERS=${API_PREPROCESSOR_HEADER}"
-P ${CMAKE_SOURCE_DIR}/cmake/do_abi_check.cmake -P ${CMAKE_SOURCE_DIR}/cmake/do_abi_check.cmake
VERBATIM VERBATIM
) )
ADD_CUSTOM_TARGET(abi_check_all ADD_CUSTOM_TARGET(abi_check_all
COMMAND ${CMAKE_COMMAND} COMMAND ${CMAKE_COMMAND}
-DCMAKE_C_COMPILER=${COMPILER} -DCOMPILER=${COMPILER}
-DCMAKE_SOURCE_DIR=${CMAKE_SOURCE_DIR} -DSOURCE_DIR=${CMAKE_SOURCE_DIR}
-DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} -DBINARY_DIR=${CMAKE_BINARY_DIR}
"-DMYSQL_ABI_CHECK -DABI_HEADERS=${API_PREPROCESSOR_HEADER}" "-DABI_HEADERS=${API_PREPROCESSOR_HEADER}"
-P ${CMAKE_SOURCE_DIR}/cmake/scripts/do_abi_check.cmake -P ${CMAKE_SOURCE_DIR}/cmake/do_abi_check.cmake
VERBATIM VERBATIM
) )
ENDIF() ENDIF()

View File

@ -56,8 +56,9 @@ FOREACH(file ${ABI_HEADERS})
SET(tmpfile ${file}.pp.tmp) SET(tmpfile ${file}.pp.tmp)
EXECUTE_PROCESS( EXECUTE_PROCESS(
COMMAND ${COMPILER} COMMAND ${COMPILER}
-E -nostdinc -dI -I${SOURCE_DIR}/include -I${BINARY_DIR}/include -E -nostdinc -dI -DMYSQL_ABI_CHECK -I${SOURCE_DIR}/include
-I${SOURCE_DIR}/include/mysql -I${SOURCE_DIR}/sql ${file} -I${BINARY_DIR}/include -I${SOURCE_DIR}/include/mysql -I${SOURCE_DIR}/sql
${file}
ERROR_QUIET OUTPUT_FILE ${tmpfile}) ERROR_QUIET OUTPUT_FILE ${tmpfile})
EXECUTE_PROCESS( EXECUTE_PROCESS(
COMMAND sed -e COMMAND sed -e

View File

@ -782,7 +782,7 @@ dnl Emits shell script for checking configure arguments
dnl Arguments to this macro is default value for selected plugins dnl Arguments to this macro is default value for selected plugins
AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARGS],[ AC_DEFUN([_MYSQL_CHECK_PLUGIN_ARGS],[
__MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [none])) __MYSQL_CHECK_PLUGIN_ARGS(m4_default([$1], [default]))
]) ])
AC_DEFUN([__MYSQL_CHECK_PLUGIN_ARGS],[ AC_DEFUN([__MYSQL_CHECK_PLUGIN_ARGS],[

View File

@ -27,7 +27,7 @@ dnl
dnl When changing the major version number please also check the switch dnl When changing the major version number please also check the switch
dnl statement in mysqlbinlog::check_master_version(). You may also need dnl statement in mysqlbinlog::check_master_version(). You may also need
dnl to update version.c in ndb. dnl to update version.c in ndb.
AC_INIT([MySQL Server], [5.5.6-m3], [], [mysql]) AC_INIT([MySQL Server], [5.5.7-m3], [], [mysql])
AC_CONFIG_SRCDIR([sql/mysqld.cc]) AC_CONFIG_SRCDIR([sql/mysqld.cc])
AC_CANONICAL_SYSTEM AC_CANONICAL_SYSTEM
@ -2606,7 +2606,7 @@ MYSQL_STORAGE_ENGINE(partition, partition, [Partition Support],
dnl -- ndbcluster requires partition to be enabled dnl -- ndbcluster requires partition to be enabled
MYSQL_CONFIGURE_PLUGINS([none]) MYSQL_CONFIGURE_PLUGINS([default])
# Only build client code? # Only build client code?
AC_ARG_WITH(server, AC_ARG_WITH(server,

View File

@ -601,6 +601,8 @@ int my_pthread_fastmutex_lock(my_pthread_fastmutex_t *mp);
#define rw_trywrlock(A) my_rw_trywrlock((A)) #define rw_trywrlock(A) my_rw_trywrlock((A))
#define rw_unlock(A) my_rw_unlock((A)) #define rw_unlock(A) my_rw_unlock((A))
#define rwlock_destroy(A) my_rw_destroy((A)) #define rwlock_destroy(A) my_rw_destroy((A))
#define rw_lock_assert_write_owner(A) my_rw_lock_assert_write_owner((A))
#define rw_lock_assert_not_write_owner(A) my_rw_lock_assert_not_write_owner((A))
#endif /* USE_MUTEX_INSTEAD_OF_RW_LOCKS */ #endif /* USE_MUTEX_INSTEAD_OF_RW_LOCKS */
@ -624,6 +626,8 @@ extern int rw_pr_init(rw_pr_lock_t *);
#define rw_pr_trywrlock(A) pthread_rwlock_trywrlock(A) #define rw_pr_trywrlock(A) pthread_rwlock_trywrlock(A)
#define rw_pr_unlock(A) pthread_rwlock_unlock(A) #define rw_pr_unlock(A) pthread_rwlock_unlock(A)
#define rw_pr_destroy(A) pthread_rwlock_destroy(A) #define rw_pr_destroy(A) pthread_rwlock_destroy(A)
#define rw_pr_lock_assert_write_owner(A)
#define rw_pr_lock_assert_not_write_owner(A)
#else #else
/* Otherwise we have to use our own implementation of read/write locks. */ /* Otherwise we have to use our own implementation of read/write locks. */
#define NEED_MY_RW_LOCK 1 #define NEED_MY_RW_LOCK 1
@ -636,6 +640,8 @@ extern int rw_pr_init(struct st_my_rw_lock_t *);
#define rw_pr_trywrlock(A) my_rw_trywrlock((A)) #define rw_pr_trywrlock(A) my_rw_trywrlock((A))
#define rw_pr_unlock(A) my_rw_unlock((A)) #define rw_pr_unlock(A) my_rw_unlock((A))
#define rw_pr_destroy(A) my_rw_destroy((A)) #define rw_pr_destroy(A) my_rw_destroy((A))
#define rw_pr_lock_assert_write_owner(A) my_rw_lock_assert_write_owner((A))
#define rw_pr_lock_assert_not_write_owner(A) my_rw_lock_assert_not_write_owner((A))
#endif /* defined(HAVE_PTHREAD_RWLOCK_RDLOCK) && defined(HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP) */ #endif /* defined(HAVE_PTHREAD_RWLOCK_RDLOCK) && defined(HAVE_PTHREAD_RWLOCKATTR_SETKIND_NP) */
@ -651,6 +657,9 @@ typedef struct st_my_rw_lock_t {
int state; /* -1:writer,0:free,>0:readers */ int state; /* -1:writer,0:free,>0:readers */
int waiters; /* number of waiting writers */ int waiters; /* number of waiting writers */
my_bool prefer_readers; my_bool prefer_readers;
#ifdef SAFE_MUTEX
pthread_t write_thread;
#endif
} my_rw_lock_t; } my_rw_lock_t;
extern int my_rw_init(my_rw_lock_t *, my_bool *); extern int my_rw_init(my_rw_lock_t *, my_bool *);
@ -660,6 +669,17 @@ extern int my_rw_wrlock(my_rw_lock_t *);
extern int my_rw_unlock(my_rw_lock_t *); extern int my_rw_unlock(my_rw_lock_t *);
extern int my_rw_tryrdlock(my_rw_lock_t *); extern int my_rw_tryrdlock(my_rw_lock_t *);
extern int my_rw_trywrlock(my_rw_lock_t *); extern int my_rw_trywrlock(my_rw_lock_t *);
#ifdef SAFE_MUTEX
#define my_rw_lock_assert_write_owner(A) \
DBUG_ASSERT((A)->state == -1 && pthread_equal(pthread_self(), \
(A)->write_thread))
#define my_rw_lock_assert_not_write_owner(A) \
DBUG_ASSERT((A)->state >= 0 || ! pthread_equal(pthread_self(), \
(A)->write_thread))
#else
#define my_rw_lock_assert_write_owner(A)
#define my_rw_lock_assert_not_write_owner(A)
#endif
#endif /* NEED_MY_RW_LOCK */ #endif /* NEED_MY_RW_LOCK */

View File

@ -528,6 +528,7 @@ long long thd_test_options(const MYSQL_THD thd, long long test_options);
int thd_sql_command(const MYSQL_THD thd); int thd_sql_command(const MYSQL_THD thd);
const char *thd_proc_info(MYSQL_THD thd, const char *info); const char *thd_proc_info(MYSQL_THD thd, const char *info);
void **thd_ha_data(const MYSQL_THD thd, const struct handlerton *hton); void **thd_ha_data(const MYSQL_THD thd, const struct handlerton *hton);
void thd_storage_lock_wait(MYSQL_THD thd, long long value);
int thd_tx_isolation(const MYSQL_THD thd); int thd_tx_isolation(const MYSQL_THD thd);
char *thd_security_context(MYSQL_THD thd, char *buffer, unsigned int length, char *thd_security_context(MYSQL_THD thd, char *buffer, unsigned int length,
unsigned int max_query_len); unsigned int max_query_len);

View File

@ -0,0 +1,217 @@
#include "plugin.h"
#include <mysql/services.h>
#include <mysql/service_my_snprintf.h>
extern struct my_snprintf_service_st {
size_t (*my_snprintf_type)(char*, size_t, const char*, ...);
size_t (*my_vsnprintf_type)(char *, size_t, const char*, va_list);
} *my_snprintf_service;
size_t my_snprintf(char* to, size_t n, const char* fmt, ...);
size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap);
#include <mysql/service_thd_alloc.h>
struct st_mysql_lex_string
{
char *str;
size_t length;
};
typedef struct st_mysql_lex_string MYSQL_LEX_STRING;
extern struct thd_alloc_service_st {
void *(*thd_alloc_func)(void*, unsigned int);
void *(*thd_calloc_func)(void*, unsigned int);
char *(*thd_strdup_func)(void*, const char *);
char *(*thd_strmake_func)(void*, const char *, unsigned int);
void *(*thd_memdup_func)(void*, const void*, unsigned int);
MYSQL_LEX_STRING *(*thd_make_lex_string_func)(void*, MYSQL_LEX_STRING *,
const char *, unsigned int, int);
} *thd_alloc_service;
void *thd_alloc(void* thd, unsigned int size);
void *thd_calloc(void* thd, unsigned int size);
char *thd_strdup(void* thd, const char *str);
char *thd_strmake(void* thd, const char *str, unsigned int size);
void *thd_memdup(void* thd, const void* str, unsigned int size);
MYSQL_LEX_STRING *thd_make_lex_string(void* thd, MYSQL_LEX_STRING *lex_str,
const char *str, unsigned int size,
int allocate_lex_string);
#include <mysql/service_thd_wait.h>
typedef enum _thd_wait_type_e {
THD_WAIT_MUTEX= 1,
THD_WAIT_DISKIO= 2,
THD_WAIT_ROW_TABLE_LOCK= 3,
THD_WAIT_GLOBAL_LOCK= 4
} thd_wait_type;
extern struct thd_wait_service_st {
void (*thd_wait_begin_func)(void*, thd_wait_type);
void (*thd_wait_end_func)(void*);
} *thd_wait_service;
void thd_wait_begin(void* thd, thd_wait_type wait_type);
void thd_wait_end(void* thd);
#include <mysql/service_thread_scheduler.h>
struct scheduler_functions;
extern struct my_thread_scheduler_service {
int (*set)(struct scheduler_functions *scheduler);
int (*reset)();
} *my_thread_scheduler_service;
int my_thread_scheduler_set(struct scheduler_functions *scheduler);
int my_thread_scheduler_reset();
struct st_mysql_xid {
long formatID;
long gtrid_length;
long bqual_length;
char data[128];
};
typedef struct st_mysql_xid MYSQL_XID;
enum enum_mysql_show_type
{
SHOW_UNDEF, SHOW_BOOL, SHOW_INT, SHOW_LONG,
SHOW_LONGLONG, SHOW_CHAR, SHOW_CHAR_PTR,
SHOW_ARRAY, SHOW_FUNC, SHOW_DOUBLE,
SHOW_always_last
};
struct st_mysql_show_var {
const char *name;
char *value;
enum enum_mysql_show_type type;
};
typedef int (*mysql_show_var_func)(void*, struct st_mysql_show_var*, char *);
struct st_mysql_sys_var;
struct st_mysql_value;
typedef int (*mysql_var_check_func)(void* thd,
struct st_mysql_sys_var *var,
void *save, struct st_mysql_value *value);
typedef void (*mysql_var_update_func)(void* thd,
struct st_mysql_sys_var *var,
void *var_ptr, const void *save);
struct st_mysql_plugin
{
int type;
void *info;
const char *name;
const char *author;
const char *descr;
int license;
int (*init)(void *);
int (*deinit)(void *);
unsigned int version;
struct st_mysql_show_var *status_vars;
struct st_mysql_sys_var **system_vars;
void * __reserved1;
};
#include "plugin_ftparser.h"
#include "plugin.h"
enum enum_ftparser_mode
{
MYSQL_FTPARSER_SIMPLE_MODE= 0,
MYSQL_FTPARSER_WITH_STOPWORDS= 1,
MYSQL_FTPARSER_FULL_BOOLEAN_INFO= 2
};
enum enum_ft_token_type
{
FT_TOKEN_EOF= 0,
FT_TOKEN_WORD= 1,
FT_TOKEN_LEFT_PAREN= 2,
FT_TOKEN_RIGHT_PAREN= 3,
FT_TOKEN_STOPWORD= 4
};
typedef struct st_mysql_ftparser_boolean_info
{
enum enum_ft_token_type type;
int yesno;
int weight_adjust;
char wasign;
char trunc;
char prev;
char *quot;
} MYSQL_FTPARSER_BOOLEAN_INFO;
typedef struct st_mysql_ftparser_param
{
int (*mysql_parse)(struct st_mysql_ftparser_param *,
char *doc, int doc_len);
int (*mysql_add_word)(struct st_mysql_ftparser_param *,
char *word, int word_len,
MYSQL_FTPARSER_BOOLEAN_INFO *boolean_info);
void *ftparser_state;
void *mysql_ftparam;
struct charset_info_st *cs;
char *doc;
int length;
int flags;
enum enum_ftparser_mode mode;
} MYSQL_FTPARSER_PARAM;
struct st_mysql_ftparser
{
int interface_version;
int (*parse)(MYSQL_FTPARSER_PARAM *param);
int (*init)(MYSQL_FTPARSER_PARAM *param);
int (*deinit)(MYSQL_FTPARSER_PARAM *param);
};
struct st_mysql_daemon
{
int interface_version;
};
struct st_mysql_information_schema
{
int interface_version;
};
struct st_mysql_storage_engine
{
int interface_version;
};
struct handlerton;
struct Mysql_replication {
int interface_version;
};
struct st_mysql_value
{
int (*value_type)(struct st_mysql_value *);
const char *(*val_str)(struct st_mysql_value *, char *buffer, int *length);
int (*val_real)(struct st_mysql_value *, double *realbuf);
int (*val_int)(struct st_mysql_value *, long long *intbuf);
int (*is_unsigned)(struct st_mysql_value *);
};
int thd_in_lock_tables(const void* thd);
int thd_tablespace_op(const void* thd);
long long thd_test_options(const void* thd, long long test_options);
int thd_sql_command(const void* thd);
const char *thd_proc_info(void* thd, const char *info);
void **thd_ha_data(const void* thd, const struct handlerton *hton);
void thd_storage_lock_wait(void* thd, long long value);
int thd_tx_isolation(const void* thd);
char *thd_security_context(void* thd, char *buffer, unsigned int length,
unsigned int max_query_len);
void thd_inc_row_count(void* thd);
int mysql_tmpfile(const char *prefix);
int thd_killed(const void* thd);
unsigned long thd_get_thread_id(const void* thd);
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);
void *thd_get_ha_data(const void* thd, const struct handlerton *hton);
void thd_set_ha_data(void* thd, const struct handlerton *hton,
const void *ha_data);
struct mysql_event
{
unsigned int event_class;
};
struct mysql_event_general
{
unsigned int event_class;
unsigned int event_subclass;
int general_error_code;
unsigned long general_thread_id;
const char *general_user;
unsigned int general_user_length;
const char *general_command;
unsigned int general_command_length;
const char *general_query;
unsigned int general_query_length;
struct charset_info_st *general_charset;
unsigned long long general_time;
unsigned long long general_rows;
};
struct st_mysql_audit
{
int interface_version;
void (*release_thd)(void*);
void (*event_notify)(void*, const struct mysql_event *);
unsigned long class_mask[1];
};

View File

@ -1,3 +1,4 @@
#include "plugin.h"
#include <mysql/services.h> #include <mysql/services.h>
#include <mysql/service_my_snprintf.h> #include <mysql/service_my_snprintf.h>
extern struct my_snprintf_service_st { extern struct my_snprintf_service_st {
@ -95,7 +96,51 @@ struct st_mysql_plugin
void * __reserved1; void * __reserved1;
}; };
#include "plugin_ftparser.h" #include "plugin_ftparser.h"
#include "plugin.h" struct st_mysql_daemon
{
int interface_version;
};
struct st_mysql_information_schema
{
int interface_version;
};
struct st_mysql_storage_engine
{
int interface_version;
};
struct handlerton;
struct Mysql_replication {
int interface_version;
};
struct st_mysql_value
{
int (*value_type)(struct st_mysql_value *);
const char *(*val_str)(struct st_mysql_value *, char *buffer, int *length);
int (*val_real)(struct st_mysql_value *, double *realbuf);
int (*val_int)(struct st_mysql_value *, long long *intbuf);
int (*is_unsigned)(struct st_mysql_value *);
};
int thd_in_lock_tables(const void* thd);
int thd_tablespace_op(const void* thd);
long long thd_test_options(const void* thd, long long test_options);
int thd_sql_command(const void* thd);
const char *thd_proc_info(void* thd, const char *info);
void **thd_ha_data(const void* thd, const struct handlerton *hton);
void thd_storage_lock_wait(void* thd, long long value);
int thd_tx_isolation(const void* thd);
char *thd_security_context(void* thd, char *buffer, unsigned int length,
unsigned int max_query_len);
void thd_inc_row_count(void* thd);
int mysql_tmpfile(const char *prefix);
int thd_killed(const void* thd);
unsigned long thd_get_thread_id(const void* thd);
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);
void *thd_get_ha_data(const void* thd, const struct handlerton *hton);
void thd_set_ha_data(void* thd, const struct handlerton *hton,
const void *ha_data);
enum enum_ftparser_mode enum enum_ftparser_mode
{ {
MYSQL_FTPARSER_SIMPLE_MODE= 0, MYSQL_FTPARSER_SIMPLE_MODE= 0,
@ -142,47 +187,3 @@ struct st_mysql_ftparser
int (*init)(MYSQL_FTPARSER_PARAM *param); int (*init)(MYSQL_FTPARSER_PARAM *param);
int (*deinit)(MYSQL_FTPARSER_PARAM *param); int (*deinit)(MYSQL_FTPARSER_PARAM *param);
}; };
struct st_mysql_daemon
{
int interface_version;
};
struct st_mysql_information_schema
{
int interface_version;
};
struct st_mysql_storage_engine
{
int interface_version;
};
struct handlerton;
struct Mysql_replication {
int interface_version;
};
struct st_mysql_value
{
int (*value_type)(struct st_mysql_value *);
const char *(*val_str)(struct st_mysql_value *, char *buffer, int *length);
int (*val_real)(struct st_mysql_value *, double *realbuf);
int (*val_int)(struct st_mysql_value *, long long *intbuf);
int (*is_unsigned)(struct st_mysql_value *);
};
int thd_in_lock_tables(const void* thd);
int thd_tablespace_op(const void* thd);
long long thd_test_options(const void* thd, long long test_options);
int thd_sql_command(const void* thd);
const char *thd_proc_info(void* thd, const char *info);
void **thd_ha_data(const void* thd, const struct handlerton *hton);
int thd_tx_isolation(const void* thd);
char *thd_security_context(void* thd, char *buffer, unsigned int length,
unsigned int max_query_len);
void thd_inc_row_count(void* thd);
int mysql_tmpfile(const char *prefix);
int thd_killed(const void* thd);
unsigned long thd_get_thread_id(const void* thd);
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);
void *thd_get_ha_data(const void* thd, const struct handlerton *hton);
void thd_set_ha_data(void* thd, const struct handlerton *hton,
const void *ha_data);

View File

@ -215,6 +215,14 @@ typedef struct st_mysql_cond mysql_cond_t;
#define mysql_mutex_assert_not_owner(M) \ #define mysql_mutex_assert_not_owner(M) \
safe_mutex_assert_not_owner(&(M)->m_mutex) safe_mutex_assert_not_owner(&(M)->m_mutex)
/** Wrappers for instrumented prlock objects. */
#define mysql_prlock_assert_write_owner(M) \
rw_pr_lock_assert_write_owner(&(M)->m_prlock)
#define mysql_prlock_assert_not_write_owner(M) \
rw_pr_lock_assert_not_write_owner(&(M)->m_prlock)
/** /**
@def mysql_mutex_init(K, M, A) @def mysql_mutex_init(K, M, A)
Instrumented mutex_init. Instrumented mutex_init.

View File

@ -64,7 +64,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/sql_db.cc ../sql/sql_delete.cc ../sql/sql_derived.cc ../sql/sql_db.cc ../sql/sql_delete.cc ../sql/sql_derived.cc
../sql/sql_do.cc ../sql/sql_error.cc ../sql/sql_handler.cc ../sql/sql_do.cc ../sql/sql_error.cc ../sql/sql_handler.cc
../sql/sql_help.cc ../sql/sql_insert.cc ../sql/datadict.cc ../sql/sql_help.cc ../sql/sql_insert.cc ../sql/datadict.cc
../sql/sql_truncate.cc ../sql/sql_admin.cc ../sql/sql_truncate.cc ../sql/sql_reload.cc
../sql/sql_lex.cc ../sql/keycaches.cc ../sql/sql_lex.cc ../sql/keycaches.cc
../sql/sql_list.cc ../sql/sql_load.cc ../sql/sql_locale.cc ../sql/sql_list.cc ../sql/sql_load.cc ../sql/sql_locale.cc
../sql/sql_binlog.cc ../sql/sql_manager.cc ../sql/sql_binlog.cc ../sql/sql_manager.cc
@ -80,6 +80,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
../sql/sql_time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc ../sql/sql_time.cc ../sql/tztime.cc ../sql/uniques.cc ../sql/unireg.cc
../sql/partition_info.cc ../sql/sql_connect.cc ../sql/partition_info.cc ../sql/sql_connect.cc
../sql/scheduler.cc ../sql/sql_audit.cc ../sql/scheduler.cc ../sql/sql_audit.cc
../sql/sql_alter.cc ../sql/sql_partition_admin.cc
../sql/event_parse_data.cc ../sql/event_parse_data.cc
../sql/sql_signal.cc ../sql/rpl_handler.cc ../sql/sql_signal.cc ../sql/rpl_handler.cc
../sql/rpl_utility.cc ../sql/rpl_utility.cc

View File

@ -63,7 +63,8 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \
protocol.cc net_serv.cc opt_range.cc \ protocol.cc net_serv.cc opt_range.cc \
opt_sum.cc procedure.cc records.cc sql_acl.cc \ opt_sum.cc procedure.cc records.cc sql_acl.cc \
sql_load.cc discover.cc sql_locale.cc \ sql_load.cc discover.cc sql_locale.cc \
sql_profile.cc sql_truncate.cc datadict.cc \ sql_profile.cc sql_admin.cc sql_truncate.cc datadict.cc \
sql_reload.cc \
sql_analyse.cc sql_base.cc sql_cache.cc sql_class.cc \ sql_analyse.cc sql_base.cc sql_cache.cc sql_class.cc \
sql_crypt.cc sql_db.cc sql_delete.cc sql_error.cc sql_insert.cc \ sql_crypt.cc sql_db.cc sql_delete.cc sql_error.cc sql_insert.cc \
sql_lex.cc sql_list.cc sql_manager.cc \ sql_lex.cc sql_list.cc sql_manager.cc \
@ -78,9 +79,10 @@ sqlsources = derror.cc field.cc field_conv.cc strfunc.cc filesort.cc \
parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \ parse_file.cc sql_view.cc sql_trigger.cc my_decimal.cc \
rpl_filter.cc sql_partition.cc sql_builtin.cc sql_plugin.cc \ rpl_filter.cc sql_partition.cc sql_builtin.cc sql_plugin.cc \
debug_sync.cc sql_tablespace.cc transaction.cc \ debug_sync.cc sql_tablespace.cc transaction.cc \
rpl_injector.cc my_user.c partition_info.cc \ rpl_injector.cc my_user.c partition_info.cc sql_alter.cc \
sql_servers.cc event_parse_data.cc sql_signal.cc \ sql_servers.cc event_parse_data.cc sql_signal.cc \
rpl_handler.cc mdl.cc keycaches.cc sql_audit.cc rpl_handler.cc mdl.cc keycaches.cc sql_audit.cc \
sql_partition_admin.cc
libmysqld_int_a_SOURCES= $(libmysqld_sources) libmysqld_int_a_SOURCES= $(libmysqld_sources)
nodist_libmysqld_int_a_SOURCES= $(libmysqlsources) $(sqlsources) nodist_libmysqld_int_a_SOURCES= $(libmysqlsources) $(sqlsources)

View File

@ -16,6 +16,7 @@
INSTALL( INSTALL(
DIRECTORY . DIRECTORY .
DESTINATION ${INSTALL_MYSQLTESTDIR} DESTINATION ${INSTALL_MYSQLTESTDIR}
USE_SOURCE_PERMISSIONS
COMPONENT Test COMPONENT Test
PATTERN "var/" EXCLUDE PATTERN "var/" EXCLUDE
PATTERN "lib/My/SafeProcess" EXCLUDE PATTERN "lib/My/SafeProcess" EXCLUDE

View File

@ -262,7 +262,6 @@ DROP TABLE IF EXISTS t2;
CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb;
INSERT INTO t1 VALUES (4,4); INSERT INTO t1 VALUES (4,4);
--error ER_DUP_ENTRY
CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
SELECT * from t2; SELECT * from t2;
TRUNCATE table t2; TRUNCATE table t2;
@ -277,11 +276,9 @@ CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)) engine=innodb ;
INSERT INTO t1 values (7,7); INSERT INTO t1 values (7,7);
ROLLBACK; ROLLBACK;
INSERT INTO t1 values (8,8); INSERT INTO t1 values (8,8);
--error ER_DUP_ENTRY
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
COMMIT; COMMIT;
INSERT INTO t1 values (9,9); INSERT INTO t1 values (9,9);
--error ER_DUP_ENTRY
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ROLLBACK; ROLLBACK;
SELECT * from t2; SELECT * from t2;
@ -291,11 +288,9 @@ INSERT INTO t1 values (10,10);
INSERT INTO t2 select * from t1; INSERT INTO t2 select * from t1;
SELECT * from t1; SELECT * from t1;
INSERT INTO t2 values (100,100); INSERT INTO t2 values (100,100);
--error ER_DUP_ENTRY
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
COMMIT; COMMIT;
INSERT INTO t2 values (101,101); INSERT INTO t2 values (101,101);
--error ER_DUP_ENTRY
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ROLLBACK; ROLLBACK;
SELECT * from t2; SELECT * from t2;
@ -377,7 +372,8 @@ reset master;
begin; begin;
insert into ti values (1); insert into ti values (1);
insert into ti values (2) ; insert into ti values (2) ;
# This is SAFE because --binlog-direct-non-transactional-updates=FALSE
insert into tt select * from ti; insert into tt select * from ti;
rollback; rollback;

View File

@ -24,6 +24,7 @@ reset master;
begin; begin;
insert into ti values (1); insert into ti values (1);
insert into ti values (2) ; insert into ti values (2) ;
# This is SAFE because --binlog-direct-non-transactional-updates=FALSE
insert into tt select * from ti; insert into tt select * from ti;
rollback; rollback;

View File

@ -725,7 +725,7 @@ while (`SELECT HEX(@commands) != HEX('')`)
--eval SET @check_temp='$available_n_temp' --eval SET @check_temp='$available_n_temp'
--eval SET @table_temp='$table_n' --eval SET @table_temp='$table_n'
SET @check_temp= LTRIM(SUBSTRING(@check_temp, LENGTH(@table_temp) + 2)); SET @check_temp= LTRIM(SUBSTRING(@check_temp, LENGTH(@table_temp) + 2));
--let $available_t_temp= `SELECT @check_temp` --let $available_n_temp= `SELECT @check_temp`
--enable_query_log --enable_query_log
--eval DROP TEMPORARY TABLE $table_t, $table_n --eval DROP TEMPORARY TABLE $table_t, $table_n

View File

@ -378,9 +378,12 @@ sync_slave_with_master;
let $MYSQLD_DATADIR= `SELECT @@datadir`; let $MYSQLD_DATADIR= `SELECT @@datadir`;
--exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLD_DATADIR/test-temporary-master.sql if (`select @@session.binlog_format != 'STATEMENT'`)
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLD_DATADIR/test-temporary-slave.sql {
--diff_files $MYSQLD_DATADIR/test-temporary-master.sql $MYSQLD_DATADIR/test-temporary-slave.sql --exec $MYSQL_DUMP --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLD_DATADIR/test-temporary-master.sql
--exec $MYSQL_DUMP_SLAVE --compact --order-by-primary --skip-extended-insert --no-create-info test > $MYSQLD_DATADIR/test-temporary-slave.sql
--diff_files $MYSQLD_DATADIR/test-temporary-master.sql $MYSQLD_DATADIR/test-temporary-slave.sql
}
--echo ######################################################################### --echo #########################################################################
--echo # CLEAN --echo # CLEAN

View File

@ -153,7 +153,7 @@ connection master;
let $wait_condition= let $wait_condition=
SELECT COUNT(*) = 1 FROM information_schema.processlist SELECT COUNT(*) = 1 FROM information_schema.processlist
WHERE info = "RENAME TABLE t1 TO t3, t2 TO t1" and WHERE info = "RENAME TABLE t1 TO t3, t2 TO t1" and
state = "Waiting for table"; state = "Waiting for table metadata lock";
--source include/wait_condition.inc --source include/wait_condition.inc
COMMIT; COMMIT;

View File

@ -43,7 +43,8 @@ connection default;
# of our statement. # of our statement.
let $wait_condition= let $wait_condition=
select count(*) = 1 from information_schema.processlist select count(*) = 1 from information_schema.processlist
where state = "Table lock" and info = "insert into $table (i) values (0)"; where state = "Waiting for table level lock" and
info = "insert into $table (i) values (0)";
--source include/wait_condition.inc --source include/wait_condition.inc
--disable_result_log --disable_result_log

View File

@ -723,7 +723,7 @@ call p_verify_status_increment(4, 4, 4, 4);
--echo # Sic: no table is created. --echo # Sic: no table is created.
create table if not exists t2 (a int) select 6 union select 7; create table if not exists t2 (a int) select 6 union select 7;
--echo # Sic: first commits the statement, and then the transaction. --echo # Sic: first commits the statement, and then the transaction.
call p_verify_status_increment(2, 0, 4, 4); call p_verify_status_increment(2, 0, 2, 0);
create table t3 select a from t2; create table t3 select a from t2;
call p_verify_status_increment(2, 0, 4, 4); call p_verify_status_increment(2, 0, 4, 4);
alter table t3 add column (b int); alter table t3 add column (b int);

View File

@ -1625,6 +1625,108 @@ SET @x=aswkt(point(1,2));
SELECT charset(@x), collation(@x); SELECT charset(@x), collation(@x);
--echo #
--echo # Bug#54916 GROUP_CONCAT + IFNULL truncates output
--echo #
SELECT @@collation_connection;
# ENGINE=MYISAM is very important to make sure "SYSTEM" join type
# is in use, which will create instances of Item_copy.
CREATE TABLE t1 (a MEDIUMINT NULL) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1234567);
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
if (`SELECT @@character_set_connection != 'ucs2'`)
{
# Temporarily disable for ucs2
# For details, see Bug#55744 GROUP_CONCAT + CASE + ucs return garbage
SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
}
--enable_metadata
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
--disable_metadata
--echo # All columns must be VARCHAR(9) with the same length:
--disable_warnings
CREATE TABLE t2 AS
SELECT
CONCAT(a),
IFNULL(a,''),
IF(a,a,''),
CASE WHEN a THEN a ELSE '' END,
COALESCE(a,'')
FROM t1;
--enable_warnings
# The above query is expected to send a warning
# in case of ucs2 character set, until Bug#55744 is fixed.
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT CONCAT_WS(1,2,3) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT INSERT(1133,3,0,22) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LCASE(a) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT UCASE(a) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPEAT(1,2) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LEFT(123,2) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RIGHT(123,2) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT ELT(1,111,222,333) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPLACE(111,2,3) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SUBSTRING_INDEX(111,111,1) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT MAKE_SET(111,222,3) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SOUNDEX(1) FROM t1;
SHOW CREATE TABLE t2;
DROP TABLE t2;
CREATE TABLE t2 AS SELECT EXPORT_SET(1,'Y','N','',8);
SHOW CREATE TABLE t2;
DROP TABLE t2;
DROP TABLE t1;
--echo #
--echo # End of Bug#54916
--echo #
--echo # --echo #
--echo # Bug#52159 returning time type from function and empty left join causes debug assertion --echo # Bug#52159 returning time type from function and empty left join causes debug assertion
--echo # --echo #

View File

@ -159,7 +159,7 @@ drop table if exists A;
create table A (c int); create table A (c int);
insert into A (c) values (0); insert into A (c) values (0);
--error 0,ER_LOCK_DEADLOCK,ER_UPDATE_TABLE_USED --error 0,ER_LOCK_DEADLOCK,ER_TABLE_EXISTS_ERROR
create table a as select * from A; create table a as select * from A;
drop table A; drop table A;

View File

@ -523,7 +523,7 @@ connection waiter;
--echo connection: waiter --echo connection: waiter
let $wait_condition= let $wait_condition=
select count(*) = 1 from information_schema.processlist select count(*) = 1 from information_schema.processlist
where state = "Flushing tables"; where state = "Waiting for table flush";
--source include/wait_condition.inc --source include/wait_condition.inc
connection default; connection default;
--echo connection: default --echo connection: default
@ -557,7 +557,8 @@ connection waiter;
--echo connection: waiter --echo connection: waiter
let $wait_condition= let $wait_condition=
select count(*) = 1 from information_schema.processlist select count(*) = 1 from information_schema.processlist
where state = "Waiting for table" and info = "rename table t1 to t0"; where state = "Waiting for table metadata lock" and
info = "rename table t1 to t0";
--source include/wait_condition.inc --source include/wait_condition.inc
connection default; connection default;
--echo connection: default --echo connection: default
@ -743,7 +744,8 @@ send alter table t1 engine=memory;
connection con2; connection con2;
let $wait_condition= let $wait_condition=
select count(*) = 1 from information_schema.processlist select count(*) = 1 from information_schema.processlist
where state = "Waiting for table" and info = "alter table t1 engine=memory"; where state = "Waiting for table metadata lock" and
info = "alter table t1 engine=memory";
--source include/wait_condition.inc --source include/wait_condition.inc
connection default; connection default;
--error ER_ILLEGAL_HA --error ER_ILLEGAL_HA
@ -764,7 +766,8 @@ send alter table t1 engine=memory;
connection con2; connection con2;
let $wait_condition= let $wait_condition=
select count(*) = 1 from information_schema.processlist select count(*) = 1 from information_schema.processlist
where state = "Waiting for table" and info = "alter table t1 engine=memory"; where state = "Waiting for table metadata lock" and
info = "alter table t1 engine=memory";
--source include/wait_condition.inc --source include/wait_condition.inc
connection default; connection default;
--echo # Since S metadata lock was already acquired at HANDLER OPEN time --echo # Since S metadata lock was already acquired at HANDLER OPEN time
@ -1024,7 +1027,9 @@ connection con1;
--echo # --> connection con2 --echo # --> connection con2
connection con2; connection con2;
--echo # Waitng for 'drop table t1' to get blocked... --echo # Waitng for 'drop table t1' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t1'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t1';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # --> connection default --echo # --> connection default
connection default; connection default;
@ -1055,7 +1060,9 @@ connection con1;
--echo # --> connection con2 --echo # --> connection con2
connection con2; connection con2;
--echo # Waiting for 'drop table t1' to get blocked... --echo # Waiting for 'drop table t1' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t1'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t1';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # --> connection default --echo # --> connection default
connection default; connection default;
@ -1097,7 +1104,8 @@ send rename table t0 to t3, t1 to t0, t3 to t1;
connection con1; connection con1;
--echo # Waiting for 'rename table ...' to get blocked... --echo # Waiting for 'rename table ...' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table' and info='rename table t0 to t3, t1 to t0, t3 to t1'; where state='Waiting for table metadata lock' and
info='rename table t0 to t3, t1 to t0, t3 to t1';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # --> connection default --echo # --> connection default
connection default; connection default;
@ -1137,7 +1145,9 @@ connection con2;
--echo # --> connection con1 --echo # --> connection con1
connection con1; connection con1;
--echo # Waiting for 'drop table t2' to get blocked... --echo # Waiting for 'drop table t2' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t2'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t2';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # --> connection default --echo # --> connection default
connection default; connection default;
@ -1146,7 +1156,9 @@ send select * from t2;
--echo # --> connection con1 --echo # --> connection con1
connection con1; connection con1;
--echo # Waiting for 'select * from t2' to get blocked... --echo # Waiting for 'select * from t2' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='select * from t2'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='select * from t2';
unlock tables; unlock tables;
--echo # --> connection con2 --echo # --> connection con2
connection con2; connection con2;
@ -1190,10 +1202,14 @@ connection default;
--echo # --> connection con3 --echo # --> connection con3
connection con3; connection con3;
--echo # Waiting for 'drop table t1' to get blocked... --echo # Waiting for 'drop table t1' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t1'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t1';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # Waiting for 'drop table t2' to get blocked... --echo # Waiting for 'drop table t2' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t2'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t2';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # Demonstrate that t2 lock was released and t2 was dropped --echo # Demonstrate that t2 lock was released and t2 was dropped
--echo # after ROLLBACK TO SAVEPOINT --echo # after ROLLBACK TO SAVEPOINT
@ -1255,10 +1271,14 @@ connection default;
--echo # --> connection con3 --echo # --> connection con3
connection con3; connection con3;
--echo # Waiting for 'drop table t1' to get blocked... --echo # Waiting for 'drop table t1' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t1'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t1';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # Waiting for 'drop table t2' to get blocked... --echo # Waiting for 'drop table t2' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t2'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t2';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # Demonstrate that t2 lock was released and t2 was dropped --echo # Demonstrate that t2 lock was released and t2 was dropped
--echo # after ROLLBACK TO SAVEPOINT --echo # after ROLLBACK TO SAVEPOINT
@ -1314,7 +1334,9 @@ drop table t1, t2;
--echo # --> connection con2 --echo # --> connection con2
connection con2; connection con2;
--echo # Waiting for 'drop table t3' to get blocked... --echo # Waiting for 'drop table t3' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t3'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t3';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # Demonstrate that ROLLBACK TO SAVEPOINT didn't release the handler --echo # Demonstrate that ROLLBACK TO SAVEPOINT didn't release the handler
--echo # lock. --echo # lock.
@ -1348,7 +1370,9 @@ send drop table t2;
--echo # --> connection con2 --echo # --> connection con2
connection con2; connection con2;
--echo # Waiting for 'drop table t2' to get blocked... --echo # Waiting for 'drop table t2' to get blocked...
let $wait_condition=select count(*)=1 from information_schema.processlist where state='Waiting for table' and info='drop table t2'; let $wait_condition=select count(*)=1 from information_schema.processlist
where state='Waiting for table metadata lock' and
info='drop table t2';
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # --> connection con1 --echo # --> connection con1
connection con1; connection con1;
@ -1400,7 +1424,8 @@ connection con2;
--echo # has read from the table commits. --echo # has read from the table commits.
let $wait_condition= let $wait_condition=
select count(*) = 1 from information_schema.processlist select count(*) = 1 from information_schema.processlist
where state = "Waiting for table" and info = "lock tables t1 write"; where state = "Waiting for table metadata lock" and
info = "lock tables t1 write";
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # --> connection default --echo # --> connection default
@ -1427,7 +1452,8 @@ connection con1;
--echo # Waiting for 'handler t1 read a next' to get blocked... --echo # Waiting for 'handler t1 read a next' to get blocked...
let $wait_condition= let $wait_condition=
select count(*) = 1 from information_schema.processlist select count(*) = 1 from information_schema.processlist
where state = "Table lock" and info = "handler t1 read a next"; where state = "Waiting for table level lock" and
info = "handler t1 read a next";
--source include/wait_condition.inc --source include/wait_condition.inc
--echo # The below 'drop table t1' should be able to proceed without --echo # The below 'drop table t1' should be able to proceed without

View File

@ -1,10 +0,0 @@
disable_query_log;
disable_result_log;
set @have_thread_concurrency=0;
select @have_thread_concurrency:=1 from information_schema.global_variables where variable_name='thread_concurrency';
if (`select @have_thread_concurrency = 0`)
{
skip Need @@thread_concurrency;
}
enable_result_log;
enable_query_log;

View File

@ -742,7 +742,6 @@ drop table if exists t2;
CREATE TABLE t2 (a int, b int, primary key (a)); CREATE TABLE t2 (a int, b int, primary key (a));
BEGIN; BEGIN;
INSERT INTO t2 values(100,100); INSERT INTO t2 values(100,100);
--error ER_DUP_ENTRY
CREATE TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1; CREATE TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1;
SELECT * from t2; SELECT * from t2;
ROLLBACK; ROLLBACK;
@ -756,13 +755,11 @@ drop table t2;
CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)); CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a));
BEGIN; BEGIN;
INSERT INTO t2 values(100,100); INSERT INTO t2 values(100,100);
--error ER_DUP_ENTRY
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1;
SELECT * from t2; SELECT * from t2;
COMMIT; COMMIT;
BEGIN; BEGIN;
INSERT INTO t2 values(101,101); INSERT INTO t2 values(101,101);
--error ER_DUP_ENTRY
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1;
SELECT * from t2; SELECT * from t2;
ROLLBACK; ROLLBACK;
@ -1583,7 +1580,7 @@ connect (con1, localhost, root,,);
--echo # Connection default --echo # Connection default
connection default; connection default;
let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist let $wait_condition= SELECT COUNT(*)=1 FROM information_schema.processlist
WHERE state='Waiting for table' AND info='TRUNCATE TABLE t1'; WHERE state='Waiting for table metadata lock' AND info='TRUNCATE TABLE t1';
--source include/wait_condition.inc --source include/wait_condition.inc
SELECT * FROM t1 ORDER BY a; SELECT * FROM t1 ORDER BY a;
ROLLBACK; ROLLBACK;

View File

@ -5,7 +5,7 @@
--source include/not_windows.inc --source include/not_windows.inc
--source include/not_embedded.inc --source include/not_embedded.inc
if ($MYSQLHOTCOPY) if (!$MYSQLHOTCOPY)
{ {
die due to missing mysqlhotcopy tool; die due to missing mysqlhotcopy tool;
} }

View File

@ -0,0 +1,5 @@
if (`SELECT count(*) FROM information_schema.engines WHERE
(support = 'YES' OR support = 'DEFAULT') AND
engine = 'blackhole'`){
skip Blackhole engine enabled;
}

View File

@ -2155,10 +2155,12 @@ sub environment_setup {
# mysqlhotcopy # mysqlhotcopy
# ---------------------------------------------------- # ----------------------------------------------------
my $mysqlhotcopy= my $mysqlhotcopy=
mtr_pl_maybe_exists("$bindir/scripts/mysqlhotcopy"); mtr_pl_maybe_exists("$bindir/scripts/mysqlhotcopy") ||
# Since mysqltest interprets the real path as "false" in an if, mtr_pl_maybe_exists("$path_client_bindir/mysqlhotcopy");
# use 1 ("true") to indicate "not exists" so it can be tested for if ($mysqlhotcopy)
$ENV{'MYSQLHOTCOPY'}= $mysqlhotcopy || 1; {
$ENV{'MYSQLHOTCOPY'}= $mysqlhotcopy;
}
# ---------------------------------------------------- # ----------------------------------------------------
# perror # perror

View File

@ -469,7 +469,7 @@ drop table t1;
CREATE TABLE t1 ( a INT ); CREATE TABLE t1 ( a INT );
INSERT INTO t1 VALUES (1), (1); INSERT INTO t1 VALUES (1), (1);
CREATE TABLE t2 ( a INT AUTO_INCREMENT KEY ); CREATE TABLE t2 ( a INT AUTO_INCREMENT KEY );
CREATE TABLE IF NOT EXISTS t2 AS SELECT a FROM t1; INSERT INTO t2 SELECT a FROM t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
UPDATE t2 SET a = 2; UPDATE t2 SET a = 2;
SELECT a FROM t2; SELECT a FROM t2;

View File

@ -160,6 +160,8 @@ t1 CREATE TABLE `t1` (
`COALESCE('a' COLLATE latin1_bin,'b')` varchar(1) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT '' `COALESCE('a' COLLATE latin1_bin,'b')` varchar(1) CHARACTER SET latin1 COLLATE latin1_bin NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 SELECT IFNULL('a' COLLATE latin1_swedish_ci, 'b' COLLATE latin1_bin);
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'ifnull'
SELECT 'case+union+test' SELECT 'case+union+test'
UNION UNION
SELECT CASE LOWER('1') WHEN LOWER('2') THEN 'BUG' ELSE 'nobug' END; SELECT CASE LOWER('1') WHEN LOWER('2') THEN 'BUG' ELSE 'nobug' END;

View File

@ -830,7 +830,7 @@ create table if not exists t2 (a int) select 6 union select 7;
Warnings: Warnings:
Note 1050 Table 't2' already exists Note 1050 Table 't2' already exists
# Sic: first commits the statement, and then the transaction. # Sic: first commits the statement, and then the transaction.
call p_verify_status_increment(2, 0, 4, 4); call p_verify_status_increment(2, 0, 2, 0);
SUCCESS SUCCESS
create table t3 select a from t2; create table t3 select a from t2;

View File

@ -1,5 +1,6 @@
drop table if exists t1,t2,t3,t4,t5; drop table if exists t1,t2,t3,t4,t5;
drop database if exists mysqltest; drop database if exists mysqltest;
drop view if exists v1;
create table t1 (b char(0)); create table t1 (b char(0));
insert into t1 values (""),(null); insert into t1 values (""),(null);
select * from t1; select * from t1;
@ -264,15 +265,14 @@ create table if not exists t1 select 1,2;
Warnings: Warnings:
Note 1050 Table 't1' already exists Note 1050 Table 't1' already exists
create table if not exists t1 select 1,2,3,4; create table if not exists t1 select 1,2,3,4;
ERROR 21S01: Column count doesn't match value count at row 1 Warnings:
Note 1050 Table 't1' already exists
create table if not exists t1 select 1; create table if not exists t1 select 1;
Warnings: Warnings:
Note 1050 Table 't1' already exists Note 1050 Table 't1' already exists
select * from t1; select * from t1;
1 2 3 1 2 3
1 2 3 1 2 3
0 1 2
0 0 1
drop table t1; drop table t1;
flush status; flush status;
create table t1 (a int not null, b int, primary key (a)); create table t1 (a int not null, b int, primary key (a));
@ -280,28 +280,21 @@ insert into t1 values (1,1);
create table if not exists t1 select 2; create table if not exists t1 select 2;
Warnings: Warnings:
Note 1050 Table 't1' already exists Note 1050 Table 't1' already exists
Warning 1364 Field 'a' doesn't have a default value
select * from t1; select * from t1;
a b a b
1 1 1 1
0 2
create table if not exists t1 select 3 as 'a',4 as 'b'; create table if not exists t1 select 3 as 'a',4 as 'b';
Warnings: Warnings:
Note 1050 Table 't1' already exists Note 1050 Table 't1' already exists
create table if not exists t1 select 3 as 'a',3 as 'b';
ERROR 23000: Duplicate entry '3' for key 'PRIMARY'
show warnings; show warnings;
Level Code Message Level Code Message
Note 1050 Table 't1' already exists Note 1050 Table 't1' already exists
Error 1062 Duplicate entry '3' for key 'PRIMARY'
show status like "Opened_tables"; show status like "Opened_tables";
Variable_name Value Variable_name Value
Opened_tables 2 Opened_tables 2
select * from t1; select * from t1;
a b a b
1 1 1 1
0 2
3 4
drop table t1; drop table t1;
create table `t1 `(a int); create table `t1 `(a int);
ERROR 42000: Incorrect table name 't1 ' ERROR 42000: Incorrect table name 't1 '
@ -611,7 +604,7 @@ b
drop table t1,t2; drop table t1,t2;
create table t1 (a int); create table t1 (a int);
create table t1 select * from t1; create table t1 select * from t1;
ERROR HY000: You can't specify target table 't1' for update in FROM clause ERROR 42S01: Table 't1' already exists
create table t2 union = (t1) select * from t1; create table t2 union = (t1) select * from t1;
ERROR HY000: 'test.t2' is not BASE TABLE ERROR HY000: 'test.t2' is not BASE TABLE
flush tables with read lock; flush tables with read lock;
@ -811,7 +804,8 @@ create table t1 (primary key(a)) select "b" as b;
ERROR 42000: Key column 'a' doesn't exist in table ERROR 42000: Key column 'a' doesn't exist in table
create table t1 (a int); create table t1 (a int);
create table if not exists t1 select 1 as a, 2 as b; create table if not exists t1 select 1 as a, 2 as b;
ERROR 21S01: Column count doesn't match value count at row 1 Warnings:
Note 1050 Table 't1' already exists
drop table t1; drop table t1;
create table t1 (primary key (a)) (select 1 as a) union all (select 1 as a); create table t1 (primary key (a)) (select 1 as a) union all (select 1 as a);
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
@ -823,25 +817,14 @@ Warnings:
Note 1050 Table 't1' already exists Note 1050 Table 't1' already exists
select * from t1; select * from t1;
i i
1
create table if not exists t1 select * from t1; create table if not exists t1 select * from t1;
ERROR HY000: You can't specify target table 't1' for update in FROM clause Warnings:
Note 1050 Table 't1' already exists
select * from t1; select * from t1;
i i
1 drop table t1;
create table t1 select coalesce('a' collate latin1_swedish_ci,'b' collate latin1_bin); create table t1 select coalesce('a' collate latin1_swedish_ci,'b' collate latin1_bin);
ERROR HY000: Illegal mix of collations (latin1_swedish_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'coalesce' ERROR HY000: Illegal mix of collations (latin1_swedish_ci,EXPLICIT) and (latin1_bin,EXPLICIT) for operation 'coalesce'
select * from t1;
i
1
alter table t1 add primary key (i);
create table if not exists t1 (select 2 as i) union all (select 2 as i);
ERROR 23000: Duplicate entry '2' for key 'PRIMARY'
select * from t1;
i
1
2
drop table t1;
create temporary table t1 (j int); create temporary table t1 (j int);
create table if not exists t1 select 1; create table if not exists t1 select 1;
select * from t1; select * from t1;
@ -893,8 +876,6 @@ select * from t2;
i i
1 1
2 2
1
2
unlock tables; unlock tables;
drop table t1, t2; drop table t1, t2;
create table t1 (upgrade int); create table t1 (upgrade int);
@ -1561,6 +1542,7 @@ show status like 'handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -1586,11 +1568,9 @@ CREATE TABLE t1 (a INTEGER AUTO_INCREMENT PRIMARY KEY, b INTEGER NOT NULL);
INSERT IGNORE INTO t1 (b) VALUES (5); INSERT IGNORE INTO t1 (b) VALUES (5);
CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY) CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY)
SELECT a FROM t1; SELECT a FROM t1;
CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY) INSERT INTO t2 SELECT a FROM t1;
SELECT a FROM t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
CREATE TABLE IF NOT EXISTS t2 (a INTEGER NOT NULL AUTO_INCREMENT PRIMARY KEY) INSERT INTO t2 SELECT a FROM t1;
SELECT a FROM t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
DROP TABLE t1, t2; DROP TABLE t1, t2;
# #
@ -1620,7 +1600,7 @@ drop table if exists t2;
Warnings: Warnings:
Note 1051 Unknown table 't2' Note 1051 Unknown table 't2'
CREATE TABLE t2 (a int, b int, primary key (a)); CREATE TABLE t2 (a int, b int, primary key (a));
CREATE TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1; INSERT INTO t2 select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
SELECT * from t2; SELECT * from t2;
a b a b
@ -1633,13 +1613,7 @@ a b
1 1 1 1
drop table t2; drop table t2;
CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a)); CREATE TEMPORARY TABLE t2 (a int, b int, primary key (a));
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) select * from t1; INSERT INTO t2 SELECT * FROM t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
SELECT * from t2;
a b
1 1
TRUNCATE table t2;
INSERT INTO t2 select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
SELECT * from t2; SELECT * from t2;
a b a b
@ -1964,11 +1938,7 @@ CREATE TRIGGER f BEFORE INSERT ON t1 FOR EACH ROW
BEGIN BEGIN
INSERT INTO t1 ( `int` ) VALUES (4 ),( 8 ),( 2 ) ; INSERT INTO t1 ( `int` ) VALUES (4 ),( 8 ),( 2 ) ;
END ; | END ; |
CREATE TABLE IF NOT EXISTS t1 ( INSERT INTO t1 (pk, int_key) SELECT `pk` , `int_key` FROM B ;
`pk` INTEGER NOT NULL AUTO_INCREMENT ,
`int` INTEGER ,
PRIMARY KEY ( `pk` )
) SELECT `pk` , `int_key` FROM B ;
ERROR HY000: Can't update table 't1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger. ERROR HY000: Can't update table 't1' in stored function/trigger because it is already used by statement which invoked this stored function/trigger.
CREATE TRIGGER f BEFORE INSERT ON t1 FOR EACH ROW CREATE TRIGGER f BEFORE INSERT ON t1 FOR EACH ROW
BEGIN BEGIN
@ -2088,3 +2058,347 @@ t2 CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
set @@sql_mode= @old_mode; set @@sql_mode= @old_mode;
drop tables t1, t2; drop tables t1, t2;
CREATE TABLE t1 (id int);
CREATE TABLE t2 (id int);
INSERT INTO t1 VALUES (1), (1);
INSERT INTO t2 VALUES (2), (2);
CREATE VIEW v1 AS SELECT id FROM t2;
CREATE TABLE IF NOT EXISTS v1(a int, b int) SELECT id, id FROM t1;
Warnings:
Note 1050 Table 'v1' already exists
SHOW CREATE TABLE v1;
View Create View character_set_client collation_connection
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `t2`.`id` AS `id` from `t2` latin1 latin1_swedish_ci
SELECT * FROM t2;
id
2
2
SELECT * FROM v1;
id
2
2
DROP VIEW v1;
CREATE TEMPORARY TABLE tt1 AS SELECT id FROM t2;
CREATE TEMPORARY TABLE IF NOT EXISTS tt1(a int, b int) SELECT id, id FROM t1;
Warnings:
Note 1050 Table 'tt1' already exists
SELECT * FROM t2;
id
2
2
SELECT * FROM tt1;
id
2
2
DROP TEMPORARY TABLE tt1;
DROP TABLE t1, t2;
#
# WL#5370 "Changing 'CREATE TABLE IF NOT EXISTS ... SELECT'
# behaviour.
#
#
# 1. Basic case: a base table.
#
create table if not exists t1 (a int) select 1 as a;
select * from t1;
a
1
create table t1 (a int) select 2 as a;
ERROR 42S01: Table 't1' already exists
select * from t1;
a
1
# Produces an essential warning ER_TABLE_EXISTS.
create table if not exists t1 (a int) select 2 as a;
Warnings:
Note 1050 Table 't1' already exists
# No new data in t1.
select * from t1;
a
1
drop table t1;
#
# 2. A temporary table.
#
create temporary table if not exists t1 (a int) select 1 as a;
select * from t1;
a
1
create temporary table t1 (a int) select 2 as a;
ERROR 42S01: Table 't1' already exists
select * from t1;
a
1
# An essential warning.
create temporary table if not exists t1 (a int) select 2 as a;
Warnings:
Note 1050 Table 't1' already exists
# No new data in t1.
select * from t1;
a
1
drop temporary table t1;
#
# 3. Creating a base table in presence of a temporary table.
#
create table t1 (a int);
# Create a view for convenience of querying t1 shadowed by a temp.
create view v1 as select a from t1;
drop table t1;
create temporary table t1 (a int) select 1 as a;
create table if not exists t1 (a int) select 2 as a;
select * from t1;
a
1
select * from v1;
a
2
# Note: an essential warning.
create table if not exists t1 (a int) select 3 as a;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
1
select * from v1;
a
2
drop temporary table t1;
select * from t1;
a
2
drop view v1;
drop table t1;
#
# 4. Creating a temporary table in presence of a base table.
#
create table t1 (a int) select 1 as a;
create temporary table if not exists t1 select 2 as a;
select * from t1;
a
2
# Note: an essential warning.
create temporary table if not exists t1 select 3 as a;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
2
drop temporary table t1;
select * from t1;
a
1
drop table t1;
#
# 5. Creating a base table in presence of an updatable view.
#
create table t2 (a int unique);
create view t1 as select a from t2;
insert into t1 (a) values (1);
create table t1 (a int);
ERROR 42S01: Table 't1' already exists
# Note: an essential warning.
create table if not exists t1 (a int);
Warnings:
Note 1050 Table 't1' already exists
create table t1 (a int) select 2 as a;
ERROR 42S01: Table 't1' already exists
select * from t1;
a
1
# Note: an essential warning.
create table if not exists t1 (a int) select 2 as a;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
1
select * from t2;
a
1
create temporary table if not exists t1 (a int) select 3 as a;
select * from t1;
a
3
select * from t2;
a
1
# Note: an essential warning.
create temporary table if not exists t1 (a int) select 4 as a;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
3
select * from t2;
a
1
drop temporary table t1;
#
# Repeating the test with a non-updatable view.
#
drop view t1;
create view t1 as select a + 5 as a from t2;
insert into t1 (a) values (1);
ERROR HY000: The target table t1 of the INSERT is not insertable-into
update t1 set a=3 where a=2;
ERROR HY000: Column 'a' is not updatable
create table t1 (a int);
ERROR 42S01: Table 't1' already exists
# Note: an essential warning.
create table if not exists t1 (a int);
Warnings:
Note 1050 Table 't1' already exists
create table t1 (a int) select 2 as a;
ERROR 42S01: Table 't1' already exists
select * from t1;
a
6
# Note: an essential warning.
create table if not exists t1 (a int) select 2 as a;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
6
select * from t2;
a
1
create temporary table if not exists t1 (a int) select 3 as a;
select * from t1;
a
3
select * from t2;
a
1
# Note: an essential warning.
create temporary table if not exists t1 (a int) select 4 as a;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
3
select * from t2;
a
1
drop temporary table t1;
drop view t1;
drop table t2;
#
# Repeating the test with a view select a constant number
#
create view t1 as select 1 as a;
insert into t1 (a) values (1);
ERROR HY000: The target table t1 of the INSERT is not insertable-into
update t1 set a=3 where a=2;
ERROR HY000: The target table t1 of the UPDATE is not updatable
create table t1 (a int);
ERROR 42S01: Table 't1' already exists
# Note: an essential warning.
create table if not exists t1 (a int);
Warnings:
Note 1050 Table 't1' already exists
create table t1 (a int) select 2 as a;
ERROR 42S01: Table 't1' already exists
select * from t1;
a
1
# Note: an essential warning.
create table if not exists t1 (a int) select 2 as a;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
1
create temporary table if not exists t1 (a int) select 3 as a;
select * from t1;
a
3
# Note: an essential warning.
create temporary table if not exists t1 (a int) select 4 as a;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
3
drop temporary table t1;
drop view t1;
#
# 6. Test of unique_table().
#
create table t1 (a int) select 1 as a;
create temporary table if not exists t1 (a int) select * from t1;
create temporary table if not exists t1 (a int) select * from t1;
ERROR HY000: Can't reopen table: 't1'
select * from t1;
a
1
drop temporary table t1;
select * from t1;
a
1
drop table t1;
create temporary table t1 (a int) select 1 as a;
create table if not exists t1 (a int) select * from t1;
create table if not exists t1 (a int) select * from t1;
Warnings:
Note 1050 Table 't1' already exists
select * from t1;
a
1
drop temporary table t1;
select * from t1;
a
1
drop table t1;
create table if not exists t1 (a int) select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
#
# 7. Test of non-matching columns, REPLACE and IGNORE.
#
create table t1 (a int) select 1 as b, 2 as c;
select * from t1;
a b c
NULL 1 2
drop table t1;
create table if not exists t1 (a int, b date, c date) select 1 as b, 2 as c;
Warnings:
Warning 1264 Out of range value for column 'b' at row 1
Warning 1264 Out of range value for column 'c' at row 1
select * from t1;
a b c
NULL 0000-00-00 0000-00-00
drop table t1;
set @@session.sql_mode='STRICT_ALL_TABLES';
create table if not exists t1 (a int, b date, c date) select 1 as b, 2 as c;
ERROR 22007: Incorrect date value: '1' for column 'b' at row 1
select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
create table if not exists t1 (a int, b date, c date)
replace select 1 as b, 2 as c;
ERROR 22007: Incorrect date value: '1' for column 'b' at row 1
select * from t1;
ERROR 42S02: Table 'test.t1' doesn't exist
create table if not exists t1 (a int, b date, c date)
ignore select 1 as b, 2 as c;
Warnings:
Warning 1264 Out of range value for column 'b' at row 1
Warning 1264 Out of range value for column 'c' at row 1
select * from t1;
a b c
NULL 0000-00-00 0000-00-00
set @@session.sql_mode=default;
drop table t1;
create table if not exists t1 (a int unique, b int)
replace select 1 as a, 1 as b union select 1 as a, 2 as b;
select * from t1;
a b
1 2
drop table t1;
create table if not exists t1 (a int unique, b int)
ignore select 1 as a, 1 as b union select 1 as a, 2 as b;
select * from t1;
a b
1 1
drop table t1;
#

View File

@ -2598,6 +2598,156 @@ SELECT charset(@x), collation(@x);
charset(@x) collation(@x) charset(@x) collation(@x)
binary binary binary binary
# #
# Bug#54916 GROUP_CONCAT + IFNULL truncates output
#
SELECT @@collation_connection;
@@collation_connection
binary
CREATE TABLE t1 (a MEDIUMINT NULL) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1234567);
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
GROUP_CONCAT(IFNULL(a,''))
1234567
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
GROUP_CONCAT(IF(a,a,''))
1234567
SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END)
1234567
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def COALESCE(a,'') 253 9 7 Y 128 31 63
COALESCE(a,'')
1234567
# All columns must be VARCHAR(9) with the same length:
CREATE TABLE t2 AS
SELECT
CONCAT(a),
IFNULL(a,''),
IF(a,a,''),
CASE WHEN a THEN a ELSE '' END,
COALESCE(a,'')
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`CONCAT(a)` varbinary(9) DEFAULT NULL,
`IFNULL(a,'')` varbinary(9) NOT NULL DEFAULT '',
`IF(a,a,'')` varbinary(9) DEFAULT NULL,
`CASE WHEN a THEN a ELSE '' END` varbinary(9) DEFAULT NULL,
`COALESCE(a,'')` varbinary(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT CONCAT_WS(1,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`CONCAT_WS(1,2,3)` varbinary(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT INSERT(1133,3,0,22) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`INSERT(1133,3,0,22)` varbinary(6) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LCASE(a)` varbinary(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT UCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`UCASE(a)` varbinary(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPEAT(1,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`REPEAT(1,2)` varbinary(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LEFT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LEFT(123,2)` varbinary(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RIGHT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`RIGHT(123,2)` varbinary(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LTRIM(123)` varbinary(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`RTRIM(123)` varbinary(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT ELT(1,111,222,333) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`ELT(1,111,222,333)` varbinary(3) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPLACE(111,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`REPLACE(111,2,3)` varbinary(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SUBSTRING_INDEX(111,111,1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`SUBSTRING_INDEX(111,111,1)` varbinary(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT MAKE_SET(111,222,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`MAKE_SET(111,222,3)` varbinary(5) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SOUNDEX(1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`SOUNDEX(1)` varbinary(4) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT EXPORT_SET(1,'Y','N','',8);
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`EXPORT_SET(1,'Y','N','',8)` varbinary(64) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;
#
# End of Bug#54916
#
#
# Bug#52159 returning time type from function and empty left join causes debug assertion # Bug#52159 returning time type from function and empty left join causes debug assertion
# #
CREATE FUNCTION f1() RETURNS TIME RETURN 1; CREATE FUNCTION f1() RETURNS TIME RETURN 1;

View File

@ -2680,6 +2680,156 @@ SELECT charset(@x), collation(@x);
charset(@x) collation(@x) charset(@x) collation(@x)
cp1251 cp1251_general_ci cp1251 cp1251_general_ci
# #
# Bug#54916 GROUP_CONCAT + IFNULL truncates output
#
SELECT @@collation_connection;
@@collation_connection
cp1251_general_ci
CREATE TABLE t1 (a MEDIUMINT NULL) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1234567);
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
GROUP_CONCAT(IFNULL(a,''))
1234567
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
GROUP_CONCAT(IF(a,a,''))
1234567
SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END)
1234567
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def COALESCE(a,'') 253 9 7 Y 0 31 51
COALESCE(a,'')
1234567
# All columns must be VARCHAR(9) with the same length:
CREATE TABLE t2 AS
SELECT
CONCAT(a),
IFNULL(a,''),
IF(a,a,''),
CASE WHEN a THEN a ELSE '' END,
COALESCE(a,'')
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`CONCAT(a)` varchar(9) CHARACTER SET cp1251 DEFAULT NULL,
`IFNULL(a,'')` varchar(9) CHARACTER SET cp1251 NOT NULL DEFAULT '',
`IF(a,a,'')` varchar(9) CHARACTER SET cp1251 DEFAULT NULL,
`CASE WHEN a THEN a ELSE '' END` varchar(9) CHARACTER SET cp1251 DEFAULT NULL,
`COALESCE(a,'')` varchar(9) CHARACTER SET cp1251 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT CONCAT_WS(1,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`CONCAT_WS(1,2,3)` varchar(3) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT INSERT(1133,3,0,22) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`INSERT(1133,3,0,22)` varchar(6) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LCASE(a)` varchar(9) CHARACTER SET cp1251 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT UCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`UCASE(a)` varchar(9) CHARACTER SET cp1251 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPEAT(1,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`REPEAT(1,2)` varchar(2) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LEFT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LEFT(123,2)` varchar(2) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RIGHT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`RIGHT(123,2)` varchar(2) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LTRIM(123)` varchar(3) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`RTRIM(123)` varchar(3) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT ELT(1,111,222,333) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`ELT(1,111,222,333)` varchar(3) CHARACTER SET cp1251 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPLACE(111,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`REPLACE(111,2,3)` varchar(3) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SUBSTRING_INDEX(111,111,1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`SUBSTRING_INDEX(111,111,1)` varchar(3) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT MAKE_SET(111,222,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`MAKE_SET(111,222,3)` varchar(5) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SOUNDEX(1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`SOUNDEX(1)` varchar(4) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT EXPORT_SET(1,'Y','N','',8);
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`EXPORT_SET(1,'Y','N','',8)` varchar(64) CHARACTER SET cp1251 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;
#
# End of Bug#54916
#
#
# Bug#52159 returning time type from function and empty left join causes debug assertion # Bug#52159 returning time type from function and empty left join causes debug assertion
# #
CREATE FUNCTION f1() RETURNS TIME RETURN 1; CREATE FUNCTION f1() RETURNS TIME RETURN 1;

View File

@ -47,7 +47,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # 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 # Query # # 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 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP PROCEDURE bug18293 master-bin.000001 # Query # # use `test`; DROP PROCEDURE bug18293
master-bin.000001 # Query # # use `test`; DROP TABLE t4 master-bin.000001 # Query # # use `test`; DROP TABLE `t4` /* generated by server */
End of 5.0 tests End of 5.0 tests
SHOW BINLOG EVENTS FROM 490; SHOW BINLOG EVENTS FROM 490;
ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error ERROR HY000: Error when executing command SHOW BINLOG EVENTS: Wrong offset or I/O error

View File

@ -3008,6 +3008,156 @@ SELECT charset(@x), collation(@x);
charset(@x) collation(@x) charset(@x) collation(@x)
latin1 latin1_swedish_ci latin1 latin1_swedish_ci
# #
# Bug#54916 GROUP_CONCAT + IFNULL truncates output
#
SELECT @@collation_connection;
@@collation_connection
latin1_swedish_ci
CREATE TABLE t1 (a MEDIUMINT NULL) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1234567);
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
GROUP_CONCAT(IFNULL(a,''))
1234567
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
GROUP_CONCAT(IF(a,a,''))
1234567
SELECT GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END) FROM t1;
GROUP_CONCAT(CASE WHEN a THEN a ELSE '' END)
1234567
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def COALESCE(a,'') 253 9 7 Y 0 31 8
COALESCE(a,'')
1234567
# All columns must be VARCHAR(9) with the same length:
CREATE TABLE t2 AS
SELECT
CONCAT(a),
IFNULL(a,''),
IF(a,a,''),
CASE WHEN a THEN a ELSE '' END,
COALESCE(a,'')
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`CONCAT(a)` varchar(9) DEFAULT NULL,
`IFNULL(a,'')` varchar(9) NOT NULL DEFAULT '',
`IF(a,a,'')` varchar(9) DEFAULT NULL,
`CASE WHEN a THEN a ELSE '' END` varchar(9) DEFAULT NULL,
`COALESCE(a,'')` varchar(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT CONCAT_WS(1,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`CONCAT_WS(1,2,3)` varchar(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT INSERT(1133,3,0,22) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`INSERT(1133,3,0,22)` varchar(6) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LCASE(a)` varchar(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT UCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`UCASE(a)` varchar(9) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPEAT(1,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`REPEAT(1,2)` varchar(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LEFT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LEFT(123,2)` varchar(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RIGHT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`RIGHT(123,2)` varchar(2) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LTRIM(123)` varchar(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`RTRIM(123)` varchar(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT ELT(1,111,222,333) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`ELT(1,111,222,333)` varchar(3) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPLACE(111,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`REPLACE(111,2,3)` varchar(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SUBSTRING_INDEX(111,111,1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`SUBSTRING_INDEX(111,111,1)` varchar(3) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT MAKE_SET(111,222,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`MAKE_SET(111,222,3)` varchar(5) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SOUNDEX(1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`SOUNDEX(1)` varchar(4) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT EXPORT_SET(1,'Y','N','',8);
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`EXPORT_SET(1,'Y','N','',8)` varchar(64) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;
#
# End of Bug#54916
#
#
# Bug#52159 returning time type from function and empty left join causes debug assertion # Bug#52159 returning time type from function and empty left join causes debug assertion
# #
CREATE FUNCTION f1() RETURNS TIME RETURN 1; CREATE FUNCTION f1() RETURNS TIME RETURN 1;

View File

@ -3840,6 +3840,153 @@ SELECT charset(@x), collation(@x);
charset(@x) collation(@x) charset(@x) collation(@x)
ucs2 ucs2_general_ci ucs2 ucs2_general_ci
# #
# Bug#54916 GROUP_CONCAT + IFNULL truncates output
#
SELECT @@collation_connection;
@@collation_connection
ucs2_general_ci
CREATE TABLE t1 (a MEDIUMINT NULL) ENGINE=MYISAM;
INSERT INTO t1 VALUES (1234567);
SELECT GROUP_CONCAT(IFNULL(a,'')) FROM t1;
GROUP_CONCAT(IFNULL(a,''))
1234567
SELECT GROUP_CONCAT(IF(a,a,'')) FROM t1;
GROUP_CONCAT(IF(a,a,''))
1234567
SELECT COALESCE(a,'') FROM t1 GROUP BY 1;
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
def COALESCE(a,'') 253 9 7 Y 0 31 8
COALESCE(a,'')
1234567
# All columns must be VARCHAR(9) with the same length:
CREATE TABLE t2 AS
SELECT
CONCAT(a),
IFNULL(a,''),
IF(a,a,''),
CASE WHEN a THEN a ELSE '' END,
COALESCE(a,'')
FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`CONCAT(a)` varchar(9) CHARACTER SET ucs2 DEFAULT NULL,
`IFNULL(a,'')` varchar(9) CHARACTER SET ucs2 NOT NULL DEFAULT '',
`IF(a,a,'')` varchar(9) CHARACTER SET ucs2 DEFAULT NULL,
`CASE WHEN a THEN a ELSE '' END` varchar(9) CHARACTER SET ucs2 DEFAULT NULL,
`COALESCE(a,'')` varchar(9) CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT CONCAT_WS(1,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`CONCAT_WS(1,2,3)` varchar(3) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT INSERT(1133,3,0,22) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`INSERT(1133,3,0,22)` varchar(6) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LCASE(a)` varchar(9) CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT UCASE(a) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`UCASE(a)` varchar(9) CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPEAT(1,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`REPEAT(1,2)` varchar(2) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LEFT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LEFT(123,2)` varchar(2) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RIGHT(123,2) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`RIGHT(123,2)` varchar(2) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT LTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`LTRIM(123)` varchar(3) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT RTRIM(123) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`RTRIM(123)` varchar(3) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT ELT(1,111,222,333) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`ELT(1,111,222,333)` varchar(3) CHARACTER SET ucs2 DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT REPLACE(111,2,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`REPLACE(111,2,3)` varchar(3) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SUBSTRING_INDEX(111,111,1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`SUBSTRING_INDEX(111,111,1)` varchar(3) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT MAKE_SET(111,222,3) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`MAKE_SET(111,222,3)` varchar(5) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT SOUNDEX(1) FROM t1;
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`SOUNDEX(1)` varchar(4) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
CREATE TABLE t2 AS SELECT EXPORT_SET(1,'Y','N','',8);
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`EXPORT_SET(1,'Y','N','',8)` varchar(64) CHARACTER SET ucs2 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t2;
DROP TABLE t1;
#
# End of Bug#54916
#
#
# Bug#52159 returning time type from function and empty left join causes debug assertion # Bug#52159 returning time type from function and empty left join causes debug assertion
# #
CREATE FUNCTION f1() RETURNS TIME RETURN 1; CREATE FUNCTION f1() RETURNS TIME RETURN 1;

View File

@ -0,0 +1,9 @@
SHOW VARIABLES LIKE 'collation_server';
Variable_name Value
collation_server utf16_general_ci
SHOW VARIABLES LIKE 'character_set_server';
Variable_name Value
character_set_server utf16
SHOW VARIABLES LIKE 'ft_stopword_file';
Variable_name Value
ft_stopword_file (built-in)

View File

@ -1091,5 +1091,41 @@ t2 CREATE TABLE `t2` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
DROP TABLE t1, t2; DROP TABLE t1, t2;
# #
# Bug#45263 utf32_general_ci, bad effects around CREATE TABLE AS SELECT
#
SET collation_connection=utf32_general_ci;
CREATE TABLE t1 AS SELECT HEX(0x00) AS my_col;
SELECT * FROM t1;
my_col
00
DROP TABLE t1;
#
# Bug#55912 FORMAT with locale set fails for numbers < 1000
#
SET collation_connection=utf32_general_ci;
CREATE TABLE t1 AS SELECT format(123,2,'no_NO');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`format(123,2,'no_NO')` varchar(37) CHARACTER SET utf32 NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t1;
format(123,2,'no_NO')
123,00
DROP TABLE t1;
#
# Bug#42511 mysqld: ctype-ucs2.c:2044: my_strnncollsp_utf32: Assertion (tlen % 4) == 0' faied
#
CREATE TABLE t1 (
b char(250) CHARACTER SET utf32,
key (b)
) ENGINE=MYISAM;
INSERT INTO t1 VALUES ('d'),('f');
SELECT * FROM t1 WHERE b BETWEEN 'a' AND 'z';
b
d
f
DROP TABLE t1;
#
# End of 5.5 tests # End of 5.5 tests
# #

File diff suppressed because it is too large Load Diff

View File

@ -345,3 +345,80 @@ CREATE TABLE t1 LIKE t2;
ERROR 42S01: Table 't1' already exists ERROR 42S01: Table 't1' already exists
DROP TABLE t2; DROP TABLE t2;
DROP TABLE t1; DROP TABLE t1;
#
# Bug#54332 Deadlock with two connections doing LOCK TABLE+INSERT DELAYED
#
# This test is not supposed to work under --ps-protocol since
# INSERT DELAYED doesn't work under LOCK TABLES with this protocol.
DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (a INT);
CREATE TABLE t2 (a INT);
CREATE TABLE t3 (a INT);
# Test 1: Using LOCK TABLE
# Connection con1
LOCK TABLE t1 WRITE;
# Connection default
LOCK TABLE t2 WRITE;
# Sending:
INSERT DELAYED INTO t1 VALUES (1);
# Connection con1
# Wait until INSERT DELAYED is blocked on table 't1'.
INSERT DELAYED INTO t2 VALUES (1);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
UNLOCK TABLES;
# Connection default
# Reaping: INSERT DELAYED INTO t1 VALUES (1)
UNLOCK TABLES;
# Test 2: Using ALTER TABLE
START TRANSACTION;
SELECT * FROM t1 WHERE a=0;
a
# Connection con1
# Sending:
ALTER TABLE t1 COMMENT 'test';
# Connection default
# Wait until ALTER TABLE is blocked on table 't1'.
INSERT DELAYED INTO t1 VALUES (3);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
COMMIT;
# Connection con1
# Reaping: ALTER TABLE t1 COMMENT 'test'
# Test 3: Using RENAME TABLE
# Connection default
START TRANSACTION;
INSERT INTO t2 VALUES (1);
# Connection con1
# Sending:
RENAME TABLE t1 to t5, t2 to t4;
# Connection default
# Wait until RENAME TABLE is blocked on table 't1'.
INSERT DELAYED INTO t1 VALUES (4);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
COMMIT;
# Connection con1
# Reaping: RENAME TABLE t1 to t5, t2 to t4
# Connection default
# Reverting the renames
RENAME TABLE t5 to t1, t4 to t2;
# Test 4: Two INSERT DELAYED on the same table
START TRANSACTION;
INSERT INTO t2 VALUES (1);
# Connection con2
LOCK TABLE t1 WRITE, t2 WRITE;
# Connection con1
# Wait until LOCK TABLE is blocked on table 't2'.
INSERT DELAYED INTO t1 VALUES (5);
# Connection default
# Wait until INSERT DELAYED is blocked on table 't1'.
INSERT DELAYED INTO t1 VALUES (6);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
COMMIT;
# Connection con2
# Reaping: LOCK TABLE t1 WRITE, t2 WRITE
UNLOCK TABLES;
# Connection con1
# Reaping: INSERT DELAYED INTO t1 VALUES (5)
# Connection con2
# Connection con1
# Connection default
DROP TABLE t1, t2, t3;

View File

@ -54,8 +54,8 @@ text1 like 'teststring_%' ORDER BY text1;
text1 text1
teststring teststring
teststring teststring
select concat('|', text1, '|') from t1 where text1='teststring' or text1 like 'teststring_%'; select concat('|', text1, '|') as c from t1 where text1='teststring' or text1 like 'teststring_%' order by c;
concat('|', text1, '|') c
|teststring | |teststring |
|teststring| |teststring|
select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststring\t'; select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststring\t';
@ -105,11 +105,11 @@ select concat('|', text1, '|') from t1 where text1 like 'teststring_%';
concat('|', text1, '|') concat('|', text1, '|')
|teststring | |teststring |
|teststring | |teststring |
select concat('|', text1, '|') from t1 where text1='teststring' or text1 like 'teststring_%'; select concat('|', text1, '|') as c from t1 where text1='teststring' or text1 like 'teststring_%' order by c;
concat('|', text1, '|') c
|teststring | |teststring |
|teststring|
|teststring | |teststring |
|teststring|
select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststring\t'; select concat('|', text1, '|') from t1 where text1='teststring' or text1 > 'teststring\t';
concat('|', text1, '|') concat('|', text1, '|')
|teststring| |teststring|
@ -123,8 +123,8 @@ concat('|', text1, '|')
drop table t1; drop table t1;
create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) pack_keys=0; create table t1 (text1 varchar(32) not NULL, KEY key1 (text1)) pack_keys=0;
insert into t1 values ('teststring'), ('nothing'), ('teststring\t'); insert into t1 values ('teststring'), ('nothing'), ('teststring\t');
select concat('|', text1, '|') from t1 where text1='teststring' or text1 like 'teststring_%'; select concat('|', text1, '|') as c from t1 where text1='teststring' or text1 like 'teststring_%' order by c;
concat('|', text1, '|') c
|teststring | |teststring |
|teststring| |teststring|
select concat('|', text1, '|') from t1 where text1='teststring' or text1 >= 'teststring\t'; select concat('|', text1, '|') from t1 where text1='teststring' or text1 >= 'teststring\t';
@ -203,13 +203,13 @@ teststring
teststring teststring
select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%'; select text1, length(text1) from t1 where text1='teststring' or text1 like 'teststring_%';
text1 length(text1) text1 length(text1)
teststring 11
teststring 10 teststring 10
teststring 11
teststring 11 teststring 11
select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t'; select text1, length(text1) from t1 where text1='teststring' or text1 >= 'teststring\t';
text1 length(text1) text1 length(text1)
teststring 11
teststring 10 teststring 10
teststring 11
teststring 11 teststring 11
select concat('|', text1, '|') from t1 order by text1; select concat('|', text1, '|') from t1 order by text1;
concat('|', text1, '|') concat('|', text1, '|')

View File

@ -116,3 +116,22 @@ OK: create event: database does not exist
delete from t1; delete from t1;
commit work; commit work;
drop database events_test; drop database events_test;
#
# Bug#54105 assert in MDL_context::release_locks_stored_before
#
USE test;
DROP TABLE IF EXISTS t1, t2;
DROP EVENT IF EXISTS e1;
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
CREATE TABLE t2 (a INT);
CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT 1;
START TRANSACTION;
INSERT INTO t1 VALUES (1);
SAVEPOINT A;
SHOW CREATE EVENT e1;
Event sql_mode time_zone Create Event character_set_client collation_connection Database Collation
e1 SYSTEM CREATE DEFINER=`root`@`localhost` EVENT `e1` ON SCHEDULE EVERY 1 DAY STARTS '#' ON COMPLETION NOT PRESERVE ENABLE DO SELECT 1 latin1 latin1_swedish_ci latin1_swedish_ci
SELECT * FROM t2;
a
ROLLBACK WORK TO SAVEPOINT A;
DROP TABLE t1, t2;

View File

@ -205,6 +205,51 @@ a
insert into t2 (a) values (3); insert into t2 (a) values (3);
# --> connection default; # --> connection default;
unlock tables; unlock tables;
#
# Check that "FLUSH TABLES <list> WITH READ LOCK" is
# compatible with active "FLUSH TABLES WITH READ LOCK".
# Vice versa it is not true, since tables read-locked by
# "FLUSH TABLES <list> WITH READ LOCK" can't be flushed.
flush tables with read lock;
# --> connection con1;
flush table t1 with read lock;
select * from t1;
a
1
unlock tables;
# --> connection default;
unlock tables;
#
# Check that FLUSH TABLES t1 WITH READ LOCK
# does not conflict with an existing FLUSH TABLES t2
# WITH READ LOCK.
#
flush table t1 with read lock;
# --> connection con1
flush table t2 with read lock;
unlock tables;
# --> connection default
unlock tables;
#
# Check that FLUSH TABLES t1 WITH READ LOCK
# does not conflict with SET GLOBAL read_only=1.
#
set global read_only=1;
# connection con1
flush table t1 with read lock;
unlock tables;
# connection default
set global read_only=0;
#
# Check that it's possible to read-lock
# tables locked with FLUSH TABLE <list> WITH READ LOCK.
#
flush tables t1, t2 with read lock;
# connection con1
lock table t1 read, t2 read;
unlock tables;
# connection default
unlock tables;
# --> connection con1 # --> connection con1
drop table t1, t2, t3; drop table t1, t2, t3;
# #
@ -234,3 +279,97 @@ drop temporary table v1;
unlock tables; unlock tables;
drop view v2, v3; drop view v2, v3;
drop table t1, v1; drop table t1, v1;
#
# FLUSH TABLES <list> WITH READ LOCK and HANDLER
#
drop table if exists t1;
create table t1 (a int, key a (a));
insert into t1 (a) values (1), (2), (3);
handler t1 open;
handler t1 read a next;
a
1
handler t1 read a next;
a
2
flush tables t1 with read lock;
handler t1 read a next;
ERROR HY000: Can't execute the given command because you have active locked tables or an active transaction
unlock tables;
#
# Sic: lost handler position.
#
handler t1 read a next;
a
1
handler t1 close;
drop table t1;
#
# Bug#52117 Pending FLUSH TALBES <list> aborts
# transactions unnecessarily.
#
drop table if exists t1;
# --> conection default
create table t1 (a int);
begin;
select * from t1;
a
# --> connection con1
#
# Issue a LOCK TABLE t1 READ. We could use HANDLER t1 OPEN
# or a long-running select -- anything that
# prevents FLUSH TABLE t1 from immediate completion would do.
#
lock table t1 read;
# --> connection con2
#
# FLUSH TABLE expels the table definition from the cache.
# Sending 'flush table t1'...
flush table t1;
# --> connection default
# Let flush table sync in.
select * from t1;
# --> connection con1
select * from t1;
a
unlock tables;
# --> connection con2
# Reaping 'flush table t1'...
# --> connection default
# Reaping 'select * from t1'...
a
commit;
#
# Repeat the same test but with FLUSH TABLES
#
begin;
select * from t1;
a
# --> connection con1
#
# Issue a LOCK TABLE t1 READ.
#
lock table t1 read;
# --> connection con2
#
# FLUSH TABLES expels the table definition from the cache.
# Sending 'flush tables'...
flush tables;
# --> connection default
# Let flush table sync in.
select * from t1;
# --> connection con1
select * from t1;
a
unlock tables;
# --> connection con2
# Reaping 'flush tables'...
# --> connection default
# Reaping 'select * from t1'...
a
commit;
# Cleanup
# --> connection con1
# --> connection con2
# --> connection default
drop table t1;

View File

@ -1003,6 +1003,7 @@ SELECT 1 FROM
1 1
1 1
DROP TABLE t1; DROP TABLE t1;
End of 5.0 tests
# #
# Bug #52397: another crash with explain extended and group_concat # Bug #52397: another crash with explain extended and group_concat
# #
@ -1019,6 +1020,25 @@ Warnings:
Note 1003 select 1 AS `1` from dual Note 1003 select 1 AS `1` from dual
DROP TABLE t1; DROP TABLE t1;
End of 5.0 tests End of 5.0 tests
#
# Bug #54476: crash when group_concat and 'with rollup' in prepared statements
#
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1), (2);
PREPARE stmt FROM "SELECT GROUP_CONCAT(t1.a ORDER BY t1.a) FROM t1 JOIN t1 t2 GROUP BY t1.a WITH ROLLUP";
EXECUTE stmt;
GROUP_CONCAT(t1.a ORDER BY t1.a)
1,1
2,2
1,1,2,2
EXECUTE stmt;
GROUP_CONCAT(t1.a ORDER BY t1.a)
1,1
2,2
1,1,2,2
DEALLOCATE PREPARE stmt;
DROP TABLE t1;
End of 5.1 tests
DROP TABLE IF EXISTS t1, t2; DROP TABLE IF EXISTS t1, t2;
CREATE TABLE t1 (a VARCHAR(6), b INT); CREATE TABLE t1 (a VARCHAR(6), b INT);
CREATE TABLE t2 (a VARCHAR(6), b INT); CREATE TABLE t2 (a VARCHAR(6), b INT);

View File

@ -1713,9 +1713,20 @@ f1 f2 f3 f4 f1 = f2
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
drop table t1; drop table t1;
# #
# Bug #54465: assert: field_types == 0 || field_types[field_pos] ==
# MYSQL_TYPE_LONGLONG
#
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1), (2);
SELECT MAX((SELECT 1 FROM t1 ORDER BY @var LIMIT 1)) m FROM t1 t2, t1
ORDER BY t1.a;
m
1
DROP TABLE t1;
#
End of 5.1 tests End of 5.1 tests
# #
# Bug#55648: Server crash on MIX/MAX on maximum time value # Bug#55648: Server crash on MIN/MAX on maximum time value
# #
CREATE TABLE t1(c1 TIME NOT NULL); CREATE TABLE t1(c1 TIME NOT NULL);
INSERT INTO t1 VALUES('837:59:59'); INSERT INTO t1 VALUES('837:59:59');
@ -1725,3 +1736,13 @@ MAX(c1)
838:59:59 838:59:59
DROP TABLE t1; DROP TABLE t1;
# End of the bug#55648 # End of the bug#55648
#
# Bug#56120: Failed assertion on MIN/MAX on negative time value
#
CREATE TABLE t1(c1 TIME NOT NULL);
INSERT INTO t1 VALUES('-00:00:01');
SELECT MAX(c1),MIN(c1) FROM t1;
MAX(c1) MIN(c1)
-00:00:01 -00:00:01
DROP TABLE t1;
# End of the bug#56120

View File

@ -337,6 +337,21 @@ select connection_id() > 0;
connection_id() > 0 connection_id() > 0
1 1
# #
# Bug #54461: crash with longblob and union or update with subquery
#
CREATE TABLE t1 (a INT, b LONGBLOB);
INSERT INTO t1 VALUES (1, '2'), (2, '3'), (3, '2');
SELECT DISTINCT LEAST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
LEAST(a, (SELECT b FROM t1 LIMIT 1))
1
2
SELECT DISTINCT GREATEST(a, (SELECT b FROM t1 LIMIT 1)) FROM t1 UNION SELECT 1;
GREATEST(a, (SELECT b FROM t1 LIMIT 1))
2
3
1
DROP TABLE t1;
#
# Bug #52165: Assertion failed: file .\dtoa.c, line 465 # Bug #52165: Assertion failed: file .\dtoa.c, line 465
# #
CREATE TABLE t1 (a SET('a'), b INT); CREATE TABLE t1 (a SET('a'), b INT);

View File

@ -2734,3 +2734,28 @@ format(123, 1, 'Non-existent-locale')
Warnings: Warnings:
Warning 1649 Unknown locale: 'Non-existent-locale' Warning 1649 Unknown locale: 'Non-existent-locale'
End of 5.4 tests End of 5.4 tests
#
# Start of 5.5 tests
#
#
# Bug#55912 FORMAT with locale set fails for numbers < 1000
#
SELECT FORMAT(123.33, 2, 'no_NO'), FORMAT(1123.33, 2, 'no_NO');
FORMAT(123.33, 2, 'no_NO') FORMAT(1123.33, 2, 'no_NO')
123,33 1.123,33
SELECT FORMAT(12333e-2, 2, 'no_NO'), FORMAT(112333e-2, 2, 'no_NO');
FORMAT(12333e-2, 2, 'no_NO') FORMAT(112333e-2, 2, 'no_NO')
123,33 1.123,33
CREATE TABLE t1 AS SELECT format(123,2,'no_NO');
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`format(123,2,'no_NO')` varchar(37) NOT NULL DEFAULT ''
) ENGINE=MyISAM DEFAULT CHARSET=latin1
SELECT * FROM t1;
format(123,2,'no_NO')
123,00
DROP TABLE t1;
#
# End of 5.5 tests
#

View File

@ -1305,4 +1305,12 @@ date_sub("0069-01-01 00:00:01",INTERVAL 2 SECOND)
select date_sub("0169-01-01 00:00:01",INTERVAL 2 SECOND); select date_sub("0169-01-01 00:00:01",INTERVAL 2 SECOND);
date_sub("0169-01-01 00:00:01",INTERVAL 2 SECOND) date_sub("0169-01-01 00:00:01",INTERVAL 2 SECOND)
0168-12-31 23:59:59 0168-12-31 23:59:59
CREATE TABLE t1(a DOUBLE NOT NULL);
INSERT INTO t1 VALUES (0),(9.216e-096);
# should not crash
SELECT 1 FROM t1 ORDER BY @x:=makedate(a,a);
1
1
1
DROP TABLE t1;
End of 5.1 tests End of 5.1 tests

View File

@ -0,0 +1,60 @@
DROP TABLE IF EXISTS t1;
CREATE TABLE t1 (a INT, INDEX (a));
INSERT INTO t1 VALUES (),(),(),(),(),(),(),(),(),();
FLUSH STATUS;
SELECT a FROM t1 ORDER BY a LIMIT 1;
a
NULL
SHOW STATUS LIKE 'HANDLER_READ%';
Variable_name Value
Handler_read_first 1
Handler_read_key 0
Handler_read_last 0
Handler_read_next 0
Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 0
FLUSH STATUS;
SELECT a FROM t1 ORDER BY a DESC LIMIT 1;
a
NULL
SHOW STATUS LIKE 'HANDLER_READ%';
Variable_name Value
Handler_read_first 0
Handler_read_key 0
Handler_read_last 1
Handler_read_next 0
Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 0
FLUSH STATUS;
SELECT a FROM t1 ORDER BY a LIMIT 3;
a
NULL
NULL
NULL
SHOW STATUS LIKE 'HANDLER_READ%';
Variable_name Value
Handler_read_first 1
Handler_read_key 0
Handler_read_last 0
Handler_read_next 2
Handler_read_prev 0
Handler_read_rnd 0
Handler_read_rnd_next 0
FLUSH STATUS;
SELECT a FROM t1 ORDER BY a DESC LIMIT 3;
a
NULL
NULL
NULL
SHOW STATUS LIKE 'HANDLER_READ%';
Variable_name Value
Handler_read_first 0
Handler_read_key 0
Handler_read_last 1
Handler_read_next 0
Handler_read_prev 2
Handler_read_rnd 0
Handler_read_rnd_next 0
DROP TABLE t1;

View File

@ -89,3 +89,15 @@ UNIQUE_CONSTRAINT_NAME
NULL NULL
drop table t2; drop table t2;
set foreign_key_checks = 1; set foreign_key_checks = 1;
#
# Bug#55973 Assertion `thd->transaction.stmt.is_empty()'
# on CREATE TABLE .. SELECT I_S.PART
#
DROP TABLE IF EXISTS t1;
DROP VIEW IF EXISTS v1;
CREATE VIEW v1 AS SELECT 1;
CREATE TABLE t1 engine = InnoDB AS
SELECT * FROM information_schema.partitions
WHERE table_schema= 'test' AND table_name= 'v1';
DROP TABLE t1;
DROP VIEW v1;

View File

@ -694,6 +694,7 @@ show status like 'Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0

View File

@ -854,6 +854,7 @@ show status like 'Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0

View File

@ -1238,6 +1238,7 @@ show status like 'Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 5 Handler_read_key 5
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0

View File

@ -44,7 +44,7 @@ a abmon mon
2006-12-01 Δεκ Δεκέμβριος 2006-12-01 Δεκ Δεκέμβριος
SELECT format(123456.789, 3, 'el_GR'); SELECT format(123456.789, 3, 'el_GR');
format(123456.789, 3, 'el_GR') format(123456.789, 3, 'el_GR')
123456.789 123456,789
DROP TABLE t1; DROP TABLE t1;
# #
# Bug#46633 Obsolete Serbian locale name # Bug#46633 Obsolete Serbian locale name

View File

@ -2034,6 +2034,155 @@ set debug_sync='now SIGNAL go2';
# Switching to connection 'default'. # Switching to connection 'default'.
# Reaping ALTER. It should succeed and not produce ER_LOCK_DEADLOCK. # Reaping ALTER. It should succeed and not produce ER_LOCK_DEADLOCK.
drop table t1; drop table t1;
#
# Now, test for a situation in which deadlock involves waiting not
# only in MDL subsystem but also for TDC. Such deadlocks should be
# successfully detected. If possible, they should be resolved without
# resorting to ER_LOCK_DEADLOCK error.
#
create table t1(i int);
create table t2(j int);
#
# First, let us check how we handle a simple scenario involving
# waits in MDL and TDC.
#
set debug_sync= 'RESET';
# Switching to connection 'deadlock_con1'.
# Start a statement, which will acquire SR metadata lock on t1, open it
# and then stop, before trying to acquire SW lock on t2 and opening it.
set debug_sync='open_tables_after_open_and_process_table SIGNAL parked WAIT_FOR go';
# Sending:
select * from t1 where i in (select j from t2 for update);
# Switching to connection 'deadlock_con2'.
# Wait till the above SELECT stops.
set debug_sync='now WAIT_FOR parked';
# The below FLUSH TABLES WITH READ LOCK should acquire
# SNW locks on t1 and t2 and wait till SELECT closes t1.
# Sending:
flush tables t1, t2 with read lock;
# Switching to connection 'deadlock_con3'.
# Wait until FLUSH TABLES WITH t1, t2 READ LOCK starts waiting
# for SELECT to close t1.
# Resume SELECT, so it tries to acquire SW lock on t1 and blocks,
# creating a deadlock. This deadlock should be detected and resolved
# by backing-off SELECT. As a result FTWRL should be able to finish.
set debug_sync='now SIGNAL go';
# Switching to connection 'deadlock_con2'.
# Reap FLUSH TABLES WITH READ LOCK.
unlock tables;
# Switching to connection 'deadlock_con1'.
# Reap SELECT.
i
#
# The same scenario with a slightly different order of events
# which emphasizes that setting correct deadlock detector weights
# for flush waits is important.
#
set debug_sync= 'RESET';
# Switching to connection 'deadlock_con2'.
set debug_sync='flush_tables_with_read_lock_after_acquire_locks SIGNAL parked WAIT_FOR go';
# The below FLUSH TABLES WITH READ LOCK should acquire
# SNW locks on t1 and t2 and wait on debug sync point.
# Sending:
flush tables t1, t2 with read lock;
# Switching to connection 'deadlock_con1'.
# Wait till FLUSH TABLE WITH READ LOCK stops.
set debug_sync='now WAIT_FOR parked';
# Start statement which will acquire SR metadata lock on t1, open
# it and then will block while trying to acquire SW lock on t2.
# Sending:
select * from t1 where i in (select j from t2 for update);
# Switching to connection 'deadlock_con3'.
# Wait till the above SELECT blocks.
# Resume FLUSH TABLES, so it tries to flush t1, thus creating
# a deadlock. This deadlock should be detected and resolved by
# backing-off SELECT. As a result FTWRL should be able to finish.
set debug_sync='now SIGNAL go';
# Switching to connection 'deadlock_con2'.
# Reap FLUSH TABLES WITH READ LOCK.
unlock tables;
# Switching to connection 'deadlock_con1'.
# Reap SELECT.
i
#
# Now a more complex scenario involving two connections
# waiting for MDL and one for TDC.
#
set debug_sync= 'RESET';
# Switching to connection 'deadlock_con1'.
# Start a statement which will acquire SR metadata lock on t2, open it
# and then stop, before trying to acquire SR on t1 and opening it.
set debug_sync='open_tables_after_open_and_process_table SIGNAL parked WAIT_FOR go';
# Sending:
select * from t2, t1;
# Switching to connection 'deadlock_con2'.
# Wait till the above SELECT stops.
set debug_sync='now WAIT_FOR parked';
# The below FLUSH TABLES WITH READ LOCK should acquire
# SNW locks on t2 and wait till SELECT closes t2.
# Sending:
flush tables t2 with read lock;
# Switching to connection 'deadlock_con3'.
# Wait until FLUSH TABLES WITH READ LOCK starts waiting
# for SELECT to close t2.
# The below DROP TABLES should acquire X lock on t1 and start
# waiting for X lock on t2.
# Sending:
drop tables t1, t2;
# Switching to connection 'default'.
# Wait until DROP TABLES starts waiting for X lock on t2.
# Resume SELECT, so it tries to acquire SR lock on t1 and blocks,
# creating a deadlock. This deadlock should be detected and resolved
# by backing-off SELECT. As a result, FTWRL should be able to finish.
set debug_sync='now SIGNAL go';
# Switching to connection 'deadlock_con2'.
# Reap FLUSH TABLES WITH READ LOCK.
# Unblock DROP TABLES.
unlock tables;
# Switching to connection 'deadlock_con3'.
# Reap DROP TABLES.
# Switching to connection 'deadlock_con1'.
# Reap SELECT. It should emit error about missing table.
ERROR 42S02: Table 'test.t2' doesn't exist
# Switching to connection 'default'.
set debug_sync= 'RESET';
#
# Test for a scenario in which FLUSH TABLES <list> WITH READ LOCK
# used to erroneously release metadata locks.
#
drop tables if exists t1, t2;
set debug_sync= 'RESET';
create table t1(i int);
create table t2(j int);
# Switching to connection 'con2'.
set debug_sync='open_tables_after_open_and_process_table SIGNAL parked WAIT_FOR go';
# The below FLUSH TABLES <list> WITH READ LOCK should acquire
# SNW locks on t1 and t2, open table t1 and block on the debug
# sync point.
# Sending:
flush tables t1, t2 with read lock;
# Switching to connection 'con1'.
# Wait till FLUSH TABLES <list> WITH READ LOCK stops.
set debug_sync='now WAIT_FOR parked';
# Start a statement which will flush all tables and thus
# invalidate table t1 open by FLUSH TABLES <list> WITH READ LOCK.
# Sending:
flush tables;
# Switching to connection 'default'.
# Wait till the above FLUSH TABLES blocks.
# Resume FLUSH TABLES <list> WITH READ LOCK, so it tries to open t2
# discovers that its t1 is obsolete and tries to reopen all tables.
# Such reopen should not cause releasing of SNW metadata locks
# which would result in assertion failures.
set debug_sync='now SIGNAL go';
# Switching to connection 'con2'.
# Reap FLUSH TABLES <list> WITH READ LOCK.
unlock tables;
# Switching to connection 'con1'.
# Reap FLUSH TABLES.
# Clean-up.
# Switching to connection 'default'.
drop tables t1, t2;
set debug_sync= 'RESET'; set debug_sync= 'RESET';
# #
# Test for bug #46748 "Assertion in MDL_context::wait_for_locks() # Test for bug #46748 "Assertion in MDL_context::wait_for_locks()

View File

@ -933,7 +933,8 @@ DROP TABLE tm1, t1, t2;
CREATE TABLE t1(c1 INT); CREATE TABLE t1(c1 INT);
CREATE TABLE t2 (c1 INT) ENGINE=MERGE UNION=(t1) INSERT_METHOD=FIRST; CREATE TABLE t2 (c1 INT) ENGINE=MERGE UNION=(t1) INSERT_METHOD=FIRST;
CREATE TABLE IF NOT EXISTS t1 SELECT * FROM t2; CREATE TABLE IF NOT EXISTS t1 SELECT * FROM t2;
ERROR HY000: You can't specify target table 't1' for update in FROM clause Warnings:
Note 1050 Table 't1' already exists
DROP TABLE t1, t2; DROP TABLE t1, t2;
CREATE TABLE t1 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MyISAM; CREATE TABLE t1 (id INT NOT NULL, ref INT NOT NULL, INDEX (id)) ENGINE=MyISAM;
CREATE TABLE t2 LIKE t1; CREATE TABLE t2 LIKE t1;

View File

@ -0,0 +1,5 @@
Bug #54466 client 5.5 built from source lacks "pager" support
a
1
End of tests

View File

@ -28,7 +28,7 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/; SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/; SET @@session.collation_database=DEFAULT/*!*/;
drop table if exists t1,t2,t3,t4,t5,t03,t04 DROP TABLE IF EXISTS `t1`,`t2`,`t3`,`t4`,`t5`,`t03`,`t04` /* generated by server */
/*!*/; /*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
create table t1 (word varchar(20)) create table t1 (word varchar(20))
@ -229,7 +229,7 @@ SET @@session.auto_increment_increment=1, @@session.auto_increment_offset=1/*!*/
SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/; SET @@session.character_set_client=8,@@session.collation_connection=8,@@session.collation_server=8/*!*/;
SET @@session.lc_time_names=0/*!*/; SET @@session.lc_time_names=0/*!*/;
SET @@session.collation_database=DEFAULT/*!*/; SET @@session.collation_database=DEFAULT/*!*/;
drop table if exists t1,t2,t3,t4,t5,t03,t04 DROP TABLE IF EXISTS `t1`,`t2`,`t3`,`t4`,`t5`,`t03`,`t04` /* generated by server */
/*!*/; /*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
create table t1 (word varchar(20)) create table t1 (word varchar(20))
@ -628,7 +628,7 @@ SET TIMESTAMP=1000000000/*!*/;
COMMIT COMMIT
/*!*/; /*!*/;
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
drop table t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
DELIMITER ; DELIMITER ;
# End of log file # End of log file

View File

@ -385,7 +385,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -567,7 +567,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -595,7 +595,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -673,7 +673,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -759,7 +759,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -806,7 +806,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -850,7 +850,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -894,7 +894,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -960,7 +960,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1004,7 +1004,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1070,7 +1070,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1114,7 +1114,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1180,7 +1180,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1224,7 +1224,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1290,7 +1290,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1334,7 +1334,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1378,7 +1378,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1439,7 +1439,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1483,7 +1483,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1527,7 +1527,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1572,7 +1572,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1616,7 +1616,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1660,7 +1660,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1704,7 +1704,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1748,7 +1748,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1792,7 +1792,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1836,7 +1836,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1880,7 +1880,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1924,7 +1924,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -1968,7 +1968,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2032,7 +2032,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2076,7 +2076,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2120,7 +2120,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2164,7 +2164,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2230,7 +2230,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2274,7 +2274,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2318,7 +2318,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2362,7 +2362,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2406,7 +2406,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2450,7 +2450,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2494,7 +2494,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2558,7 +2558,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2622,7 +2622,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2666,7 +2666,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2710,7 +2710,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2754,7 +2754,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2798,7 +2798,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2876,7 +2876,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2920,7 +2920,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -2998,7 +2998,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3076,7 +3076,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3120,7 +3120,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3198,7 +3198,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3276,7 +3276,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3320,7 +3320,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3364,7 +3364,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3408,7 +3408,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3452,7 +3452,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3496,7 +3496,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3540,7 +3540,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3584,7 +3584,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3628,7 +3628,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3672,7 +3672,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3716,7 +3716,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3760,7 +3760,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3804,7 +3804,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3848,7 +3848,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -3994,7 +3994,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1 DROP TABLE `t1` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
@ -4127,7 +4127,7 @@ COMMIT
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0 #010909 4:46:40 server id 1 end_log_pos # Query thread_id=# exec_time=# error_code=0
SET TIMESTAMP=1000000000/*!*/; SET TIMESTAMP=1000000000/*!*/;
DROP TABLE t1,t2 DROP TABLE `t1`,`t2` /* generated by server */
/*!*/; /*!*/;
# at # # at #
#010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4 #010909 4:46:40 server id 1 end_log_pos # Rotate to master-bin.000002 pos: 4

View File

@ -860,9 +860,9 @@ performance-schema-max-file-classes 50
performance-schema-max-file-handles 32768 performance-schema-max-file-handles 32768
performance-schema-max-file-instances 10000 performance-schema-max-file-instances 10000
performance-schema-max-mutex-classes 200 performance-schema-max-mutex-classes 200
performance-schema-max-mutex-instances 1000 performance-schema-max-mutex-instances 1000000
performance-schema-max-rwlock-classes 20 performance-schema-max-rwlock-classes 30
performance-schema-max-rwlock-instances 1000 performance-schema-max-rwlock-instances 1000000
performance-schema-max-table-handles 100000 performance-schema-max-table-handles 100000
performance-schema-max-table-instances 50000 performance-schema-max-table-instances 50000
performance-schema-max-thread-classes 50 performance-schema-max-thread-classes 50

View File

@ -864,9 +864,9 @@ performance-schema-max-file-classes 50
performance-schema-max-file-handles 32768 performance-schema-max-file-handles 32768
performance-schema-max-file-instances 10000 performance-schema-max-file-instances 10000
performance-schema-max-mutex-classes 200 performance-schema-max-mutex-classes 200
performance-schema-max-mutex-instances 1000 performance-schema-max-mutex-instances 1000000
performance-schema-max-rwlock-classes 20 performance-schema-max-rwlock-classes 30
performance-schema-max-rwlock-instances 1000 performance-schema-max-rwlock-instances 1000000
performance-schema-max-table-handles 100000 performance-schema-max-table-handles 100000
performance-schema-max-table-instances 50000 performance-schema-max-table-instances 50000
performance-schema-max-thread-classes 50 performance-schema-max-thread-classes 50

View File

@ -21,23 +21,17 @@ Table Op Msg_type Msg_text
test.t1 repair Error Unknown storage engine 'partition' test.t1 repair Error Unknown storage engine 'partition'
test.t1 repair error Corrupt test.t1 repair error Corrupt
ALTER TABLE t1 REPAIR PARTITION ALL; ALTER TABLE t1 REPAIR PARTITION ALL;
Table Op Msg_type Msg_text ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-plugin-partition' to have it working
test.t1 repair Error Unknown storage engine 'partition'
test.t1 repair error Corrupt
ALTER TABLE t1 CHECK PARTITION ALL; ALTER TABLE t1 CHECK PARTITION ALL;
Table Op Msg_type Msg_text ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-plugin-partition' to have it working
test.t1 check Error Unknown storage engine 'partition'
test.t1 check error Corrupt
ALTER TABLE t1 OPTIMIZE PARTITION ALL; ALTER TABLE t1 OPTIMIZE PARTITION ALL;
Table Op Msg_type Msg_text ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-plugin-partition' to have it working
test.t1 optimize Error Unknown storage engine 'partition'
test.t1 optimize error Corrupt
ALTER TABLE t1 ANALYZE PARTITION ALL; ALTER TABLE t1 ANALYZE PARTITION ALL;
Table Op Msg_type Msg_text ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-plugin-partition' to have it working
test.t1 analyze Error Unknown storage engine 'partition'
test.t1 analyze error Corrupt
ALTER TABLE t1 REBUILD PARTITION ALL; ALTER TABLE t1 REBUILD PARTITION ALL;
ERROR 42000: Unknown storage engine 'partition' ERROR 42000: Unknown storage engine 'partition'
ALTER TABLE t1 TRUNCATE PARTITION ALL;
ERROR HY000: The 'partitioning' feature is disabled; you need MySQL built with '--with-plugin-partition' to have it working
ALTER TABLE t1 ENGINE Memory; ALTER TABLE t1 ENGINE Memory;
ERROR 42000: Unknown storage engine 'partition' ERROR 42000: Unknown storage engine 'partition'
ALTER TABLE t1 ADD (new INT); ALTER TABLE t1 ADD (new INT);

View File

@ -424,6 +424,7 @@ SHOW STATUS LIKE "handler_read%";
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 6 Handler_read_key 6
Handler_read_last 0
Handler_read_next 2 Handler_read_next 2
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0

View File

@ -359,6 +359,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 2 Handler_read_key 2
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -377,6 +378,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 2 Handler_read_key 2
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -407,6 +409,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 2 Handler_read_next 2
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -423,6 +426,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 2 Handler_read_next 2
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -439,6 +443,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 2 Handler_read_next 2
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -455,6 +460,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 2 Handler_read_next 2
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0

View File

@ -3,7 +3,7 @@ FLUSH TABLES;
SELECT * FROM t1; SELECT * FROM t1;
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement
TRUNCATE TABLE t1; TRUNCATE TABLE t1;
ERROR HY000: The MySQL server is running with the --skip-partition option so it cannot execute this statement ERROR 42S02: Table 'test.t1' doesn't exist
ANALYZE TABLE t1; ANALYZE TABLE t1;
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 analyze Error The MySQL server is running with the --skip-partition option so it cannot execute this statement test.t1 analyze Error The MySQL server is running with the --skip-partition option so it cannot execute this statement

View File

@ -1,5 +1,103 @@
drop table if exists t1, t2; drop table if exists t1, t2;
# #
# Bug#54747: Deadlock between REORGANIZE PARTITION and
# SELECT is not detected
#
SET @old_innodb_thread_concurrency:= @@innodb_thread_concurrency;
SET GLOBAL innodb_thread_concurrency = 1;
CREATE TABLE t1
(user_num BIGINT,
hours SMALLINT,
KEY user_num (user_num))
ENGINE = InnoDB
PARTITION BY RANGE COLUMNS (hours)
(PARTITION hour_003 VALUES LESS THAN (3),
PARTITION hour_004 VALUES LESS THAN (4),
PARTITION hour_005 VALUES LESS THAN (5),
PARTITION hour_last VALUES LESS THAN (MAXVALUE));
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3), (4, 4), (5, 5);
BEGIN;
SELECT COUNT(*) FROM t1;
COUNT(*)
5
# con1
# SEND a ALTER PARTITION which waits on the ongoing transaction.
ALTER TABLE t1
REORGANIZE PARTITION hour_003, hour_004 INTO
(PARTITION oldest VALUES LESS THAN (4));
# Connection default wait until the ALTER is in 'waiting for table...'
# state and then continue the transaction by trying a SELECT
SELECT COUNT(*) FROM t1;
COUNT(*)
5
COMMIT;
# con1, reaping ALTER.
# Disconnecting con1 and switching to default. Cleaning up.
SET GLOBAL innodb_thread_concurrency = @old_innodb_thread_concurrency;
DROP TABLE t1;
#
# Bug#50418: DROP PARTITION does not interact with transactions
#
CREATE TABLE t1 (
id INT AUTO_INCREMENT NOT NULL,
name CHAR(50) NOT NULL,
myDate DATE NOT NULL,
PRIMARY KEY (id, myDate),
INDEX idx_date (myDate)
) ENGINE=InnoDB
PARTITION BY RANGE ( TO_DAYS(myDate) ) (
PARTITION p0 VALUES LESS THAN (734028),
PARTITION p1 VALUES LESS THAN (734029),
PARTITION p2 VALUES LESS THAN (734030),
PARTITION p3 VALUES LESS THAN MAXVALUE
) ;
INSERT INTO t1 VALUES
(NULL, 'Lachlan', '2009-09-13'),
(NULL, 'Clint', '2009-09-13'),
(NULL, 'John', '2009-09-14'),
(NULL, 'Dave', '2009-09-14'),
(NULL, 'Jeremy', '2009-09-15'),
(NULL, 'Scott', '2009-09-15'),
(NULL, 'Jeff', '2009-09-16'),
(NULL, 'Joe', '2009-09-16');
SET AUTOCOMMIT=0;
SELECT * FROM t1 FOR UPDATE;
id name myDate
1 Lachlan 2009-09-13
2 Clint 2009-09-13
3 John 2009-09-14
4 Dave 2009-09-14
5 Jeremy 2009-09-15
6 Scott 2009-09-15
7 Jeff 2009-09-16
8 Joe 2009-09-16
UPDATE t1 SET name = 'Mattias' WHERE id = 7;
SELECT * FROM t1 WHERE id = 7;
id name myDate
7 Mattias 2009-09-16
# Connection con1
SET lock_wait_timeout = 1;
# After the patch it will wait and fail on timeout.
ALTER TABLE t1 DROP PARTITION p3;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
SHOW WARNINGS;
Level Code Message
Error 1205 Lock wait timeout exceeded; try restarting transaction
# Connection default
SELECT * FROM t1;
id name myDate
1 Lachlan 2009-09-13
2 Clint 2009-09-13
3 John 2009-09-14
4 Dave 2009-09-14
5 Jeremy 2009-09-15
6 Scott 2009-09-15
7 Mattias 2009-09-16
8 Joe 2009-09-16
# No changes.
COMMIT;
DROP TABLE t1;
#
# Bug#51830: Incorrect partition pruning on range partition (regression) # Bug#51830: Incorrect partition pruning on range partition (regression)
# #
CREATE TABLE t1 (a INT NOT NULL) CREATE TABLE t1 (a INT NOT NULL)

View File

@ -0,0 +1,16 @@
DROP TABLE IF EXISTS t1;
#
# Bug#46086: crash when dropping a partitioned table and
# the original engine is disabled
# Copy a .frm and .par file which was created with:
# create table `t1` (`id` int primary key) engine=blackhole
# partition by key () partitions 1;
SHOW TABLES;
Tables_in_test
t1
SHOW CREATE TABLE t1;
ERROR HY000: Incorrect information in file: './test/t1.frm'
DROP TABLE t1;
ERROR 42S02: Unknown table 't1'
t1.frm
t1.par

View File

@ -16,3 +16,11 @@ subpartitions 1
alter table t1 truncate partition sp1; alter table t1 truncate partition sp1;
ERROR HY000: Incorrect partition name ERROR HY000: Incorrect partition name
drop table t1; drop table t1;
create table t1 (a int);
insert into t1 values (1), (3), (8);
alter table t1 truncate partition p0;
ERROR HY000: Partition management on a not partitioned table is not possible
select count(*) from t1;
count(*)
3
drop table t1;

View File

@ -1833,7 +1833,6 @@ SUCCESS
select * from t2; select * from t2;
a a
1 1
1
execute stmt; execute stmt;
Warnings: Warnings:
Note 1050 Table 't2' already exists Note 1050 Table 't2' already exists
@ -1843,8 +1842,6 @@ SUCCESS
select * from t2; select * from t2;
a a
1 1
1
1
drop table t2; drop table t2;
create temporary table t2 (a varchar(10)); create temporary table t2 (a varchar(10));
execute stmt; execute stmt;
@ -1852,7 +1849,6 @@ Warnings:
Note 1050 Table 't2' already exists Note 1050 Table 't2' already exists
select * from t2; select * from t2;
a a
1
call p_verify_reprepare_count(1); call p_verify_reprepare_count(1);
SUCCESS SUCCESS

View File

@ -701,6 +701,7 @@ drop table t1,t2,t3,t4;
set query_cache_wlock_invalidate=1; set query_cache_wlock_invalidate=1;
create table t1 (a int not null); create table t1 (a int not null);
create table t2 (a int not null); create table t2 (a int not null);
create view v1 as select * from t1;
select * from t1; select * from t1;
a a
select * from t2; select * from t2;
@ -713,6 +714,17 @@ show status like "Qcache_queries_in_cache";
Variable_name Value Variable_name Value
Qcache_queries_in_cache 1 Qcache_queries_in_cache 1
unlock table; unlock table;
select * from t1;
a
show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 2
lock table v1 write;
show status like "Qcache_queries_in_cache";
Variable_name Value
Qcache_queries_in_cache 2
unlock table;
drop view v1;
drop table t1,t2; drop table t1,t2;
set query_cache_wlock_invalidate=default; set query_cache_wlock_invalidate=default;
CREATE TABLE t1 (id INT PRIMARY KEY); CREATE TABLE t1 (id INT PRIMARY KEY);
@ -853,7 +865,7 @@ Variable_name Value
Qcache_queries_in_cache 0 Qcache_queries_in_cache 0
show status like "Qcache_inserts"; show status like "Qcache_inserts";
Variable_name Value Variable_name Value
Qcache_inserts 18 Qcache_inserts 19
show status like "Qcache_hits"; show status like "Qcache_hits";
Variable_name Value Variable_name Value
Qcache_hits 6 Qcache_hits 6
@ -866,7 +878,7 @@ Variable_name Value
Qcache_queries_in_cache 1 Qcache_queries_in_cache 1
show status like "Qcache_inserts"; show status like "Qcache_inserts";
Variable_name Value Variable_name Value
Qcache_inserts 19 Qcache_inserts 20
show status like "Qcache_hits"; show status like "Qcache_hits";
Variable_name Value Variable_name Value
Qcache_hits 7 Qcache_hits 7

View File

@ -1653,4 +1653,17 @@ a b
0 0 0 0
1 1 1 1
DROP TABLE t1; DROP TABLE t1;
#
# Bug #54802: 'NOT BETWEEN' evaluation is incorrect
#
CREATE TABLE t1 (c_key INT, c_notkey INT, KEY(c_key));
INSERT INTO t1 VALUES (1, 1), (2, 2), (3, 3);
EXPLAIN SELECT * FROM t1 WHERE 2 NOT BETWEEN c_notkey AND c_key;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL c_key NULL NULL NULL 3 Using where
SELECT * FROM t1 WHERE 2 NOT BETWEEN c_notkey AND c_key;
c_key c_notkey
1 1
3 3
DROP TABLE t1;
End of 5.1 tests End of 5.1 tests

View File

@ -15,7 +15,7 @@ insert into t1 values (-5, 1, 1),
(10, 1, 1); (10, 1, 1);
explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3; explain select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 4 Using sort_union(key1,key2); Using where 1 SIMPLE t1 index_merge key1,key2 key1,key2 5,5 NULL 5 Using sort_union(key1,key2); Using where
select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3; select * from t1 force index(key1, key2) where key1 < 3 or key2 < 3;
pk1 key1 key2 pk1 key1 key2
-100 1 1 -100 1 1

View File

@ -16,21 +16,19 @@ drop schema foo;
# Bug #48940 MDL deadlocks against mysql_rm_db # Bug #48940 MDL deadlocks against mysql_rm_db
# #
DROP SCHEMA IF EXISTS schema1; DROP SCHEMA IF EXISTS schema1;
DROP SCHEMA IF EXISTS schema2;
# Connection default # Connection default
CREATE SCHEMA schema1; CREATE SCHEMA schema1;
CREATE SCHEMA schema2;
CREATE TABLE schema1.t1 (a INT); CREATE TABLE schema1.t1 (a INT);
SET autocommit= FALSE; SET autocommit= FALSE;
INSERT INTO schema1.t1 VALUES (1); INSERT INTO schema1.t1 VALUES (1);
# Connection 2 # Connection 2
DROP SCHEMA schema1; DROP SCHEMA schema1;
# Connection default # Connection default
ALTER SCHEMA schema2 DEFAULT CHARACTER SET utf8; ALTER SCHEMA schema1 DEFAULT CHARACTER SET utf8;
Got one of the listed errors
SET autocommit= TRUE; SET autocommit= TRUE;
# Connection 2 # Connection 2
# Connection default # Connection default
DROP SCHEMA schema2;
# #
# Bug #49988 MDL deadlocks with mysql_create_db, reload_acl_and_cache # Bug #49988 MDL deadlocks with mysql_create_db, reload_acl_and_cache
# #

View File

@ -4338,6 +4338,7 @@ SHOW STATUS LIKE 'Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 2 Handler_read_key 2
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0

View File

@ -25,6 +25,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -41,6 +42,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -74,6 +76,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -90,6 +93,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 5 Handler_read_rnd 5
@ -120,6 +124,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -136,6 +141,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -170,6 +176,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -186,6 +193,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -214,6 +222,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -230,6 +239,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -256,6 +266,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -272,6 +283,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -301,6 +313,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 2 Handler_read_key 2
Handler_read_last 0
Handler_read_next 7 Handler_read_next 7
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 4 Handler_read_rnd 4
@ -322,6 +335,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 2 Handler_read_key 2
Handler_read_last 0
Handler_read_next 7 Handler_read_next 7
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 8 Handler_read_rnd 8
@ -357,6 +371,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 4 Handler_read_prev 4
Handler_read_rnd 0 Handler_read_rnd 0
@ -373,6 +388,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 4 Handler_read_prev 4
Handler_read_rnd 0 Handler_read_rnd 0
@ -406,6 +422,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -422,6 +439,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 5 Handler_read_rnd 5
@ -464,6 +482,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -486,6 +505,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 1
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 4 Handler_read_prev 4
Handler_read_rnd 0 Handler_read_rnd 0
@ -502,6 +522,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 1
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 4 Handler_read_prev 4
Handler_read_rnd 0 Handler_read_rnd 0
@ -536,6 +557,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -552,6 +574,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 5 Handler_read_rnd 5
@ -590,6 +613,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -606,6 +630,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 5 Handler_read_rnd 5
@ -641,6 +666,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -657,6 +683,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -691,6 +718,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -707,6 +735,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 5 Handler_read_rnd 5
@ -735,6 +764,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -751,6 +781,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -778,6 +809,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -794,6 +826,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -824,6 +857,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 2 Handler_read_key 2
Handler_read_last 0
Handler_read_next 7 Handler_read_next 7
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 4 Handler_read_rnd 4
@ -845,6 +879,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 2 Handler_read_key 2
Handler_read_last 0
Handler_read_next 7 Handler_read_next 7
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 8 Handler_read_rnd 8
@ -884,6 +919,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 4 Handler_read_prev 4
Handler_read_rnd 0 Handler_read_rnd 0
@ -900,6 +936,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 4 Handler_read_prev 4
Handler_read_rnd 5 Handler_read_rnd 5
@ -938,6 +975,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -954,6 +992,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 5 Handler_read_rnd 5
@ -990,6 +1029,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 4 Handler_read_next 4
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -1012,6 +1052,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 1
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 4 Handler_read_prev 4
Handler_read_rnd 0 Handler_read_rnd 0
@ -1028,6 +1069,7 @@ SHOW STATUS LIKE 'Handler_read_%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 1
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 4 Handler_read_prev 4
Handler_read_rnd 5 Handler_read_rnd 5

View File

@ -148,12 +148,12 @@ f1()
# Sending 'drop procedure p1'... # Sending 'drop procedure p1'...
drop procedure p1; drop procedure p1;
# --> connection con2 # --> connection con2
# Waitng for 'drop procedure t1' to get blocked on MDL lock... # Waiting for 'drop procedure t1' to get blocked on MDL lock...
# Demonstrate that there is a pending exclusive lock. # Demonstrate that there is a pending exclusive lock.
# Sending 'select f1()'... # Sending 'select f1()'...
select f1(); select f1();
# --> connection con3 # --> connection con3
# Waitng for 'select f1()' to get blocked by a pending MDL lock... # Waiting for 'select f1()' to get blocked by a pending MDL lock...
# --> connection default # --> connection default
commit; commit;
# --> connection con1 # --> connection con1
@ -174,12 +174,12 @@ f1()
# Sending 'create procedure p1'... # Sending 'create procedure p1'...
create procedure p1() begin end; create procedure p1() begin end;
# --> connection con2 # --> connection con2
# Waitng for 'create procedure t1' to get blocked on MDL lock... # Waiting for 'create procedure t1' to get blocked on MDL lock...
# Demonstrate that there is a pending exclusive lock. # Demonstrate that there is a pending exclusive lock.
# Sending 'select f1()'... # Sending 'select f1()'...
select f1(); select f1();
# --> connection con3 # --> connection con3
# Waitng for 'select f1()' to get blocked by a pending MDL lock... # Waiting for 'select f1()' to get blocked by a pending MDL lock...
# --> connection default # --> connection default
commit; commit;
# --> connection con1 # --> connection con1
@ -200,12 +200,12 @@ f1()
# Sending 'alter procedure p1'... # Sending 'alter procedure p1'...
alter procedure p1 contains sql; alter procedure p1 contains sql;
# --> connection con2 # --> connection con2
# Waitng for 'alter procedure t1' to get blocked on MDL lock... # Waiting for 'alter procedure t1' to get blocked on MDL lock...
# Demonstrate that there is a pending exclusive lock. # Demonstrate that there is a pending exclusive lock.
# Sending 'select f1()'... # Sending 'select f1()'...
select f1(); select f1();
# --> connection con3 # --> connection con3
# Waitng for 'select f1()' to get blocked by a pending MDL lock... # Waiting for 'select f1()' to get blocked by a pending MDL lock...
# --> connection default # --> connection default
commit; commit;
# --> connection con1 # --> connection con1
@ -226,12 +226,12 @@ f1()
# Sending 'drop function f1'... # Sending 'drop function f1'...
drop function f1; drop function f1;
# --> connection con2 # --> connection con2
# Waitng for 'drop function f1' to get blocked on MDL lock... # Waiting for 'drop function f1' to get blocked on MDL lock...
# Demonstrate that there is a pending exclusive lock. # Demonstrate that there is a pending exclusive lock.
# Sending 'select f1()'... # Sending 'select f1()'...
select f1(); select f1();
# --> connection con3 # --> connection con3
# Waitng for 'select f1()' to get blocked by a pending MDL lock... # Waiting for 'select f1()' to get blocked by a pending MDL lock...
# --> connection default # --> connection default
commit; commit;
# --> connection con1 # --> connection con1
@ -252,12 +252,12 @@ f1()
# Sending 'create function f1'... # Sending 'create function f1'...
create function f1() returns int return 2; create function f1() returns int return 2;
# --> connection con2 # --> connection con2
# Waitng for 'create function f1' to get blocked on MDL lock... # Waiting for 'create function f1' to get blocked on MDL lock...
# Demonstrate that there is a pending exclusive lock. # Demonstrate that there is a pending exclusive lock.
# Sending 'select f1()'... # Sending 'select f1()'...
select f1(); select f1();
# --> connection con3 # --> connection con3
# Waitng for 'select f1()' to get blocked by a pending MDL lock... # Waiting for 'select f1()' to get blocked by a pending MDL lock...
# --> connection default # --> connection default
commit; commit;
# --> connection con1 # --> connection con1
@ -279,12 +279,12 @@ f1()
# Sending 'alter function f1'... # Sending 'alter function f1'...
alter function f1 contains sql; alter function f1 contains sql;
# --> connection con2 # --> connection con2
# Waitng for 'alter function f1' to get blocked on MDL lock... # Waiting for 'alter function f1' to get blocked on MDL lock...
# Demonstrate that there is a pending exclusive lock. # Demonstrate that there is a pending exclusive lock.
# Sending 'select f1()'... # Sending 'select f1()'...
select f1(); select f1();
# --> connection con3 # --> connection con3
# Waitng for 'select f1()' to get blocked by a pending MDL lock... # Waiting for 'select f1()' to get blocked by a pending MDL lock...
# --> connection default # --> connection default
commit; commit;
# --> connection con1 # --> connection con1
@ -360,7 +360,7 @@ insert into t1 (a) values (1);
# Sending 'drop function f1' # Sending 'drop function f1'
drop function f1; drop function f1;
# --> connection con2 # --> connection con2
# Waitng for 'drop function f1' to get blocked on MDL lock... # Waiting for 'drop function f1' to get blocked on MDL lock...
# --> connnection default # --> connnection default
commit; commit;
# --> connection con1 # --> connection con1
@ -379,7 +379,7 @@ a
# Sending 'drop function f1' # Sending 'drop function f1'
drop function f1; drop function f1;
# --> connection con2 # --> connection con2
# Waitng for 'drop function f1' to get blocked on MDL lock... # Waiting for 'drop function f1' to get blocked on MDL lock...
# --> connnection default # --> connnection default
commit; commit;
# --> connection con1 # --> connection con1
@ -403,7 +403,7 @@ a
# Sending 'drop procedure p1' # Sending 'drop procedure p1'
drop procedure p1; drop procedure p1;
# --> connection con2 # --> connection con2
# Waitng for 'drop procedure p1' to get blocked on MDL lock... # Waiting for 'drop procedure p1' to get blocked on MDL lock...
# --> connnection default # --> connnection default
commit; commit;
# --> connection con1 # --> connection con1
@ -424,7 +424,7 @@ insert into t1 (a) values (3);
# Sending 'drop function f2' # Sending 'drop function f2'
drop function f2; drop function f2;
# --> connection con2 # --> connection con2
# Waitng for 'drop function f2' to get blocked on MDL lock... # Waiting for 'drop function f2' to get blocked on MDL lock...
# --> connnection default # --> connnection default
commit; commit;
# --> connection con1 # --> connection con1
@ -479,11 +479,11 @@ f2()
# Sending 'drop function f1'... # Sending 'drop function f1'...
drop function f1; drop function f1;
# --> connection con2 # --> connection con2
# Waitng for 'drop function f1' to get blocked on MDL lock... # Waiting for 'drop function f1' to get blocked on MDL lock...
# Sending 'drop function f2'... # Sending 'drop function f2'...
drop function f2; drop function f2;
# --> connection default # --> connection default
# Waitng for 'drop function f2' to get blocked on MDL lock... # Waiting for 'drop function f2' to get blocked on MDL lock...
rollback to savepoint sv; rollback to savepoint sv;
# --> connection con2 # --> connection con2
# Reaping 'drop function f2'... # Reaping 'drop function f2'...
@ -537,10 +537,10 @@ f1()
# Sending 'alter function f1 ...'... # Sending 'alter function f1 ...'...
alter function f1 comment "comment"; alter function f1 comment "comment";
# --> connection con2 # --> connection con2
# Waitng for 'alter function f1 ...' to get blocked on MDL lock... # Waiting for 'alter function f1 ...' to get blocked on MDL lock...
# Sending 'call p1()'... # Sending 'call p1()'...
call p1(); call p1();
# Waitng for 'call p1()' to get blocked on MDL lock on f1... # Waiting for 'call p1()' to get blocked on MDL lock on f1...
# Let 'alter function f1 ...' go through... # Let 'alter function f1 ...' go through...
commit; commit;
# --> connection con1 # --> connection con1
@ -573,7 +573,7 @@ f1()
# Sending 'alter function f1 ...'... # Sending 'alter function f1 ...'...
alter function f1 comment "comment"; alter function f1 comment "comment";
# --> connection con2 # --> connection con2
# Waitng for 'alter function f1 ...' to get blocked on MDL lock... # Waiting for 'alter function f1 ...' to get blocked on MDL lock...
# #
# We just mention p1() in the body of f2() to make # We just mention p1() in the body of f2() to make
# sure that p1() is prelocked for f2(). # sure that p1() is prelocked for f2().
@ -595,7 +595,7 @@ select f2() into @var;
end| end|
# Sending 'call p1()'... # Sending 'call p1()'...
call p1(); call p1();
# Waitng for 'call p1()' to get blocked on MDL lock on f1... # Waiting for 'call p1()' to get blocked on MDL lock on f1...
# Let 'alter function f1 ...' go through... # Let 'alter function f1 ...' go through...
commit; commit;
# --> connection con1 # --> connection con1
@ -634,7 +634,7 @@ get_lock("30977", 0)
# Sending 'select f3()'... # Sending 'select f3()'...
select f3(); select f3();
# --> connection con1 # --> connection con1
# Waitng for 'select f3()' to get blocked on the user level lock... # Waiting for 'select f3()' to get blocked on the user level lock...
# Do something to change the cache version. # Do something to change the cache version.
create function f4() returns int return 4; create function f4() returns int return 4;
drop function f4; drop function f4;

View File

@ -35,7 +35,7 @@ call bug9486();
show processlist; show processlist;
Id User Host db Command Time State Info Id User Host db Command Time State Info
# root localhost test Sleep # NULL # root localhost test Sleep # NULL
# root localhost test Query # Waiting for table update t1, t2 set val= 1 where id1=id2 # root localhost test Query # Waiting for table metadata lock update t1, t2 set val= 1 where id1=id2
# root localhost test Query # NULL show processlist # root localhost test Query # NULL show processlist
# root localhost test Sleep # NULL # root localhost test Sleep # NULL
unlock tables; unlock tables;

View File

@ -113,6 +113,7 @@ show status like '%Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0

View File

@ -1420,9 +1420,7 @@ create trigger t1_ai after insert on t1 for each row set @a := 7;
create table t2 (j int); create table t2 (j int);
insert into t2 values (1), (2); insert into t2 values (1), (2);
set @a:=""; set @a:="";
create table if not exists t1 select * from t2; insert into t1 select * from t2;
Warnings:
Note 1050 Table 't1' already exists
select * from t1; select * from t1;
i i
7 7
@ -1434,9 +1432,7 @@ drop trigger t1_bi;
drop trigger t1_ai; drop trigger t1_ai;
create table t3 (isave int); create table t3 (isave int);
create trigger t1_bi before insert on t1 for each row insert into t3 values (new.i); create trigger t1_bi before insert on t1 for each row insert into t3 values (new.i);
create table if not exists t1 select * from t2; insert into t1 select * from t2;
Warnings:
Note 1050 Table 't1' already exists
select * from t1; select * from t1;
i i
7 7
@ -1622,10 +1618,8 @@ After DELETE, old=REPLACE, inserting a new key
After INSERT, new=REPLACE, deleting the duplicate After INSERT, new=REPLACE, deleting the duplicate
truncate t1; truncate t1;
truncate t1_op_log; truncate t1_op_log;
create table if not exists t1 insert into t1
select NULL, "CREATE TABLE ... SELECT, inserting a new key"; select NULL, "CREATE TABLE ... SELECT, inserting a new key";
Warnings:
Note 1050 Table 't1' already exists
set @id=last_insert_id(); set @id=last_insert_id();
select * from t1; select * from t1;
id operation id operation
@ -1635,10 +1629,8 @@ operation
Before INSERT, new=CREATE TABLE ... SELECT, inserting a new key Before INSERT, new=CREATE TABLE ... SELECT, inserting a new key
After INSERT, new=CREATE TABLE ... SELECT, inserting a new key After INSERT, new=CREATE TABLE ... SELECT, inserting a new key
truncate t1_op_log; truncate t1_op_log;
create table if not exists t1 replace replace into t1
select @id, "CREATE TABLE ... REPLACE SELECT, deleting a duplicate key"; select @id, "CREATE TABLE ... REPLACE SELECT, deleting a duplicate key";
Warnings:
Note 1050 Table 't1' already exists
select * from t1; select * from t1;
id operation id operation
1 CREATE TABLE ... REPLACE SELECT, deleting a duplicate key 1 CREATE TABLE ... REPLACE SELECT, deleting a duplicate key
@ -1817,10 +1809,8 @@ After DELETE, old=REPLACE, inserting a new key
After INSERT, new=REPLACE, deleting the duplicate After INSERT, new=REPLACE, deleting the duplicate
truncate t1; truncate t1;
truncate t1_op_log; truncate t1_op_log;
create table if not exists v1 insert into v1
select NULL, "CREATE TABLE ... SELECT, inserting a new key"; select NULL, "CREATE TABLE ... SELECT, inserting a new key";
Warnings:
Note 1050 Table 'v1' already exists
set @id=last_insert_id(); set @id=last_insert_id();
select * from t1; select * from t1;
id operation id operation
@ -1830,10 +1820,8 @@ operation
Before INSERT, new=CREATE TABLE ... SELECT, inserting a new key Before INSERT, new=CREATE TABLE ... SELECT, inserting a new key
After INSERT, new=CREATE TABLE ... SELECT, inserting a new key After INSERT, new=CREATE TABLE ... SELECT, inserting a new key
truncate t1_op_log; truncate t1_op_log;
create table if not exists v1 replace replace into v1
select @id, "CREATE TABLE ... REPLACE SELECT, deleting a duplicate key"; select @id, "CREATE TABLE ... REPLACE SELECT, deleting a duplicate key";
Warnings:
Note 1050 Table 'v1' already exists
select * from t1; select * from t1;
id operation id operation
1 CREATE TABLE ... REPLACE SELECT, deleting a duplicate key 1 CREATE TABLE ... REPLACE SELECT, deleting a duplicate key
@ -2083,7 +2071,8 @@ BEGIN
UPDATE a_nonextisting_table SET a = 1; UPDATE a_nonextisting_table SET a = 1;
END// END//
CREATE TABLE IF NOT EXISTS t2 ( a INT, b INT ) SELECT a, b FROM t1; CREATE TABLE IF NOT EXISTS t2 ( a INT, b INT ) SELECT a, b FROM t1;
ERROR 42S02: Table 'test.a_nonextisting_table' doesn't exist Warnings:
Note 1050 Table 't2' already exists
SELECT * FROM t2; SELECT * FROM t2;
a b a b
DROP TABLE t1, t2; DROP TABLE t1, t2;

View File

@ -233,7 +233,7 @@ a+0 b+0
127 403 127 403
explain select a+0, b+0 from t1 where a > 40 and b > 200 order by 1; explain select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range a a 2 NULL 19 Using where; Using index; Using filesort 1 SIMPLE t1 range a a 2 NULL 27 Using where; Using index; Using filesort
select a+0, b+0 from t1 where a > 40 and b > 200 order by 1; select a+0, b+0 from t1 where a > 40 and b > 200 order by 1;
a+0 b+0 a+0 b+0
44 307 44 307

View File

@ -428,7 +428,7 @@ ERROR 42000: Incorrect usage/placement of 'SQL_CALC_FOUND_ROWS'
create temporary table t1 select a from t1 union select a from t2; create temporary table t1 select a from t1 union select a from t2;
drop temporary table t1; drop temporary table t1;
create table t1 select a from t1 union select a from t2; create table t1 select a from t1 union select a from t2;
ERROR HY000: You can't specify target table 't1' for update in FROM clause ERROR 42S01: Table 't1' already exists
select a from t1 union select a from t2 order by t2.a; select a from t1 union select a from t2 order by t2.a;
ERROR 42S22: Unknown column 't2.a' in 'order clause' ERROR 42S22: Unknown column 't2.a' in 'order clause'
drop table t1,t2; drop table t1,t2;

View File

@ -273,6 +273,7 @@ show status like 'handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -284,6 +285,7 @@ show status like 'handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 2 Handler_read_rnd 2
@ -294,6 +296,7 @@ show status like 'handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 1 Handler_read_first 1
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -304,6 +307,7 @@ show status like 'handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 1
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -315,6 +319,7 @@ show status like 'handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 0 Handler_read_key 0
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -368,6 +373,7 @@ show status like 'handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 1 Handler_read_next 1
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 1 Handler_read_rnd 1
@ -405,6 +411,7 @@ show status like '%Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 1 Handler_read_key 1
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -415,6 +422,7 @@ show status like '%Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 2 Handler_read_key 2
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -424,6 +432,7 @@ show status like '%Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 3 Handler_read_key 3
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0
@ -433,6 +442,7 @@ show status like '%Handler_read%';
Variable_name Value Variable_name Value
Handler_read_first 0 Handler_read_first 0
Handler_read_key 3 Handler_read_key 3
Handler_read_last 0
Handler_read_next 0 Handler_read_next 0
Handler_read_prev 0 Handler_read_prev 0
Handler_read_rnd 0 Handler_read_rnd 0

Binary file not shown.

Binary file not shown.

View File

@ -36,7 +36,8 @@ master-bin.000001 # Query # # drop database if exists mysqltest1
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table tt1, t1 master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS; FLUSH STATUS;
set binlog_format=mixed; set binlog_format=mixed;
reset master; reset master;
@ -76,7 +77,8 @@ master-bin.000001 # Query # # drop database if exists mysqltest1
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values (1) master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table tt1, t1 master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS; FLUSH STATUS;
set binlog_format=row; set binlog_format=row;
reset master; reset master;
@ -117,8 +119,8 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
FLUSH STATUS; FLUSH STATUS;
show databases; show databases;
Database Database

View File

@ -45,7 +45,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; DROP TABLE t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
############################################### ###############################################
RESET MASTER; RESET MASTER;
CREATE TEMPORARY TABLE t1 (c1 int) Engine=InnoDB; CREATE TEMPORARY TABLE t1 (c1 int) Engine=InnoDB;

View File

@ -234,7 +234,7 @@ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Rotate # # master-bin.000002;pos=4 master-bin.000001 # Rotate # # master-bin.000002;pos=4
show binlog events in 'master-bin.000002' from <binlog_start>; show binlog events in 'master-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Query # # use `test`; drop table t1 master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
set @ac = @@autocommit; set @ac = @@autocommit;
set autocommit= 0; set autocommit= 0;
reset master; reset master;
@ -256,7 +256,7 @@ master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; drop table t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
set @bcs = @@binlog_cache_size; set @bcs = @@binlog_cache_size;
set global binlog_cache_size=4096; set global binlog_cache_size=4096;
reset master; reset master;
@ -1086,7 +1086,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
reset master; reset master;
CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE bug39182; USE bug39182;
@ -1194,7 +1194,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` ( master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
@ -1229,7 +1229,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` ( master-bin.000001 # Query # # use `test`; CREATE TABLE IF NOT EXISTS `t2` (
@ -1251,8 +1251,8 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (mysql.user) master-bin.000001 # Table_map # # table_id: # (mysql.user)
master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Delete_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2`,`t3` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt1` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `tt1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2`,`t3` /* generated by server */
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`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)

View File

@ -13,4 +13,4 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */

View File

@ -28,11 +28,13 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # CREATE DATABASE `drop-temp+table-test` master-bin.000001 # Query # # CREATE DATABASE `drop-temp+table-test`
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int) master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int)
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp` /* generated by server */ master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp1` /* generated by server */ master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp1` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp3` /* generated by server */ master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp3` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `t` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp2` /* generated by server */ master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp2` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS tmp2, t master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `t` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `tmp2`,`t` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `shortn2`,`table:name`,`shortn1` master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `shortn2`,`table:name`,`shortn1`
DROP DATABASE `drop-temp+table-test`; DROP DATABASE `drop-temp+table-test`;
RESET MASTER; RESET MASTER;

View File

@ -286,7 +286,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t2) master-bin.000001 # Table_map # # table_id: # (test.t2)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1,t2 master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
master-bin.000001 # Query # # use `test`; create table t0 (n int) master-bin.000001 # Query # # use `test`; create table t0 (n int)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t0) master-bin.000001 # Table_map # # table_id: # (test.t0)
@ -321,7 +321,8 @@ Note 1051 Unknown table 't2'
CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb;
INSERT INTO t1 VALUES (4,4); INSERT INTO t1 VALUES (4,4);
CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
SELECT * from t2; SELECT * from t2;
a b a b
TRUNCATE table t2; TRUNCATE table t2;
@ -339,11 +340,13 @@ Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back Warning 1196 Some non-transactional changed tables couldn't be rolled back
INSERT INTO t1 values (8,8); INSERT INTO t1 values (8,8);
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
COMMIT; COMMIT;
INSERT INTO t1 values (9,9); INSERT INTO t1 values (9,9);
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
ROLLBACK; ROLLBACK;
Warnings: Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back Warning 1196 Some non-transactional changed tables couldn't be rolled back
@ -367,11 +370,13 @@ a b
10 10 10 10
INSERT INTO t2 values (100,100); INSERT INTO t2 values (100,100);
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
COMMIT; COMMIT;
INSERT INTO t2 values (101,101); INSERT INTO t2 values (101,101);
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
ROLLBACK; ROLLBACK;
SELECT * from t2; SELECT * from t2;
a b a b
@ -383,12 +388,12 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE if exists t2 master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2 master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
@ -399,7 +404,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t2 master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
@ -413,43 +418,15 @@ master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS `t2` ( master-bin.000001 # Table_map # # table_id: # (test.t1)
`a` int(11) NOT NULL DEFAULT '0', master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)
master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F master-bin.000001 # Write_rows # # table_id: # flags: STMT_END_F
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS `t2` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB
master-bin.000001 # Query # # ROLLBACK
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 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS `t2` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB
master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; CREATE TEMPORARY TABLE IF NOT EXISTS `t2` (
`a` int(11) NOT NULL DEFAULT '0',
`b` int(11) DEFAULT NULL,
PRIMARY KEY (`a`)
) ENGINE=InnoDB
master-bin.000001 # Query # # ROLLBACK
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `t2` /* generated by server */ master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE IF EXISTS `t2` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
reset master; reset master;
create table t1 (a int) engine=innodb; create table t1 (a int) engine=innodb;
create table t2 (a int) engine=myisam; create table t2 (a int) engine=myisam;

View File

@ -143,7 +143,7 @@ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Rotate # # master-bin.000002;pos=4 master-bin.000001 # Rotate # # master-bin.000002;pos=4
show binlog events in 'master-bin.000002' from <binlog_start>; show binlog events in 'master-bin.000002' from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000002 # Query # # use `test`; drop table t1 master-bin.000002 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
set @ac = @@autocommit; set @ac = @@autocommit;
set autocommit= 0; set autocommit= 0;
reset master; reset master;
@ -162,7 +162,7 @@ master-bin.000001 # Query # # use `test`; insert into t1 values (1)
master-bin.000001 # Query # # use `test`; insert into t1 values (2) 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 # Query # # use `test`; insert into t1 values (3)
master-bin.000001 # Xid # # COMMIT /* XID */ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # use `test`; drop table t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
set @bcs = @@binlog_cache_size; set @bcs = @@binlog_cache_size;
set global binlog_cache_size=4096; set global binlog_cache_size=4096;
reset master; reset master;
@ -591,7 +591,7 @@ master-bin.000001 # Query # # use `test`; create table t1 (a bigint unsigned, b
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; insert into t1 values (9999999999999999,14632475938453979136) master-bin.000001 # Query # # use `test`; insert into t1 values (9999999999999999,14632475938453979136)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
reset master; reset master;
CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE DATABASE bug39182 DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
USE bug39182; USE bug39182;
@ -637,7 +637,7 @@ DROP TEMPORARY TABLE tmp1;
END END
master-bin.000001 # Query # # use `bug39182`; CREATE TEMPORARY TABLE tmp1 master-bin.000001 # Query # # use `bug39182`; CREATE TEMPORARY TABLE tmp1
SELECT * FROM t1 WHERE a LIKE CONCAT("%", NAME_CONST('s1',_utf8'test' COLLATE 'utf8_unicode_ci'), "%") SELECT * FROM t1 WHERE a LIKE CONCAT("%", NAME_CONST('s1',_utf8'test' COLLATE 'utf8_unicode_ci'), "%")
master-bin.000001 # Query # # use `bug39182`; DROP TEMPORARY TABLE tmp1 master-bin.000001 # Query # # use `bug39182`; DROP TEMPORARY TABLE `tmp1` /* generated by server */
DROP PROCEDURE p1; DROP PROCEDURE p1;
DROP TABLE t1; DROP TABLE t1;
DROP DATABASE bug39182; DROP DATABASE bug39182;
@ -701,7 +701,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Intvar # # INSERT_ID=127 master-bin.000001 # Intvar # # INSERT_ID=127
master-bin.000001 # Query # # use `test`; insert into t1 values(null) master-bin.000001 # Query # # use `test`; insert into t1 values(null)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int)
master-bin.000001 # Query # # use `test`; create table if not exists t2 select * from t1 master-bin.000001 # Query # # use `test`; create table if not exists t2 select * from t1
master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int) master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int)
@ -728,7 +728,7 @@ master-bin.000001 # Query # # BEGIN
master-bin.000001 # Intvar # # INSERT_ID=127 master-bin.000001 # Intvar # # INSERT_ID=127
master-bin.000001 # Query # # use `test`; insert into t1 values(null) master-bin.000001 # Query # # use `test`; insert into t1 values(null)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; create table t1 (a int) master-bin.000001 # Query # # use `test`; create table t1 (a int)
master-bin.000001 # Query # # use `test`; create table if not exists t2 select * from t1 master-bin.000001 # Query # # use `test`; create table if not exists t2 select * from t1
master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int) master-bin.000001 # Query # # use `test`; create temporary table tt1 (a int)
@ -742,7 +742,8 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `mysql`; DELETE FROM user WHERE host='localhost' AND user='@#@' master-bin.000001 # Query # # use `mysql`; DELETE FROM user WHERE host='localhost' AND user='@#@'
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1,t2,t3,tt1 master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `tt1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2`,`t3` /* generated by server */
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`; create table t1 (a int not null auto_increment, primary key (a)) engine=myisam
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Table_map # # table_id: # (test.t1) master-bin.000001 # Table_map # # table_id: # (test.t1)

View File

@ -107,7 +107,7 @@ select * from t3;
a a
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; drop table t1,t2 master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole master-bin.000001 # Query # # use `test`; create table t1 (a int) engine=blackhole
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; delete from t1 where a=10 master-bin.000001 # Query # # use `test`; delete from t1 where a=10

View File

@ -12,4 +12,4 @@ master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(1) master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES(1)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t1 master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */

View File

@ -34,12 +34,14 @@ master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE tmp2(c1 int) master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE tmp2(c1 int)
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE tmp3(c1 int) master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TEMPORARY TABLE tmp3(c1 int)
master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int) master-bin.000001 # Query # # use `drop-temp+table-test`; CREATE TABLE t(c1 int)
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS tmp master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS tmp master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS tmp, tmp1 master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp1` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE tmp3 master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS tmp2, t master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE `tmp3` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS tmp2, t master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TEMPORARY TABLE IF EXISTS `tmp2` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `t` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP TABLE IF EXISTS `tmp2`,`t` /* generated by server */
master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `shortn2`,`table:name`,`shortn1` master-bin.000001 # Query # # use `drop-temp+table-test`; DROP /*!40005 TEMPORARY */ TABLE IF EXISTS `shortn2`,`table:name`,`shortn1`
DROP DATABASE `drop-temp+table-test`; DROP DATABASE `drop-temp+table-test`;
RESET MASTER; RESET MASTER;

View File

@ -270,7 +270,7 @@ master-bin.000001 # Xid # # COMMIT /* XID */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; insert into t2 values (20) master-bin.000001 # Query # # use `test`; insert into t2 values (20)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; drop table t1,t2 master-bin.000001 # Query # # use `test`; DROP TABLE `t1`,`t2` /* generated by server */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; create temporary table ti (a int) engine=innodb master-bin.000001 # Query # # use `test`; create temporary table ti (a int) engine=innodb
master-bin.000001 # Query # # ROLLBACK master-bin.000001 # Query # # ROLLBACK
@ -315,7 +315,8 @@ Note 1051 Unknown table 't2'
CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb;
INSERT INTO t1 VALUES (4,4); INSERT INTO t1 VALUES (4,4);
CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
SELECT * from t2; SELECT * from t2;
a b a b
TRUNCATE table t2; TRUNCATE table t2;
@ -335,11 +336,13 @@ Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back Warning 1196 Some non-transactional changed tables couldn't be rolled back
INSERT INTO t1 values (8,8); INSERT INTO t1 values (8,8);
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
COMMIT; COMMIT;
INSERT INTO t1 values (9,9); INSERT INTO t1 values (9,9);
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
ROLLBACK; ROLLBACK;
Warnings: Warnings:
Warning 1196 Some non-transactional changed tables couldn't be rolled back Warning 1196 Some non-transactional changed tables couldn't be rolled back
@ -363,11 +366,13 @@ a b
10 10 10 10
INSERT INTO t2 values (100,100); INSERT INTO t2 values (100,100);
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
COMMIT; COMMIT;
INSERT INTO t2 values (101,101); INSERT INTO t2 values (101,101);
CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1; CREATE TEMPORARY TABLE IF NOT EXISTS t2 (primary key (a)) engine=innodb select * from t1;
ERROR 23000: Duplicate entry '1' for key 'PRIMARY' Warnings:
Note 1050 Table 't2' already exists
ROLLBACK; ROLLBACK;
SELECT * from t2; SELECT * from t2;
a b a b
@ -378,11 +383,11 @@ Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (1,1),(1,2) master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (1,1),(1,2)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE if exists t2 master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (3,3) master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (3,3)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2 master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb master-bin.000001 # Query # # use `test`; CREATE TABLE t2 (a int, b int, primary key (a)) engine=innodb
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4,4) master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (4,4)
@ -391,7 +396,7 @@ master-bin.000001 # Query # # use `test`; TRUNCATE table t2
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5,5) master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (5,5)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # use `test`; DROP TABLE t2 master-bin.000001 # Query # # use `test`; DROP TABLE `t2` /* generated by server */
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (6,6) master-bin.000001 # Query # # use `test`; INSERT INTO t1 values (6,6)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
@ -412,10 +417,8 @@ master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN
master-bin.000001 # Query # # use `test`; INSERT INTO t2 values (100,100) master-bin.000001 # Query # # use `test`; INSERT INTO t2 values (100,100)
master-bin.000001 # Query # # COMMIT master-bin.000001 # Query # # COMMIT
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # use `test`; DROP TEMPORARY TABLE `t2` /* generated by server */
master-bin.000001 # Query # # use `test`; INSERT INTO t2 values (101,101) master-bin.000001 # Query # # use `test`; DROP TABLE `t1` /* generated by server */
master-bin.000001 # Query # # ROLLBACK
master-bin.000001 # Query # # use `test`; DROP TABLE t1,t2
reset master; reset master;
create table t1 (a int) engine=innodb; create table t1 (a int) engine=innodb;
create table t2 (a int) engine=myisam; create table t2 (a int) engine=myisam;

View File

@ -59,8 +59,8 @@ RELEASE_LOCK('Bug#34306')
# Show binlog events # Show binlog events
show binlog events from <binlog_start>; show binlog events from <binlog_start>;
Log_name Pos Event_type Server_id End_log_pos Info Log_name Pos Event_type Server_id End_log_pos Info
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t1 master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t1` /* generated by server */
master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS t2 master-bin.000001 # Query # # use `test`; DROP TABLE IF EXISTS `t2` /* generated by server */
master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT) master-bin.000001 # Query # # use `test`; CREATE TABLE t1 (a INT)
master-bin.000001 # Query # # use `test`; CREATE TABLE t2 LIKE t1 master-bin.000001 # Query # # use `test`; CREATE TABLE t2 LIKE t1
master-bin.000001 # Query # # BEGIN master-bin.000001 # Query # # BEGIN

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