Auto-merge from mysql-5.5-merge.
This commit is contained in:
commit
f0fe6e4dac
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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 '\\'
|
||||||
|
@ -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();
|
||||||
|
@ -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()
|
||||||
|
@ -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
|
||||||
|
@ -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],[
|
||||||
|
@ -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,
|
||||||
|
@ -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 */
|
||||||
|
|
||||||
|
|
||||||
|
@ -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);
|
||||||
|
217
include/mysql/plugin_audit.h.pp
Normal file
217
include/mysql/plugin_audit.h.pp
Normal 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];
|
||||||
|
};
|
@ -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);
|
|
@ -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.
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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 #
|
||||||
|
@ -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;
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
|
@ -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;
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
5
mysql-test/include/not_blackhole.inc
Normal file
5
mysql-test/include/not_blackhole.inc
Normal 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;
|
||||||
|
}
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
#
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
9
mysql-test/r/ctype_utf16_def.result
Normal file
9
mysql-test/r/ctype_utf16_def.result
Normal 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)
|
@ -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
@ -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;
|
||||||
|
@ -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, '|')
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
#
|
||||||
|
@ -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
|
||||||
|
60
mysql-test/r/handler_read_last.result
Normal file
60
mysql-test/r/handler_read_last.result
Normal 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;
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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()
|
||||||
|
@ -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;
|
||||||
|
5
mysql-test/r/mysql_not_windows.result
Normal file
5
mysql-test/r/mysql_not_windows.result
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Bug #54466 client 5.5 built from source lacks "pager" support
|
||||||
|
a
|
||||||
|
1
|
||||||
|
|
||||||
|
End of tests
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
16
mysql-test/r/partition_not_blackhole.result
Normal file
16
mysql-test/r/partition_not_blackhole.result
Normal 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
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
#
|
#
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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
|
||||||
|
BIN
mysql-test/std_data/parts/t1_blackhole.frm
Normal file
BIN
mysql-test/std_data/parts/t1_blackhole.frm
Normal file
Binary file not shown.
BIN
mysql-test/std_data/parts/t1_blackhole.par
Normal file
BIN
mysql-test/std_data/parts/t1_blackhole.par
Normal file
Binary file not shown.
@ -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
|
||||||
|
@ -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;
|
||||||
|
@ -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)
|
||||||
|
@ -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 */
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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 */
|
||||||
|
@ -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;
|
||||||
|
@ -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;
|
||||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user