Merge of mysql-trunk-merge into mysql-trunk-bugfixing.

This commit is contained in:
Davi Arnaut 2010-07-16 17:02:40 -03:00
commit 4d532f6ea6
199 changed files with 2968 additions and 927 deletions

View File

@ -90,22 +90,19 @@ SSL_LIBRARY=--with-ssl
if [ "x$warning_mode" != "xpedantic" ]; then if [ "x$warning_mode" != "xpedantic" ]; then
# Both C and C++ warnings # Both C and C++ warnings
warnings="-Wimplicit -Wreturn-type -Wswitch -Wtrigraphs -Wcomment -W" warnings="-Wall -Wextra -Wunused -Wwrite-strings"
warnings="$warnings -Wchar-subscripts -Wformat -Wparentheses -Wsign-compare"
warnings="$warnings -Wwrite-strings -Wunused-function -Wunused-label -Wunused-value -Wunused-variable"
# For more warnings, uncomment the following line # For more warnings, uncomment the following line
# warnings="$global_warnings -Wshadow" # warnings="$warnings -Wshadow"
# C warnings # C warnings
c_warnings="$warnings -Wunused-parameter" c_warnings="$warnings"
# C++ warnings # C++ warnings
cxx_warnings="$warnings" cxx_warnings="$warnings -Wno-unused-parameter"
# cxx_warnings="$cxx_warnings -Woverloaded-virtual -Wsign-promo" # cxx_warnings="$cxx_warnings -Woverloaded-virtual -Wsign-promo"
cxx_warnings="$cxx_warnings -Wreorder"
cxx_warnings="$cxx_warnings -Wctor-dtor-privacy -Wnon-virtual-dtor" cxx_warnings="$cxx_warnings -Wctor-dtor-privacy -Wnon-virtual-dtor"
# Added unless --with-debug=full # Added unless --with-debug=full
debug_extra_cflags="-O0 -g3 -gdwarf-2" #1 -Wuninitialized" debug_extra_cflags="-O0 -g3 -gdwarf-2"
else else
warnings="-W -Wall -ansi -pedantic -Wno-long-long -Wno-unused -D_POSIX_SOURCE" warnings="-W -Wall -ansi -pedantic -Wno-long-long -Wno-unused -D_POSIX_SOURCE"
c_warnings="$warnings" c_warnings="$warnings"

View File

@ -187,69 +187,76 @@ check_cpu () {
cc=$CC cc=$CC
fi fi
if test "x$compiler" = "x" ; then if test "x$core2" = "xyes" ; then
cc_ver=`$cc --version | sed 1q` cpu_arg="core2"
cc_verno=`echo $cc_ver | sed -e 's/^.*(GCC)//g; s/[^0-9. ]//g; s/^ *//g; s/ .*//g'` fi
if test "x$compiler" != "x" ; then
return 0
fi
# check if compiler is gcc and dump its version
cc_verno=`$cc -dumpversion 2>/dev/null`
if test "x$?" = "x0" ; then
set -- `echo $cc_verno | tr '.' ' '` set -- `echo $cc_verno | tr '.' ' '`
cc_ver="GCC"
cc_major=$1 cc_major=$1
cc_minor=$2 cc_minor=$2
cc_patch=$3 cc_patch=$3
cc_comp=`expr $cc_major '*' 100 '+' $cc_minor` cc_comp=`expr $cc_major '*' 100 '+' $cc_minor`
fi
case "$cc_ver--$cc_verno" in
*GCC*)
# different gcc backends (and versions) have different CPU flags
case `gcc -dumpmachine` in
i?86-* | x86_64-*)
if test "$cc_comp" -lt 304 ; then
check_cpu_cflags="-mcpu=${cpu_arg}"
elif test "$cc_comp" -ge 402 ; then
check_cpu_cflags="-mtune=native"
else
check_cpu_cflags="-mtune=${cpu_arg}"
fi
;;
ppc-*)
check_cpu_cflags="-mcpu=${cpu_arg} -mtune=${cpu_arg}"
;;
*)
check_cpu_cflags=""
return
;;
esac
;;
2.95.*)
# GCC 2.95 doesn't expose its name in --version output
check_cpu_cflags="-m${cpu_arg}"
;;
*)
check_cpu_cflags=""
return
;;
esac
# now we check whether the compiler really understands the cpu type
touch __test.c
while [ "$cpu_arg" ] ; do case "$cc_ver--$cc_verno" in
printf "testing $cpu_arg ... " >&2 *GCC*)
# different gcc backends (and versions) have different CPU flags
# compile check case `gcc -dumpmachine` in
eval "$cc -c $check_cpu_cflags __test.c" 2>/dev/null i?86-* | x86_64-*)
if test "x$?" = "x0" ; then if test "$cc_comp" -lt 304 ; then
echo ok >&2 check_cpu_cflags="-mcpu=${cpu_arg}"
break; elif test "$cc_comp" -ge 402 ; then
fi check_cpu_cflags="-mtune=native"
else
echo failed >&2 check_cpu_cflags="-mtune=${cpu_arg}"
fi
;;
ppc-*)
check_cpu_cflags="-mcpu=${cpu_arg} -mtune=${cpu_arg}"
;;
*)
check_cpu_cflags=""
return
;;
esac
;;
2.95.*)
# GCC 2.95 doesn't expose its name in --version output
check_cpu_cflags="-m${cpu_arg}"
;;
*)
check_cpu_cflags="" check_cpu_cflags=""
return
;;
esac
# now we check whether the compiler really understands the cpu type
touch __test.c
while [ "$cpu_arg" ] ; do
printf "testing $cpu_arg ... " >&2
# compile check
eval "$cc -c $check_cpu_cflags __test.c" 2>/dev/null
if test "x$?" = "x0" ; then
echo ok >&2
break; break;
done fi
rm __test.*
fi echo failed >&2
if test "x$core2" = "xyes" ; then check_cpu_cflags=""
cpu_arg="core2" break;
fi done
rm __test.*
return 0 return 0
} }
check_cpu check_cpu

34
CMakeLists.txt Executable file → Normal file
View File

@ -104,6 +104,27 @@ IF(DEFINED ENV{CPPFLAGS})
ADD_DEFINITIONS($ENV{CPPFLAGS}) ADD_DEFINITIONS($ENV{CPPFLAGS})
ENDIF() ENDIF()
#
# Control aspects of the development environment which are
# specific to MySQL maintainers and developers.
#
OPTION(MYSQL_MAINTAINER_MODE "MySQL maintainer-specific development environment" OFF)
# Whether the maintainer mode should be enabled.
IF(MYSQL_MAINTAINER_MODE)
IF(CMAKE_COMPILER_IS_GNUCC)
SET(MY_MAINTAINER_C_WARNINGS "-Wall -Wextra -Wunused -Wwrite-strings -Werror"
CACHE STRING "C warning options used in maintainer builds.")
ENDIF()
IF(CMAKE_COMPILER_IS_GNUCXX)
SET(MY_MAINTAINER_CXX_WARNINGS "${MY_MAINTAINER_C_WARNINGS} -Wno-unused-parameter"
CACHE STRING "C++ warning options used in maintainer builds.")
ENDIF()
# Do not make warnings in checks into errors.
IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX)
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Wno-error")
ENDIF()
ENDIF()
# Add macros # Add macros
INCLUDE(character_sets) INCLUDE(character_sets)
INCLUDE(zlib) INCLUDE(zlib)
@ -226,6 +247,19 @@ MYSQL_CHECK_SSL()
# Add readline or libedit. # Add readline or libedit.
MYSQL_CHECK_READLINE() MYSQL_CHECK_READLINE()
#
# Setup maintainer mode options by the end. Platform checks are
# not run with the warning options as to not perturb fragile checks
# (i.e. do not make warnings into errors).
#
IF(MYSQL_MAINTAINER_MODE)
# Set compiler flags required under maintainer mode.
MESSAGE(STATUS "C warning options: ${MY_MAINTAINER_C_WARNINGS}")
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${MY_MAINTAINER_C_WARNINGS}")
MESSAGE(STATUS "C++ warning options: ${MY_MAINTAINER_CXX_WARNINGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${MY_MAINTAINER_CXX_WARNINGS}")
ENDIF()
IF(NOT WITHOUT_SERVER) IF(NOT WITHOUT_SERVER)
SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "") SET (MYSQLD_STATIC_PLUGIN_LIBS "" CACHE INTERNAL "")
# Add storage engines and plugins. # Add storage engines and plugins.

0
client/CMakeLists.txt Executable file → Normal file
View File

View File

@ -88,7 +88,6 @@ extern "C" {
#endif #endif
#endif #endif
#undef bcmp // Fix problem with new readline
#if defined(__WIN__) #if defined(__WIN__)
#include <conio.h> #include <conio.h>
#else #else

View File

@ -436,7 +436,7 @@ Exit_status Load_log_processor::process_first_event(const char *bname,
ptr= fname + target_dir_name_len; ptr= fname + target_dir_name_len;
memcpy(ptr,bname,blen); memcpy(ptr,bname,blen);
ptr+= blen; ptr+= blen;
ptr+= my_sprintf(ptr, (ptr, "-%x", file_id)); ptr+= sprintf(ptr, "-%x", file_id);
if ((file= create_unique_file(fname,ptr)) < 0) if ((file= create_unique_file(fname,ptr)) < 0)
{ {

View File

@ -696,8 +696,7 @@ static int handle_request_for_tables(char *tables, uint length)
if (opt_all_in_1) if (opt_all_in_1)
{ {
/* No backticks here as we added them before */ /* No backticks here as we added them before */
query_length= my_sprintf(query, query_length= sprintf(query, "%s TABLE %s %s", op, tables, options);
(query, "%s TABLE %s %s", op, tables, options));
} }
else else
{ {

View File

@ -657,8 +657,7 @@ list_fields(MYSQL *mysql,const char *db,const char *table,
char query[1024],*end; char query[1024],*end;
MYSQL_RES *result; MYSQL_RES *result;
MYSQL_ROW row; MYSQL_ROW row;
ulong rows; ulong UNINIT_VAR(rows);
LINT_INIT(rows);
if (mysql_select_db(mysql,db)) if (mysql_select_db(mysql,db))
{ {

View File

@ -5827,7 +5827,7 @@ int read_command(struct st_command** command_ptr)
(struct st_command*) my_malloc(sizeof(*command), (struct st_command*) my_malloc(sizeof(*command),
MYF(MY_WME|MY_ZEROFILL))) || MYF(MY_WME|MY_ZEROFILL))) ||
insert_dynamic(&q_lines, (uchar*) &command)) insert_dynamic(&q_lines, (uchar*) &command))
die(NullS); die("Out of memory");
command->type= Q_UNKNOWN; command->type= Q_UNKNOWN;
read_command_buf[0]= 0; read_command_buf[0]= 0;
@ -6314,7 +6314,7 @@ void init_win_path_patterns()
} }
if (insert_dynamic(&patterns, (uchar*) &p)) if (insert_dynamic(&patterns, (uchar*) &p))
die(NullS); die("Out of memory");
DBUG_PRINT("info", ("p: %s", p)); DBUG_PRINT("info", ("p: %s", p));
while (*p) while (*p)
@ -9406,8 +9406,7 @@ REPLACE *init_replace(char * *from, char * *to,uint count,
for (i=1 ; i <= found_sets ; i++) for (i=1 ; i <= found_sets ; i++)
{ {
pos=from[found_set[i-1].table_offset]; pos=from[found_set[i-1].table_offset];
rep_str[i].found= !bcmp((const uchar*) pos, rep_str[i].found= !memcmp(pos, "\\^", 3) ? 2 : 1;
(const uchar*) "\\^", 3) ? 2 : 1;
rep_str[i].replace_string=to_array[found_set[i-1].table_offset]; rep_str[i].replace_string=to_array[found_set[i-1].table_offset];
rep_str[i].to_offset=found_set[i-1].found_offset-start_at_word(pos); rep_str[i].to_offset=found_set[i-1].found_offset-start_at_word(pos);
rep_str[i].from_offset=found_set[i-1].found_offset-replace_len(pos)+ rep_str[i].from_offset=found_set[i-1].found_offset-replace_len(pos)+
@ -9535,8 +9534,8 @@ void copy_bits(REP_SET *to,REP_SET *from)
int cmp_bits(REP_SET *set1,REP_SET *set2) int cmp_bits(REP_SET *set1,REP_SET *set2)
{ {
return bcmp((uchar*) set1->bits,(uchar*) set2->bits, return memcmp(set1->bits, set2->bits,
sizeof(uint) * set1->size_of_bits); sizeof(uint) * set1->size_of_bits);
} }
@ -9605,17 +9604,15 @@ int find_found(FOUND_SET *found_set,uint table_offset, int found_offset)
uint start_at_word(char * pos) uint start_at_word(char * pos)
{ {
return (((!bcmp((const uchar*) pos, (const uchar*) "\\b",2) && pos[2]) || return (((!memcmp(pos, "\\b",2) && pos[2]) ||
!bcmp((const uchar*) pos, (const uchar*) "\\^", 2)) ? 1 : 0); !memcmp(pos, "\\^", 2)) ? 1 : 0);
} }
uint end_of_word(char * pos) uint end_of_word(char * pos)
{ {
char * end=strend(pos); char * end=strend(pos);
return ((end > pos+2 && !bcmp((const uchar*) end-2, return ((end > pos+2 && !memcmp(end-2, "\\b", 2)) ||
(const uchar*) "\\b", 2)) || (end >= pos+2 && !memcmp(end-2, "\\$",2))) ? 1 : 0;
(end >= pos+2 && !bcmp((const uchar*) end-2,
(const uchar*) "\\$",2))) ? 1 : 0;
} }
/**************************************************************************** /****************************************************************************

View File

@ -184,6 +184,12 @@ foreach my $option (@ARGV)
$cmakeargs = $cmakeargs." -DWITH_DEBUG_FULL=1"; $cmakeargs = $cmakeargs." -DWITH_DEBUG_FULL=1";
next; next;
} }
if ($option =~ /mysql-maintainer-mode/)
{
$cmakeargs = $cmakeargs." -DMYSQL_MAINTAINER_MODE=" .
($option =~ /enable/ ? "1" : "0");
next;
}
$option = uc($option); $option = uc($option);
$option =~ s/-/_/g; $option =~ s/-/_/g;

0
cmake/install_layout.cmake Executable file → Normal file
View File

View File

@ -30,7 +30,6 @@ SET(HAVE_ASM_MSR_H CACHE INTERNAL "")
SET(HAVE_BACKTRACE CACHE INTERNAL "") SET(HAVE_BACKTRACE CACHE INTERNAL "")
SET(HAVE_BACKTRACE_SYMBOLS CACHE INTERNAL "") SET(HAVE_BACKTRACE_SYMBOLS CACHE INTERNAL "")
SET(HAVE_BACKTRACE_SYMBOLS_FD CACHE INTERNAL "") SET(HAVE_BACKTRACE_SYMBOLS_FD CACHE INTERNAL "")
SET(HAVE_BCMP CACHE INTERNAL "")
SET(HAVE_BFILL CACHE INTERNAL "") SET(HAVE_BFILL CACHE INTERNAL "")
SET(HAVE_BMOVE CACHE INTERNAL "") SET(HAVE_BMOVE CACHE INTERNAL "")
SET(HAVE_BSD_SIGNALS CACHE INTERNAL "") SET(HAVE_BSD_SIGNALS CACHE INTERNAL "")

View File

@ -31,4 +31,4 @@ noinst_HEADERS = readline.h chardefs.h keymaps.h \
EXTRA_DIST= emacs_keymap.c vi_keymap.c CMakeLists.txt EXTRA_DIST= emacs_keymap.c vi_keymap.c CMakeLists.txt
DEFS = -DMYSQL_CLIENT_NO_THREADS -DHAVE_CONFIG_H -DNO_KILL_INTR DEFS = -DMYSQL_CLIENT_NO_THREADS -DHAVE_CONFIG_H -DNO_KILL_INTR -D_GNU_SOURCE=1

View File

@ -125,7 +125,6 @@
#cmakedefine HAVE_AIOWAIT 1 #cmakedefine HAVE_AIOWAIT 1
#cmakedefine HAVE_ALARM 1 #cmakedefine HAVE_ALARM 1
#cmakedefine HAVE_ALLOCA 1 #cmakedefine HAVE_ALLOCA 1
#cmakedefine HAVE_BCMP 1
#cmakedefine HAVE_BFILL 1 #cmakedefine HAVE_BFILL 1
#cmakedefine HAVE_BMOVE 1 #cmakedefine HAVE_BMOVE 1
#cmakedefine HAVE_BZERO 1 #cmakedefine HAVE_BZERO 1

View File

@ -0,0 +1,64 @@
#
# Control aspects of the development environment which are
# specific to MySQL maintainers and developers.
#
AC_DEFUN([MY_MAINTAINER_MODE], [
AC_MSG_CHECKING([whether to enable the maintainer-specific development environment])
AC_ARG_ENABLE([mysql-maintainer-mode],
[AS_HELP_STRING([--enable-mysql-maintainer-mode],
[Enable a MySQL maintainer-specific development environment])],
[USE_MYSQL_MAINTAINER_MODE=$enableval],
[USE_MYSQL_MAINTAINER_MODE=no])
AC_MSG_RESULT([$USE_MYSQL_MAINTAINER_MODE])
])
# Set warning options required under maintainer mode.
AC_DEFUN([MY_MAINTAINER_MODE_WARNINGS], [
# Setup GCC warning options.
AS_IF([test "$GCC" = "yes"], [
C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Werror"
CXX_WARNINGS="${C_WARNINGS} -Wno-unused-parameter"
])
# Test whether the warning options work.
# Test C options
AS_IF([test -n "$C_WARNINGS"], [
save_CFLAGS="$CFLAGS"
AC_MSG_CHECKING([whether to use C warning options ${C_WARNINGS}])
AC_LANG_PUSH(C)
CFLAGS="$CFLAGS ${C_WARNINGS}"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [myac_c_warning_flags=yes],
[myac_c_warning_flags=no])
AC_LANG_POP()
AC_MSG_RESULT([$myac_c_warning_flags])
CFLAGS="$save_CFLAGS"
])
# Test C++ options
AS_IF([test -n "$CXX_WARNINGS"], [
save_CXXFLAGS="$CXXFLAGS"
AC_MSG_CHECKING([whether to use C++ warning options ${CXX_WARNINGS}])
AC_LANG_PUSH(C++)
CXXFLAGS="$CXXFLAGS ${CXX_WARNINGS}"
AC_COMPILE_IFELSE([AC_LANG_PROGRAM()], [myac_cxx_warning_flags=yes],
[myac_cxx_warning_flags=no])
AC_LANG_POP()
AC_MSG_RESULT([$myac_cxx_warning_flags])
CXXFLAGS="$save_CXXFLAGS"
])
# Set compile flag variables.
AS_IF([test "$myac_c_warning_flags" = "yes"], [
AM_CFLAGS="${AM_CFLAGS} ${C_WARNINGS}"
AC_SUBST([AM_CFLAGS])])
AS_IF([test "$myac_cxx_warning_flags" = "yes"], [
AM_CXXFLAGS="${AM_CXXFLAGS} ${CXX_WARNINGS}"
AC_SUBST([AM_CXXFLAGS])])
])
# Set compiler flags required under maintainer mode.
AC_DEFUN([MY_MAINTAINER_MODE_SETUP], [
AS_IF([test "$USE_MYSQL_MAINTAINER_MODE" = "yes"],
[MY_MAINTAINER_MODE_WARNINGS])
])

View File

@ -273,7 +273,6 @@ CHECK_FUNCTION_EXISTS (backtrace HAVE_BACKTRACE)
CHECK_FUNCTION_EXISTS (backtrace_symbols HAVE_BACKTRACE_SYMBOLS) CHECK_FUNCTION_EXISTS (backtrace_symbols HAVE_BACKTRACE_SYMBOLS)
CHECK_FUNCTION_EXISTS (backtrace_symbols_fd HAVE_BACKTRACE_SYMBOLS_FD) CHECK_FUNCTION_EXISTS (backtrace_symbols_fd HAVE_BACKTRACE_SYMBOLS_FD)
CHECK_FUNCTION_EXISTS (printstack HAVE_PRINTSTACK) CHECK_FUNCTION_EXISTS (printstack HAVE_PRINTSTACK)
CHECK_FUNCTION_EXISTS (bcmp HAVE_BCMP)
CHECK_FUNCTION_EXISTS (bfill HAVE_BFILL) CHECK_FUNCTION_EXISTS (bfill HAVE_BFILL)
CHECK_FUNCTION_EXISTS (bmove HAVE_BMOVE) CHECK_FUNCTION_EXISTS (bmove HAVE_BMOVE)
CHECK_FUNCTION_EXISTS (bsearch HAVE_BSEARCH) CHECK_FUNCTION_EXISTS (bsearch HAVE_BSEARCH)

View File

@ -80,6 +80,7 @@ MYSQL_TCP_PORT_DEFAULT=3306
MYSQL_UNIX_ADDR_DEFAULT="/tmp/mysql.sock" MYSQL_UNIX_ADDR_DEFAULT="/tmp/mysql.sock"
dnl Include m4 dnl Include m4
sinclude(config/ac-macros/maintainer.m4)
sinclude(config/ac-macros/alloca.m4) sinclude(config/ac-macros/alloca.m4)
sinclude(config/ac-macros/check_cpu.m4) sinclude(config/ac-macros/check_cpu.m4)
sinclude(config/ac-macros/character_sets.m4) sinclude(config/ac-macros/character_sets.m4)
@ -118,6 +119,8 @@ AC_SUBST(SHARED_LIB_MAJOR_VERSION)
AC_SUBST(SHARED_LIB_VERSION) AC_SUBST(SHARED_LIB_VERSION)
AC_SUBST(AVAILABLE_LANGUAGES) AC_SUBST(AVAILABLE_LANGUAGES)
# Whether the maintainer mode should be enabled.
MY_MAINTAINER_MODE
# Canonicalize the configuration name. # Canonicalize the configuration name.
@ -284,40 +287,6 @@ AC_CHECK_PROGS(YACC, ['bison -y -p MYSQL'])
AC_CHECK_PROG(PDFMANUAL, pdftex, manual.pdf) AC_CHECK_PROG(PDFMANUAL, pdftex, manual.pdf)
AC_CHECK_PROG(DVIS, tex, manual.dvi) AC_CHECK_PROG(DVIS, tex, manual.dvi)
#check the return type of sprintf
AC_MSG_CHECKING("return type of sprintf")
AC_TRY_RUN([
int main()
{
char* s = "hello";
char buf[6];
if((int)sprintf(buf, s) == strlen(s))
return 0;
return -1;
}
],
[AC_DEFINE(SPRINTF_RETURNS_INT, [1], [POSIX sprintf])
AC_MSG_RESULT("int")],
[AC_TRY_RUN([
int main()
{
char* s = "hello";
char buf[6];
if((char*)sprintf(buf,s) == buf + strlen(s))
return 0;
return -1;
} ],
[AC_DEFINE(SPRINTF_RETURNS_PTR, [1], [Broken sprintf])
AC_MSG_RESULT("ptr")],
[AC_DEFINE(SPRINTF_RETURNS_GARBAGE, [1], [Broken sprintf])
AC_MSG_RESULT("garbage")]
)],
# Cross compile, assume POSIX
[AC_DEFINE(SPRINTF_RETURNS_INT, [1], [POSIX sprintf])
AC_MSG_RESULT("int (we assume)")]
)
AC_PATH_PROG(uname_prog, uname, no) AC_PATH_PROG(uname_prog, uname, no)
# We should go through this and put all the explictly system dependent # We should go through this and put all the explictly system dependent
@ -494,7 +463,16 @@ if test "$GCC" != "yes" || expr "$CC" : ".*icc.*"
then then
ABI_CHECK="" ABI_CHECK=""
else else
ABI_CHECK="abi_check" # Workaround GCC >= 4.5 - See Bug#52514
case `$CC -dumpversion` in
[[4-9]].[[5-9]]*)
AC_MSG_WARN([ABI check disabled (GCC >= 4.5)])
ABI_CHECK=""
;;
*)
ABI_CHECK="abi_check"
;;
esac
fi fi
AC_SUBST(ABI_CHECK) AC_SUBST(ABI_CHECK)
@ -2212,7 +2190,7 @@ MYSQL_TYPE_QSORT
AC_FUNC_UTIME_NULL AC_FUNC_UTIME_NULL
AC_FUNC_VPRINTF AC_FUNC_VPRINTF
AC_CHECK_FUNCS(alarm bcmp bfill bmove bsearch bzero \ AC_CHECK_FUNCS(alarm bfill bmove bsearch bzero \
chsize cuserid fchmod fcntl \ chsize cuserid fchmod fcntl \
fdatasync fesetround finite fpresetsticky fpsetmask fsync ftruncate \ fdatasync fesetround finite fpresetsticky fpsetmask fsync ftruncate \
getcwd gethostbyaddr_r gethostbyname_r getpass getpassphrase getpwnam \ getcwd gethostbyaddr_r gethostbyname_r getpass getpassphrase getpwnam \
@ -2995,6 +2973,12 @@ do
done done
AC_SUBST(sql_union_dirs) AC_SUBST(sql_union_dirs)
#
# Setup maintainer mode options by the end to not disturb
# system and other checks.
#
MY_MAINTAINER_MODE_SETUP
# Some usefull subst # Some usefull subst
AC_SUBST(CC) AC_SUBST(CC)
AC_SUBST(GXX) AC_SUBST(GXX)

0
dbug/CMakeLists.txt Executable file → Normal file
View File

0
extra/CMakeLists.txt Executable file → Normal file
View File

View File

@ -665,9 +665,9 @@ static struct message *find_message(struct errors *err, const char *lang,
static ha_checksum checksum_format_specifier(const char* msg) static ha_checksum checksum_format_specifier(const char* msg)
{ {
ha_checksum chksum= 0; ha_checksum chksum= 0;
const char* p= msg; const uchar* p= (const uchar*) msg;
const char* start= 0; const uchar* start= NULL;
int num_format_specifiers= 0; uint32 num_format_specifiers= 0;
while (*p) while (*p)
{ {

View File

@ -648,7 +648,7 @@ static REPLACE *init_replace(char * *from, char * *to,uint count,
for (i=1 ; i <= found_sets ; i++) for (i=1 ; i <= found_sets ; i++)
{ {
pos=from[found_set[i-1].table_offset]; pos=from[found_set[i-1].table_offset];
rep_str[i].found= (my_bool) (!bcmp(pos,"\\^",3) ? 2 : 1); rep_str[i].found= (my_bool) (!memcmp(pos,"\\^",3) ? 2 : 1);
rep_str[i].replace_string=to_array[found_set[i-1].table_offset]; rep_str[i].replace_string=to_array[found_set[i-1].table_offset];
rep_str[i].to_offset=found_set[i-1].found_offset-start_at_word(pos); rep_str[i].to_offset=found_set[i-1].found_offset-start_at_word(pos);
rep_str[i].from_offset=found_set[i-1].found_offset-replace_len(pos)+ rep_str[i].from_offset=found_set[i-1].found_offset-replace_len(pos)+
@ -776,8 +776,8 @@ static void copy_bits(REP_SET *to,REP_SET *from)
static int cmp_bits(REP_SET *set1,REP_SET *set2) static int cmp_bits(REP_SET *set1,REP_SET *set2)
{ {
return bcmp((uchar*) set1->bits,(uchar*) set2->bits, return memcmp(set1->bits, set2->bits,
sizeof(uint) * set1->size_of_bits); sizeof(uint) * set1->size_of_bits);
} }
@ -849,14 +849,14 @@ static short find_found(FOUND_SET *found_set,uint table_offset,
static uint start_at_word(char * pos) static uint start_at_word(char * pos)
{ {
return (((!bcmp(pos,"\\b",2) && pos[2]) || !bcmp(pos,"\\^",2)) ? 1 : 0); return (((!memcmp(pos,"\\b",2) && pos[2]) || !memcmp(pos,"\\^",2)) ? 1 : 0);
} }
static uint end_of_word(char * pos) static uint end_of_word(char * pos)
{ {
char * end=strend(pos); char * end=strend(pos);
return ((end > pos+2 && !bcmp(end-2,"\\b",2)) || return ((end > pos+2 && !memcmp(end-2,"\\b",2)) ||
(end >= pos+2 && !bcmp(end-2,"\\$",2))) ? (end >= pos+2 && !memcmp(end-2,"\\$",2))) ?
1 : 0; 1 : 0;
} }

0
extra/yassl/CMakeLists.txt Executable file → Normal file
View File

View File

@ -953,8 +953,9 @@ x509* PemToDer(FILE* file, CertType type, EncryptedInfo* info)
info->set = true; info->set = true;
} }
} }
fgets(line,sizeof(line), file); // get blank line // get blank line
begin = ftell(file); if (fgets(line, sizeof(line), file))
begin = ftell(file);
} }
} }

0
extra/yassl/taocrypt/CMakeLists.txt Executable file → Normal file
View File

View File

@ -51,7 +51,7 @@ public:
enum { BLOCK_SIZE = BLOWFISH_BLOCK_SIZE, ROUNDS = 16 }; enum { BLOCK_SIZE = BLOWFISH_BLOCK_SIZE, ROUNDS = 16 };
Blowfish(CipherDir DIR, Mode MODE) Blowfish(CipherDir DIR, Mode MODE)
: Mode_BASE(BLOCK_SIZE, DIR, MODE) {} : Mode_BASE(BLOCK_SIZE, DIR, MODE), sbox_(pbox_ + ROUNDS + 2) {}
#ifdef DO_BLOWFISH_ASM #ifdef DO_BLOWFISH_ASM
void Process(byte*, const byte*, word32); void Process(byte*, const byte*, word32);
@ -62,8 +62,8 @@ private:
static const word32 p_init_[ROUNDS + 2]; static const word32 p_init_[ROUNDS + 2];
static const word32 s_init_[4 * 256]; static const word32 s_init_[4 * 256];
word32 pbox_[ROUNDS + 2]; word32 pbox_[ROUNDS + 2 + 4 * 256];
word32 sbox_[4 * 256]; word32* sbox_;
void crypt_block(const word32 in[2], word32 out[2]) const; void crypt_block(const word32 in[2], word32 out[2]) const;
void AsmProcess(const byte* in, byte* out) const; void AsmProcess(const byte* in, byte* out) const;

View File

@ -35,10 +35,7 @@
// Handler for pure virtual functions // Handler for pure virtual functions
namespace __Crun { namespace __Crun {
static void pure_error(void) void pure_error(void);
{
assert("Pure virtual method called." == "Aborted");
}
} // namespace __Crun } // namespace __Crun
#endif // __sun #endif // __sun
@ -54,16 +51,7 @@ extern "C" {
#else #else
#include "kernelc.hpp" #include "kernelc.hpp"
#endif #endif
int __cxa_pure_virtual () __attribute__ ((weak));
/* Disallow inline __cxa_pure_virtual() */
static int __cxa_pure_virtual() __attribute__((noinline, used));
static int __cxa_pure_virtual()
{
// oops, pure virtual called!
assert(!"Pure virtual method called. Aborted");
return 0;
}
} // extern "C" } // extern "C"
#endif // __GNUC__ > 2 #endif // __GNUC__ > 2

View File

@ -51,7 +51,7 @@ void AES::Process(byte* out, const byte* in, word32 sz)
out += BLOCK_SIZE; out += BLOCK_SIZE;
in += BLOCK_SIZE; in += BLOCK_SIZE;
} }
else if (mode_ == CBC) else if (mode_ == CBC) {
if (dir_ == ENCRYPTION) if (dir_ == ENCRYPTION)
while (blocks--) { while (blocks--) {
r_[0] ^= *(word32*)in; r_[0] ^= *(word32*)in;
@ -78,6 +78,7 @@ void AES::Process(byte* out, const byte* in, word32 sz)
out += BLOCK_SIZE; out += BLOCK_SIZE;
in += BLOCK_SIZE; in += BLOCK_SIZE;
} }
}
} }
#endif // DO_AES_ASM #endif // DO_AES_ASM

View File

@ -186,10 +186,10 @@ Integer AbstractGroup::CascadeScalarMultiply(const Element &x,
struct WindowSlider struct WindowSlider
{ {
WindowSlider(const Integer &exp, bool fastNegate, WindowSlider(const Integer &expIn, bool fastNegateIn,
unsigned int windowSizeIn=0) unsigned int windowSizeIn=0)
: exp(exp), windowModulus(Integer::One()), windowSize(windowSizeIn), : exp(expIn), windowModulus(Integer::One()), windowSize(windowSizeIn),
windowBegin(0), fastNegate(fastNegate), firstTime(true), windowBegin(0), fastNegate(fastNegateIn), firstTime(true),
finished(false) finished(false)
{ {
if (windowSize == 0) if (windowSize == 0)

View File

@ -53,7 +53,7 @@ void Blowfish::Process(byte* out, const byte* in, word32 sz)
out += BLOCK_SIZE; out += BLOCK_SIZE;
in += BLOCK_SIZE; in += BLOCK_SIZE;
} }
else if (mode_ == CBC) else if (mode_ == CBC) {
if (dir_ == ENCRYPTION) if (dir_ == ENCRYPTION)
while (blocks--) { while (blocks--) {
r_[0] ^= *(word32*)in; r_[0] ^= *(word32*)in;
@ -78,6 +78,7 @@ void Blowfish::Process(byte* out, const byte* in, word32 sz)
out += BLOCK_SIZE; out += BLOCK_SIZE;
in += BLOCK_SIZE; in += BLOCK_SIZE;
} }
}
} }
#endif // DO_BLOWFISH_ASM #endif // DO_BLOWFISH_ASM

View File

@ -283,21 +283,23 @@ DWord() {}
word GetHighHalfAsBorrow() const {return 0-halfs_.high;} word GetHighHalfAsBorrow() const {return 0-halfs_.high;}
private: private:
struct dword_struct
{
#ifdef LITTLE_ENDIAN_ORDER
word low;
word high;
#else
word high;
word low;
#endif
};
union union
{ {
#ifdef TAOCRYPT_NATIVE_DWORD_AVAILABLE #ifdef TAOCRYPT_NATIVE_DWORD_AVAILABLE
dword whole_; dword whole_;
#endif #endif
struct struct dword_struct halfs_;
{
#ifdef LITTLE_ENDIAN_ORDER
word low;
word high;
#else
word high;
word low;
#endif
} halfs_;
}; };
}; };
@ -1214,20 +1216,24 @@ public:
#define AS1(x) #x ";" #define AS1(x) #x ";"
#define AS2(x, y) #x ", " #y ";" #define AS2(x, y) #x ", " #y ";"
#define AddPrologue \ #define AddPrologue \
word res; \
__asm__ __volatile__ \ __asm__ __volatile__ \
( \ ( \
"push %%ebx;" /* save this manually, in case of -fPIC */ \ "push %%ebx;" /* save this manually, in case of -fPIC */ \
"mov %2, %%ebx;" \ "mov %3, %%ebx;" \
".intel_syntax noprefix;" \ ".intel_syntax noprefix;" \
"push ebp;" "push ebp;"
#define AddEpilogue \ #define AddEpilogue \
"pop ebp;" \ "pop ebp;" \
".att_syntax prefix;" \ ".att_syntax prefix;" \
"pop %%ebx;" \ "pop %%ebx;" \
: \ "mov %%eax, %0;" \
: "=g" (res) \
: "c" (C), "d" (A), "m" (B), "S" (N) \ : "c" (C), "d" (A), "m" (B), "S" (N) \
: "%edi", "memory", "cc" \ : "%edi", "memory", "cc" \
); ); \
return res;
#define MulPrologue \ #define MulPrologue \
__asm__ __volatile__ \ __asm__ __volatile__ \
( \ ( \

View File

@ -84,12 +84,23 @@ namespace STL = STL_NAMESPACE;
} }
#if defined(__ICC) || defined(__INTEL_COMPILER) #ifdef __sun
// Handler for pure virtual functions
namespace __Crun {
void pure_error() {
assert(!"Aborted: pure virtual method called.");
}
}
#endif
#if defined(__ICC) || defined(__INTEL_COMPILER) || (__GNUC__ > 2)
extern "C" { extern "C" {
int __cxa_pure_virtual() { int __cxa_pure_virtual() {
assert("Pure virtual method called." == "Aborted"); assert(!"Aborted: pure virtual method called.");
return 0; return 0;
} }
@ -166,14 +177,6 @@ word Crop(word value, unsigned int size)
#ifdef TAOCRYPT_X86ASM_AVAILABLE #ifdef TAOCRYPT_X86ASM_AVAILABLE
#ifndef _MSC_VER
static jmp_buf s_env;
static void SigIllHandler(int)
{
longjmp(s_env, 1);
}
#endif
bool HaveCpuId() bool HaveCpuId()
{ {

View File

@ -54,7 +54,7 @@ void Twofish::Process(byte* out, const byte* in, word32 sz)
out += BLOCK_SIZE; out += BLOCK_SIZE;
in += BLOCK_SIZE; in += BLOCK_SIZE;
} }
else if (mode_ == CBC) else if (mode_ == CBC) {
if (dir_ == ENCRYPTION) if (dir_ == ENCRYPTION)
while (blocks--) { while (blocks--) {
r_[0] ^= *(word32*)in; r_[0] ^= *(word32*)in;
@ -82,6 +82,7 @@ void Twofish::Process(byte* out, const byte* in, word32 sz)
out += BLOCK_SIZE; out += BLOCK_SIZE;
in += BLOCK_SIZE; in += BLOCK_SIZE;
} }
}
} }
#endif // DO_TWOFISH_ASM #endif // DO_TWOFISH_ASM

View File

@ -155,6 +155,11 @@ inline void err_sys(const char* msg)
} }
extern "C" {
static int PasswordCallBack(char*, int, int, void*);
}
static int PasswordCallBack(char* passwd, int sz, int rw, void* userdata) static int PasswordCallBack(char* passwd, int sz, int rw, void* userdata)
{ {
strncpy(passwd, "12345678", sz); strncpy(passwd, "12345678", sz);

View File

@ -45,7 +45,7 @@ noinst_HEADERS = config-win.h lf.h my_bit.h \
my_vle.h my_user.h my_atomic.h atomic/nolock.h \ my_vle.h my_user.h my_atomic.h atomic/nolock.h \
atomic/rwlock.h atomic/x86-gcc.h atomic/generic-msvc.h \ atomic/rwlock.h atomic/x86-gcc.h atomic/generic-msvc.h \
atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h \ atomic/gcc_builtins.h my_libwrap.h my_stacktrace.h \
atomic/solaris.h mysql/innodb_priv.h atomic/solaris.h mysql/innodb_priv.h my_compiler.h
pkgpsiinclude_HEADERS = mysql/psi/psi.h mysql/psi/mysql_thread.h \ pkgpsiinclude_HEADERS = mysql/psi/psi.h mysql/psi/mysql_thread.h \
mysql/psi/mysql_file.h mysql/psi/mysql_file.h

View File

@ -36,10 +36,6 @@
/* need by my_vsnprintf */ /* need by my_vsnprintf */
#include <stdarg.h> #include <stdarg.h>
#ifdef _AIX
#undef HAVE_BCMP
#endif
/* This is needed for the definitions of bzero... on solaris */ /* This is needed for the definitions of bzero... on solaris */
#if defined(HAVE_STRINGS_H) #if defined(HAVE_STRINGS_H)
#include <strings.h> #include <strings.h>
@ -63,14 +59,10 @@
/* Unixware 7 */ /* Unixware 7 */
#if !defined(HAVE_BFILL) #if !defined(HAVE_BFILL)
# define bfill(A,B,C) memset((A),(C),(B)) # define bfill(A,B,C) memset((A),(C),(B))
# define bmove_align(A,B,C) memcpy((A),(B),(C))
#endif #endif
#if !defined(HAVE_BCMP) #if !defined(bzero) && !defined(HAVE_BZERO)
# define bcopy(s, d, n) memcpy((d), (s), (n)) # define bzero(A,B) memset((A),0,(B))
# define bcmp(A,B,C) memcmp((A),(B),(C))
# define bzero(A,B) memset((A),0,(B))
# define bmove_align(A,B,C) memcpy((A),(B),(C))
#endif #endif
#if defined(__cplusplus) #if defined(__cplusplus)
@ -116,19 +108,6 @@ extern char _dig_vec_lower[];
extern void bfill(uchar *dst,size_t len,pchar fill); extern void bfill(uchar *dst,size_t len,pchar fill);
#endif #endif
#if !defined(bzero) && !defined(HAVE_BZERO)
extern void bzero(uchar * dst,size_t len);
#endif
#if !defined(bcmp) && !defined(HAVE_BCMP)
extern size_t bcmp(const uchar *s1,const uchar *s2,size_t len);
#endif
#ifdef HAVE_purify
extern size_t my_bcmp(const uchar *s1,const uchar *s2,size_t len);
#undef bcmp
#define bcmp(A,B,C) my_bcmp((A),(B),(C))
#endif /* HAVE_purify */
#ifndef bmove512 #ifndef bmove512
extern void bmove512(uchar *dst,const uchar *src,size_t len); extern void bmove512(uchar *dst,const uchar *src,size_t len);
#endif #endif

View File

@ -36,14 +36,14 @@ extern ulong my_time_to_wait_for_lock;
#define ALARM_END (void) signal(SIGALRM,alarm_signal); \ #define ALARM_END (void) signal(SIGALRM,alarm_signal); \
(void) alarm(alarm_old); (void) alarm(alarm_old);
#define ALARM_TEST my_have_got_alarm #define ALARM_TEST my_have_got_alarm
#ifdef DONT_REMEMBER_SIGNAL #ifdef SIGNAL_HANDLER_RESET_ON_DELIVERY
#define ALARM_REINIT (void) alarm(MY_HOW_OFTEN_TO_ALARM); \ #define ALARM_REINIT (void) alarm(MY_HOW_OFTEN_TO_ALARM); \
(void) signal(SIGALRM,my_set_alarm_variable);\ (void) signal(SIGALRM,my_set_alarm_variable);\
my_have_got_alarm=0; my_have_got_alarm=0;
#else #else
#define ALARM_REINIT (void) alarm((uint) MY_HOW_OFTEN_TO_ALARM); \ #define ALARM_REINIT (void) alarm((uint) MY_HOW_OFTEN_TO_ALARM); \
my_have_got_alarm=0; my_have_got_alarm=0;
#endif /* DONT_REMEMBER_SIGNAL */ #endif /* SIGNAL_HANDLER_RESET_ON_DELIVERY */
#else #else
#define ALARM_VARIABLES long alarm_pos=0,alarm_end_pos=MY_HOW_OFTEN_TO_WRITE-1 #define ALARM_VARIABLES long alarm_pos=0,alarm_end_pos=MY_HOW_OFTEN_TO_WRITE-1
#define ALARM_INIT #define ALARM_INIT

View File

@ -159,22 +159,6 @@ static inline my_bool bitmap_cmp(const MY_BITMAP *map1, const MY_BITMAP *map2)
#define bitmap_set_all(MAP) \ #define bitmap_set_all(MAP) \
(memset((MAP)->bitmap, 0xFF, 4*no_words_in_map((MAP)))) (memset((MAP)->bitmap, 0xFF, 4*no_words_in_map((MAP))))
/**
check, set and clear a bit of interest of an integer.
If the bit is out of range @retval -1. Otherwise
bit_is_set @return 0 or 1 reflecting the bit is set or not;
bit_do_set @return 1 (bit is set 1)
bit_do_clear @return 0 (bit is cleared to 0)
*/
#define bit_is_set(I,B) (sizeof(I) * CHAR_BIT > (B) ? \
(((I) & (ULL(1) << (B))) == 0 ? 0 : 1) : -1)
#define bit_do_set(I,B) (sizeof(I) * CHAR_BIT > (B) ? \
((I) |= (ULL(1) << (B)), 1) : -1)
#define bit_do_clear(I,B) (sizeof(I) * CHAR_BIT > (B) ? \
((I) &= ~(ULL(1) << (B)), 0) : -1)
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

129
include/my_compiler.h Normal file
View File

@ -0,0 +1,129 @@
#ifndef MY_COMPILER_INCLUDED
#define MY_COMPILER_INCLUDED
/* Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
/**
Header for compiler-dependent features.
Intended to contain a set of reusable wrappers for preprocessor
macros, attributes, pragmas, and any other features that are
specific to a target compiler.
*/
#include <my_global.h> /* stddef.h offsetof */
/**
Compiler-dependent internal convenience macros.
*/
/* GNU C/C++ */
#if defined __GNUC__
/* Any after 2.95... */
# define MY_ALIGN_EXT
/* Microsoft Visual C++ */
#elif defined _MSC_VER
# define MY_ALIGNOF(type) __alignof(type)
# define MY_ALIGNED(n) __declspec(align(n))
/* Oracle Solaris Studio */
#elif defined(__SUNPRO_C) || defined(__SUNPRO_CC)
# if __SUNPRO_C >= 0x590
# define MY_ALIGN_EXT
# endif
/* IBM XL C/C++ */
#elif defined __xlC__
# if __xlC__ >= 0x0600
# define MY_ALIGN_EXT
# endif
/* HP aCC */
#elif defined(__HP_aCC) || defined(__HP_cc)
# if (__HP_aCC >= 60000) || (__HP_cc >= 60000)
# define MY_ALIGN_EXT
# endif
#endif
#ifdef MY_ALIGN_EXT
/** Specifies the minimum alignment of a type. */
# define MY_ALIGNOF(type) __alignof__(type)
/** Determine the alignment requirement of a type. */
# define MY_ALIGNED(n) __attribute__((__aligned__((n))))
#endif
/**
Generic compiler-dependent features.
*/
#ifndef MY_ALIGNOF
# ifdef __cplusplus
template<typename type> struct my_alignof_helper { char m1; type m2; };
/* Invalid for non-POD types, but most compilers give the right answer. */
# define MY_ALIGNOF(type) offsetof(my_alignof_helper<type>, m2)
# else
# define MY_ALIGNOF(type) offsetof(struct { char m1; type m2; }, m2)
# endif
#endif
/**
C++ Type Traits
*/
#ifdef __cplusplus
/**
Opaque storage with a particular alignment.
*/
# if defined(MY_ALIGNED)
/* Partial specialization used due to MSVC++. */
template<size_t alignment> struct my_alignment_imp;
template<> struct MY_ALIGNED(1) my_alignment_imp<1> {};
template<> struct MY_ALIGNED(2) my_alignment_imp<2> {};
template<> struct MY_ALIGNED(4) my_alignment_imp<4> {};
template<> struct MY_ALIGNED(8) my_alignment_imp<8> {};
template<> struct MY_ALIGNED(16) my_alignment_imp<16> {};
/* ... expand as necessary. */
# else
template<size_t alignment>
struct my_alignment_imp { double m1; };
# endif
/**
A POD type with a given size and alignment.
@remark If the compiler does not support a alignment attribute
(MY_ALIGN macro), the default alignment of a double is
used instead.
@tparam size The minimum size.
@tparam alignment The desired alignment: 1, 2, 4, 8 or 16.
*/
template <size_t size, size_t alignment>
struct my_aligned_storage
{
union
{
char data[size];
my_alignment_imp<alignment> align;
};
};
#endif /* __cplusplus */
#include <my_attribute.h>
#endif /* MY_COMPILER_INCLUDED */

View File

@ -577,26 +577,34 @@ extern "C" int madvise(void *addr, size_t len, int behav);
#endif #endif
/* Does the system remember a signal handler after a signal ? */ /* Does the system remember a signal handler after a signal ? */
#ifndef HAVE_BSD_SIGNALS #if !defined(HAVE_BSD_SIGNALS) && !defined(HAVE_SIGACTION)
#define DONT_REMEMBER_SIGNAL #define SIGNAL_HANDLER_RESET_ON_DELIVERY
#endif #endif
#if defined(_lint) || defined(FORCE_INIT_OF_VARS) /*
#define LINT_INIT(var) var=0 /* No uninitialize-warning */ Deprecated workaround for false-positive uninitialized variables
warnings. Those should be silenced using tool-specific heuristics.
Enabled by default for g++ due to the bug referenced below.
*/
#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || \
(defined(__GNUC__) && defined(__cplusplus))
#define LINT_INIT(var) var= 0
#else #else
#define LINT_INIT(var) #define LINT_INIT(var)
#endif #endif
/* /*
Suppress uninitialized variable warning without generating code. Suppress uninitialized variable warning without generating code.
The _cplusplus is a temporary workaround for C++ code pending a fix The _cplusplus is a temporary workaround for C++ code pending a fix
for a g++ bug (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34772). for a g++ bug (http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34772).
*/ */
#if defined(_lint) || defined(FORCE_INIT_OF_VARS) || defined(__cplusplus) || \ #if defined(_lint) || defined(FORCE_INIT_OF_VARS) || \
!defined(__GNUC__) defined(__cplusplus) || !defined(__GNUC__)
#define UNINIT_VAR(x) x= 0 #define UNINIT_VAR(x) x= 0
#else #else
/* GCC specific self-initialization which inhibits the warning. */
#define UNINIT_VAR(x) x= x #define UNINIT_VAR(x) x= x
#endif #endif
@ -620,7 +628,6 @@ typedef unsigned short ushort;
#define set_if_bigger(a,b) do { if ((a) < (b)) (a)=(b); } while(0) #define set_if_bigger(a,b) do { if ((a) < (b)) (a)=(b); } while(0)
#define set_if_smaller(a,b) do { if ((a) > (b)) (a)=(b); } while(0) #define set_if_smaller(a,b) do { if ((a) > (b)) (a)=(b); } while(0)
#define test_all_bits(a,b) (((a) & (b)) == (b)) #define test_all_bits(a,b) (((a) & (b)) == (b))
#define set_bits(type, bit_count) (sizeof(type)*8 <= (bit_count) ? ~(type) 0 : ((((type) 1) << (bit_count)) - (type) 1))
#define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0]))) #define array_elements(A) ((uint) (sizeof(A)/sizeof(A[0])))
/* Define some general constants */ /* Define some general constants */
@ -641,7 +648,7 @@ typedef unsigned short ushort;
#define my_const_cast(A) (A) #define my_const_cast(A) (A)
#endif #endif
#include <my_attribute.h> #include <my_compiler.h>
/* /*
Wen using the embedded library, users might run into link problems, Wen using the embedded library, users might run into link problems,
@ -1012,20 +1019,6 @@ typedef long long my_ptrdiff_t;
#define ADD_TO_PTR(ptr,size,type) (type) ((uchar*) (ptr)+size) #define ADD_TO_PTR(ptr,size,type) (type) ((uchar*) (ptr)+size)
#define PTR_BYTE_DIFF(A,B) (my_ptrdiff_t) ((uchar*) (A) - (uchar*) (B)) #define PTR_BYTE_DIFF(A,B) (my_ptrdiff_t) ((uchar*) (A) - (uchar*) (B))
#define MY_DIV_UP(A, B) (((A) + (B) - 1) / (B))
#define MY_ALIGNED_BYTE_ARRAY(N, S, T) T N[MY_DIV_UP(S, sizeof(T))]
#ifdef __cplusplus
template <size_t sz> struct Aligned_char_array
{
union {
void *v; // Ensures alignment.
char arr[sz]; // The actual buffer.
} u;
void* arr() { return &u.arr[0]; }
};
#endif /* __cplusplus */
/* /*
Custom version of standard offsetof() macro which can be used to get Custom version of standard offsetof() macro which can be used to get
offsets of members in class for non-POD types (according to the current offsets of members in class for non-POD types (according to the current
@ -1553,17 +1546,6 @@ do { doubleget_union _tmp; \
#endif /* WORDS_BIGENDIAN */ #endif /* WORDS_BIGENDIAN */
/* sprintf does not always return the number of bytes :- */
#ifdef SPRINTF_RETURNS_INT
#define my_sprintf(buff,args) sprintf args
#else
#ifdef SPRINTF_RETURNS_PTR
#define my_sprintf(buff,args) ((int)(sprintf args - buff))
#else
#define my_sprintf(buff,args) ((ulong) sprintf args, (ulong) strlen(buff))
#endif
#endif
#ifndef THREAD #ifndef THREAD
#define thread_safe_increment(V,L) (V)++ #define thread_safe_increment(V,L) (V)++
#define thread_safe_decrement(V,L) (V)-- #define thread_safe_decrement(V,L) (V)--

View File

@ -55,8 +55,6 @@ extern "C" {
#define MI_MAX_MSG_BUF 1024 /* used in CHECK TABLE, REPAIR TABLE */ #define MI_MAX_MSG_BUF 1024 /* used in CHECK TABLE, REPAIR TABLE */
#define MI_NAME_IEXT ".MYI" #define MI_NAME_IEXT ".MYI"
#define MI_NAME_DEXT ".MYD" #define MI_NAME_DEXT ".MYD"
/* Max extra space to use when sorting keys */
#define MI_MAX_TEMP_LENGTH 2*1024L*1024L*1024L
/* Possible values for myisam_block_size (must be power of 2) */ /* Possible values for myisam_block_size (must be power of 2) */
#define MI_KEY_BLOCK_LENGTH 1024 /* default key block length */ #define MI_KEY_BLOCK_LENGTH 1024 /* default key block length */

0
libmysql/CMakeLists.txt Executable file → Normal file
View File

View File

@ -38,7 +38,7 @@ mystringsobjects = strmov.lo strxmov.lo strxnmov.lo strnmov.lo \
strmake.lo strend.lo \ strmake.lo strend.lo \
strnlen.lo strfill.lo is_prefix.lo \ strnlen.lo strfill.lo is_prefix.lo \
int2str.lo str2int.lo strinstr.lo strcont.lo \ int2str.lo str2int.lo strinstr.lo strcont.lo \
strcend.lo bcmp.lo ctype-latin1.lo \ strcend.lo ctype-latin1.lo \
bchange.lo bmove.lo bmove_upp.lo longlong2str.lo \ bchange.lo bmove.lo bmove_upp.lo longlong2str.lo \
strtoull.lo strtoll.lo llstr.lo my_vsnprintf.lo \ strtoull.lo strtoll.lo llstr.lo my_vsnprintf.lo \
ctype.lo ctype-simple.lo ctype-bin.lo ctype-mb.lo \ ctype.lo ctype-simple.lo ctype-bin.lo ctype-mb.lo \

View File

@ -316,7 +316,7 @@ sig_handler
my_pipe_sig_handler(int sig __attribute__((unused))) my_pipe_sig_handler(int sig __attribute__((unused)))
{ {
DBUG_PRINT("info",("Hit by signal %d",sig)); DBUG_PRINT("info",("Hit by signal %d",sig));
#ifdef DONT_REMEMBER_SIGNAL #ifdef SIGNAL_HANDLER_RESET_ON_DELIVERY
(void) signal(SIGPIPE, my_pipe_sig_handler); (void) signal(SIGPIPE, my_pipe_sig_handler);
#endif #endif
} }
@ -2117,7 +2117,12 @@ static my_bool execute(MYSQL_STMT *stmt, char *packet, ulong length)
stmt->insert_id= mysql->insert_id; stmt->insert_id= mysql->insert_id;
if (res) if (res)
{ {
set_stmt_errmsg(stmt, net); /*
Don't set stmt error if stmt->mysql is NULL, as the error in this case
has already been set by mysql_prune_stmt_list().
*/
if (stmt->mysql)
set_stmt_errmsg(stmt, net);
DBUG_RETURN(1); DBUG_RETURN(1);
} }
DBUG_RETURN(0); DBUG_RETURN(0);
@ -2328,7 +2333,12 @@ stmt_read_row_from_cursor(MYSQL_STMT *stmt, unsigned char **row)
buff, sizeof(buff), (uchar*) 0, 0, buff, sizeof(buff), (uchar*) 0, 0,
1, stmt)) 1, stmt))
{ {
set_stmt_errmsg(stmt, net); /*
Don't set stmt error if stmt->mysql is NULL, as the error in this case
has already been set by mysql_prune_stmt_list().
*/
if (stmt->mysql)
set_stmt_errmsg(stmt, net);
return 1; return 1;
} }
if ((*mysql->methods->read_rows_from_cursor)(stmt)) if ((*mysql->methods->read_rows_from_cursor)(stmt))
@ -3015,7 +3025,12 @@ mysql_stmt_send_long_data(MYSQL_STMT *stmt, uint param_number,
buff, sizeof(buff), (uchar*) data, buff, sizeof(buff), (uchar*) data,
length, 1, stmt)) length, 1, stmt))
{ {
set_stmt_errmsg(stmt, &mysql->net); /*
Don't set stmt error if stmt->mysql is NULL, as the error in this case
has already been set by mysql_prune_stmt_list().
*/
if (stmt->mysql)
set_stmt_errmsg(stmt, &mysql->net);
DBUG_RETURN(1); DBUG_RETURN(1);
} }
} }
@ -4017,6 +4032,7 @@ static my_bool setup_one_fetch_function(MYSQL_BIND *param, MYSQL_FIELD *field)
case MYSQL_TYPE_TIME: case MYSQL_TYPE_TIME:
field->max_length= 15; /* 19:23:48.123456 */ field->max_length= 15; /* 19:23:48.123456 */
param->skip_result= skip_result_with_length; param->skip_result= skip_result_with_length;
break;
case MYSQL_TYPE_DATE: case MYSQL_TYPE_DATE:
field->max_length= 10; /* 2003-11-11 */ field->max_length= 10; /* 2003-11-11 */
param->skip_result= skip_result_with_length; param->skip_result= skip_result_with_length;
@ -4430,7 +4446,12 @@ int STDCALL mysql_stmt_store_result(MYSQL_STMT *stmt)
if (cli_advanced_command(mysql, COM_STMT_FETCH, buff, sizeof(buff), if (cli_advanced_command(mysql, COM_STMT_FETCH, buff, sizeof(buff),
(uchar*) 0, 0, 1, stmt)) (uchar*) 0, 0, 1, stmt))
{ {
set_stmt_errmsg(stmt, net); /*
Don't set stmt error if stmt->mysql is NULL, as the error in this case
has already been set by mysql_prune_stmt_list().
*/
if (stmt->mysql)
set_stmt_errmsg(stmt, net);
DBUG_RETURN(1); DBUG_RETURN(1);
} }
} }

View File

@ -157,6 +157,22 @@ if DARWIN_MWCC
mwld -lib -o $@ libmysqld_int.a `echo $(INC_LIB) | sort -u` $(storageobjects) mwld -lib -o $@ libmysqld_int.a `echo $(INC_LIB) | sort -u` $(storageobjects)
else else
-rm -f libmysqld.a -rm -f libmysqld.a
current_dir=`pwd`; \
rm -rf tmp; mkdir tmp; \
(for arc in $(INC_LIB) ./libmysqld_int.a; do \
arpath=`echo $$arc|sed 's|[^/]*$$||'|sed 's|\.libs/$$||'`; \
artmp=`echo $$arc|sed 's|^.*/|tmp/lib-|'`; \
for F in `$(AR) t $$arc | grep -v SYMDEF`; do \
if test -e "$$arpath/$$F" ; then echo "$$arpath/$$F"; else \
mkdir $$artmp; cd $$artmp > /dev/null; \
$(AR) x ../../$$arc; \
cd $$current_dir > /dev/null; \
ls $$artmp/* | grep -v SYMDEF; \
continue 2; fi; done; \
done; echo $(libmysqld_a_DEPENDENCIES) ) | sort -u | xargs $(AR) cq libmysqld.a; \
$(AR) r libmysqld.a $(storageobjects); \
$(RANLIB) libmysqld.a ; \
rm -rf tmp
endif endif
## XXX: any time the client interface changes, we'll need to bump ## XXX: any time the client interface changes, we'll need to bump

View File

@ -42,7 +42,8 @@ LDADD = @CLIENT_EXTRA_LDFLAGS@ ../libmysqld.a @LIBDL@ $(CXXLDFLAGS) \
mysqltest_embedded_LINK = $(CXXLINK) mysqltest_embedded_LINK = $(CXXLINK)
nodist_mysqltest_embedded_SOURCES = mysqltest.cc nodist_mysqltest_embedded_SOURCES = mysqltest.cc
mysqltest_embedded_LDADD = $(LDADD) $(top_builddir)/regex/libregex.a mysqltest_embedded_LDADD = $(LDADD) $(top_builddir)/regex/libregex.a \
@MYSQLD_EXTRA_LDFLAGS@
nodist_mysql_SOURCES = mysql.cc readline.cc completion_hash.cc \ nodist_mysql_SOURCES = mysql.cc readline.cc completion_hash.cc \
my_readline.h sql_string.h completion_hash.h my_readline.h sql_string.h completion_hash.h

View File

@ -65,17 +65,13 @@ let $_diff_table=$diff_table_2;
let $_diff_i=2; let $_diff_i=2;
while ($_diff_i) { while ($_diff_i) {
# Parse out any leading "master:" or "slave:" from the table # Parse out any leading "master:" or "slave:" from the table specification
# specification and connect the appropriate server. # and connect the appropriate server.
let $_diff_conn_master=`SELECT SUBSTR('$_diff_table', 1, 7) = 'master:'`; let $_pos= `SELECT LOCATE(':', '$_diff_table')`;
if ($_diff_conn_master) { let $_diff_conn=`SELECT SUBSTR('$_diff_table', 1, $_pos-1)`;
let $_diff_table=`SELECT SUBSTR('$_diff_table', 8)`; if (`SELECT 'XX$_diff_conn' <> 'XX'`) {
connection master; let $_diff_table=`SELECT SUBSTR('$_diff_table', $_pos+1)`;
} connection $_diff_conn;
let $_diff_conn_slave=`SELECT SUBSTR('$_diff_table', 1, 6) = 'slave:'`;
if ($_diff_conn_slave) {
let $_diff_table=`SELECT SUBSTR('$_diff_table', 7)`;
connection slave;
} }
# Sanity-check the input. # Sanity-check the input.

0
mysql-test/include/parser_bug21114.inc Executable file → Normal file
View File

View File

@ -0,0 +1,35 @@
# #############################################################################
# Check whether the given table is consistent between different master and
# slaves
#
# Usage:
# --let $diff_table= test.t1
# --let $diff_server_list= master, slave, slave2
# --source include/rpl_diff_tables.inc
# #############################################################################
if (`SELECT "XX$diff_table" = "XX"`)
{
--die diff_table is null.
}
--let $_servers= master, slave
if (`SELECT "XX$diff_server_list" <> "XX"`)
{
--let $_servers= $diff_server_list
}
--let $_master= `SELECT SUBSTRING_INDEX('$_servers', ',', 1)`
--let $_servers= `SELECT LTRIM(SUBSTRING('$_servers', LENGTH('$_master') + 2))`
connection $_master;
while (`SELECT "XX$_servers" <> "XX"`)
{
--let $_slave= `SELECT SUBSTRING_INDEX('$_servers', ',', 1)`
--let $_servers= `SELECT LTRIM(SUBSTRING('$_servers', LENGTH('$_slave') + 2))`
--sync_slave_with_master $_slave
--let $diff_table_1= $_master:$diff_table
--let $diff_table_2= $_slave:$diff_table
--source include/diff_tables.inc
connection $_slave;
}

0
mysql-test/include/show_msg.inc Executable file → Normal file
View File

0
mysql-test/include/show_msg80.inc Executable file → Normal file
View File

0
mysql-test/lib/My/Handles.pm Executable file → Normal file
View File

0
mysql-test/lib/My/SafeProcess/safe_kill_win.cc Executable file → Normal file
View File

View File

@ -159,7 +159,7 @@ int main(int argc, char* const argv[] )
signal(SIGCHLD, handle_signal); signal(SIGCHLD, handle_signal);
signal(SIGABRT, handle_abort); signal(SIGABRT, handle_abort);
sprintf(safe_process_name, "safe_process[%d]", own_pid); sprintf(safe_process_name, "safe_process[%ld]", (long) own_pid);
message("Started"); message("Started");

0
mysql-test/lib/My/SafeProcess/safe_process_win.cc Executable file → Normal file
View File

0
mysql-test/r/bug46080.result Executable file → Normal file
View File

0
mysql-test/r/ctype_eucjpms.result Executable file → Normal file
View File

View File

@ -48,5 +48,40 @@ Got one of the listed errors
SET SESSION debug=DEFAULT; SET SESSION debug=DEFAULT;
DROP TABLE t1; DROP TABLE t1;
# #
# Bug#41660: Sort-index_merge for non-first join table may require
# O(#scans) memory
#
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
CREATE TABLE t2 (a INT, b INT, filler CHAR(100), KEY(a), KEY(b));
INSERT INTO t2 SELECT 1000, 1000, 'filler' FROM t1 A, t1 B, t1 C;
INSERT INTO t2 VALUES (1, 1, 'data');
# the example query uses LEFT JOIN only for the sake of being able to
# demonstrate the issue with a very small dataset. (left outer join
# disables the use of join buffering, so we get the second table
# re-scanned for every record in the outer table. if we used inner join,
# we would need to have thousands of records and/or more columns in both
# tables so that the join buffer is filled and re-scans are triggered).
SET SESSION debug = '+d,only_one_Unique_may_be_created';
EXPLAIN
SELECT * FROM t1 LEFT JOIN t2 ON ( t2.a < 10 OR t2.b < 10 );
id select_type table type possible_keys key key_len ref rows Extra
x x x x x x x x x
x x x x x x x x x Using sort_union(a,b); Using where
SELECT * FROM t1 LEFT JOIN t2 ON ( t2.a < 10 OR t2.b < 10 );
a a b filler
0 1 1 data
1 1 1 data
2 1 1 data
3 1 1 data
4 1 1 data
5 1 1 data
6 1 1 data
7 1 1 data
8 1 1 data
9 1 1 data
SET SESSION debug = DEFAULT;
DROP TABLE t1, t2;
#
# End of 5.1 tests # End of 5.1 tests
# #

View File

@ -750,4 +750,24 @@ id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables 1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
DROP TABLE t1; DROP TABLE t1;
# #
# Bug#54477: Crash on IN / CASE with NULL arguments
#
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1), (2);
SELECT 1 IN (NULL, a) FROM t1;
1 IN (NULL, a)
1
NULL
SELECT a IN (a, a) FROM t1 GROUP BY a WITH ROLLUP;
a IN (a, a)
1
1
NULL
SELECT CASE a WHEN a THEN a END FROM t1 GROUP BY a WITH ROLLUP;
CASE a WHEN a THEN a END
1
2
NULL
DROP TABLE t1;
#
End of 5.1 tests End of 5.1 tests

View File

@ -169,3 +169,17 @@ select 'andre%' like 'andre
select _cp1251'andre%' like convert('andreÊ%' using cp1251) escape 'Ê'; select _cp1251'andre%' like convert('andreÊ%' using cp1251) escape 'Ê';
_cp1251'andre%' like convert('andreÊ%' using cp1251) escape 'Ê' _cp1251'andre%' like convert('andreÊ%' using cp1251) escape 'Ê'
1 1
End of 4.1 tests
#
# Bug #54575: crash when joining tables with unique set column
#
CREATE TABLE t1(a SET('a') NOT NULL, UNIQUE KEY(a));
CREATE TABLE t2(b INT PRIMARY KEY);
INSERT INTO t1 VALUES ();
Warnings:
Warning 1364 Field 'a' doesn't have a default value
INSERT INTO t2 VALUES (1), (2), (3);
SELECT 1 FROM t2 JOIN t1 ON 1 LIKE a GROUP BY a;
1
DROP TABLE t1, t2;
End of 5.1 tests

View File

@ -532,3 +532,19 @@ Warnings:
Warning 1292 Truncated incorrect INTEGER value: 'd' Warning 1292 Truncated incorrect INTEGER value: 'd'
DROP TABLE t1,t2; DROP TABLE t1,t2;
End of 5.0 tests End of 5.0 tests
#
# Bug#54416 MAX from JOIN with HAVING returning NULL with 5.1 and Empty set
#
CREATE TABLE t1 (f1 INT(11), f2 VARCHAR(1), PRIMARY KEY (f1));
INSERT INTO t1 VALUES (1,'f');
CREATE TABLE t2 (f1 INT(11), f2 VARCHAR(1));
INSERT INTO t2 VALUES (2,'m');
INSERT INTO t2 VALUES (3,'m');
INSERT INTO t2 VALUES (11,NULL);
INSERT INTO t2 VALUES (12,'k');
SELECT MAX(t1.f1) field1
FROM t1 JOIN t2 ON t2.f2 LIKE 'x'
HAVING field1 < 7;
field1
DROP TABLE t1,t2;
End of 5.1 tests

View File

@ -1681,6 +1681,33 @@ COUNT(*)
DROP USER nonpriv; DROP USER nonpriv;
DROP TABLE db1.t1; DROP TABLE db1.t1;
DROP DATABASE db1; DROP DATABASE db1;
Bug#54422 query with = 'variables'
CREATE TABLE variables(f1 INT);
SELECT COLUMN_DEFAULT, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = 'variables';
COLUMN_DEFAULT TABLE_NAME
NULL variables
DROP TABLE variables;
#
# Bug #53814: NUMERIC_PRECISION for unsigned bigint field is 19,
# should be 20
#
CREATE TABLE ubig (a BIGINT, b BIGINT UNSIGNED);
SELECT TABLE_NAME, COLUMN_NAME, NUMERIC_PRECISION
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='ubig';
TABLE_NAME COLUMN_NAME NUMERIC_PRECISION
ubig a 19
ubig b 20
INSERT INTO ubig VALUES (0xFFFFFFFFFFFFFFFF,0xFFFFFFFFFFFFFFFF);
Warnings:
Warning 1264 Out of range value for column 'a' at row 1
SELECT length(CAST(b AS CHAR)) FROM ubig;
length(CAST(b AS CHAR))
20
DROP TABLE ubig;
End of 5.1 tests. End of 5.1 tests.
# #
# Additional test for WL#3726 "DDL locking for all metadata objects" # Additional test for WL#3726 "DDL locking for all metadata objects"

View File

@ -25,7 +25,7 @@ WHERE table_schema = 'information_schema'
ORDER BY ordinal_position; ORDER BY ordinal_position;
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME SPECIFIC_CATALOG COLUMN_NAME SPECIFIC_CATALOG
ORDINAL_POSITION 1 ORDINAL_POSITION 1
COLUMN_DEFAULT COLUMN_DEFAULT
@ -44,7 +44,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME SPECIFIC_SCHEMA COLUMN_NAME SPECIFIC_SCHEMA
ORDINAL_POSITION 2 ORDINAL_POSITION 2
COLUMN_DEFAULT COLUMN_DEFAULT
@ -63,7 +63,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME SPECIFIC_NAME COLUMN_NAME SPECIFIC_NAME
ORDINAL_POSITION 3 ORDINAL_POSITION 3
COLUMN_DEFAULT COLUMN_DEFAULT
@ -82,7 +82,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME ORDINAL_POSITION COLUMN_NAME ORDINAL_POSITION
ORDINAL_POSITION 4 ORDINAL_POSITION 4
COLUMN_DEFAULT 0 COLUMN_DEFAULT 0
@ -101,7 +101,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME PARAMETER_MODE COLUMN_NAME PARAMETER_MODE
ORDINAL_POSITION 5 ORDINAL_POSITION 5
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -120,7 +120,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME PARAMETER_NAME COLUMN_NAME PARAMETER_NAME
ORDINAL_POSITION 6 ORDINAL_POSITION 6
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -139,7 +139,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME DATA_TYPE COLUMN_NAME DATA_TYPE
ORDINAL_POSITION 7 ORDINAL_POSITION 7
COLUMN_DEFAULT COLUMN_DEFAULT
@ -158,7 +158,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME CHARACTER_MAXIMUM_LENGTH COLUMN_NAME CHARACTER_MAXIMUM_LENGTH
ORDINAL_POSITION 8 ORDINAL_POSITION 8
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -177,7 +177,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME CHARACTER_OCTET_LENGTH COLUMN_NAME CHARACTER_OCTET_LENGTH
ORDINAL_POSITION 9 ORDINAL_POSITION 9
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -196,7 +196,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME NUMERIC_PRECISION COLUMN_NAME NUMERIC_PRECISION
ORDINAL_POSITION 10 ORDINAL_POSITION 10
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -215,7 +215,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME NUMERIC_SCALE COLUMN_NAME NUMERIC_SCALE
ORDINAL_POSITION 11 ORDINAL_POSITION 11
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -234,7 +234,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME CHARACTER_SET_NAME COLUMN_NAME CHARACTER_SET_NAME
ORDINAL_POSITION 12 ORDINAL_POSITION 12
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -253,7 +253,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME COLLATION_NAME COLUMN_NAME COLLATION_NAME
ORDINAL_POSITION 13 ORDINAL_POSITION 13
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -272,7 +272,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME DTD_IDENTIFIER COLUMN_NAME DTD_IDENTIFIER
ORDINAL_POSITION 14 ORDINAL_POSITION 14
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -291,7 +291,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME parameters TABLE_NAME PARAMETERS
COLUMN_NAME ROUTINE_TYPE COLUMN_NAME ROUTINE_TYPE
ORDINAL_POSITION 15 ORDINAL_POSITION 15
COLUMN_DEFAULT COLUMN_DEFAULT

View File

@ -40,7 +40,7 @@ WHERE table_schema = 'information_schema'
ORDER BY ordinal_position; ORDER BY ordinal_position;
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME SPECIFIC_NAME COLUMN_NAME SPECIFIC_NAME
ORDINAL_POSITION 1 ORDINAL_POSITION 1
COLUMN_DEFAULT COLUMN_DEFAULT
@ -59,7 +59,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME ROUTINE_CATALOG COLUMN_NAME ROUTINE_CATALOG
ORDINAL_POSITION 2 ORDINAL_POSITION 2
COLUMN_DEFAULT COLUMN_DEFAULT
@ -78,7 +78,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME ROUTINE_SCHEMA COLUMN_NAME ROUTINE_SCHEMA
ORDINAL_POSITION 3 ORDINAL_POSITION 3
COLUMN_DEFAULT COLUMN_DEFAULT
@ -97,7 +97,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME ROUTINE_NAME COLUMN_NAME ROUTINE_NAME
ORDINAL_POSITION 4 ORDINAL_POSITION 4
COLUMN_DEFAULT COLUMN_DEFAULT
@ -116,7 +116,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME ROUTINE_TYPE COLUMN_NAME ROUTINE_TYPE
ORDINAL_POSITION 5 ORDINAL_POSITION 5
COLUMN_DEFAULT COLUMN_DEFAULT
@ -135,7 +135,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME DATA_TYPE COLUMN_NAME DATA_TYPE
ORDINAL_POSITION 6 ORDINAL_POSITION 6
COLUMN_DEFAULT COLUMN_DEFAULT
@ -154,7 +154,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME CHARACTER_MAXIMUM_LENGTH COLUMN_NAME CHARACTER_MAXIMUM_LENGTH
ORDINAL_POSITION 7 ORDINAL_POSITION 7
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -173,7 +173,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME CHARACTER_OCTET_LENGTH COLUMN_NAME CHARACTER_OCTET_LENGTH
ORDINAL_POSITION 8 ORDINAL_POSITION 8
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -192,7 +192,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME NUMERIC_PRECISION COLUMN_NAME NUMERIC_PRECISION
ORDINAL_POSITION 9 ORDINAL_POSITION 9
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -211,7 +211,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME NUMERIC_SCALE COLUMN_NAME NUMERIC_SCALE
ORDINAL_POSITION 10 ORDINAL_POSITION 10
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -230,7 +230,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME CHARACTER_SET_NAME COLUMN_NAME CHARACTER_SET_NAME
ORDINAL_POSITION 11 ORDINAL_POSITION 11
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -249,7 +249,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME COLLATION_NAME COLUMN_NAME COLLATION_NAME
ORDINAL_POSITION 12 ORDINAL_POSITION 12
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -268,7 +268,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME DTD_IDENTIFIER COLUMN_NAME DTD_IDENTIFIER
ORDINAL_POSITION 13 ORDINAL_POSITION 13
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -287,7 +287,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME ROUTINE_BODY COLUMN_NAME ROUTINE_BODY
ORDINAL_POSITION 14 ORDINAL_POSITION 14
COLUMN_DEFAULT COLUMN_DEFAULT
@ -306,7 +306,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME ROUTINE_DEFINITION COLUMN_NAME ROUTINE_DEFINITION
ORDINAL_POSITION 15 ORDINAL_POSITION 15
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -325,7 +325,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME EXTERNAL_NAME COLUMN_NAME EXTERNAL_NAME
ORDINAL_POSITION 16 ORDINAL_POSITION 16
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -344,7 +344,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME EXTERNAL_LANGUAGE COLUMN_NAME EXTERNAL_LANGUAGE
ORDINAL_POSITION 17 ORDINAL_POSITION 17
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -363,7 +363,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME PARAMETER_STYLE COLUMN_NAME PARAMETER_STYLE
ORDINAL_POSITION 18 ORDINAL_POSITION 18
COLUMN_DEFAULT COLUMN_DEFAULT
@ -382,7 +382,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME IS_DETERMINISTIC COLUMN_NAME IS_DETERMINISTIC
ORDINAL_POSITION 19 ORDINAL_POSITION 19
COLUMN_DEFAULT COLUMN_DEFAULT
@ -401,7 +401,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME SQL_DATA_ACCESS COLUMN_NAME SQL_DATA_ACCESS
ORDINAL_POSITION 20 ORDINAL_POSITION 20
COLUMN_DEFAULT COLUMN_DEFAULT
@ -420,7 +420,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME SQL_PATH COLUMN_NAME SQL_PATH
ORDINAL_POSITION 21 ORDINAL_POSITION 21
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -439,7 +439,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME SECURITY_TYPE COLUMN_NAME SECURITY_TYPE
ORDINAL_POSITION 22 ORDINAL_POSITION 22
COLUMN_DEFAULT COLUMN_DEFAULT
@ -458,7 +458,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME CREATED COLUMN_NAME CREATED
ORDINAL_POSITION 23 ORDINAL_POSITION 23
COLUMN_DEFAULT 0000-00-00 00:00:00 COLUMN_DEFAULT 0000-00-00 00:00:00
@ -477,7 +477,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME LAST_ALTERED COLUMN_NAME LAST_ALTERED
ORDINAL_POSITION 24 ORDINAL_POSITION 24
COLUMN_DEFAULT 0000-00-00 00:00:00 COLUMN_DEFAULT 0000-00-00 00:00:00
@ -496,7 +496,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME SQL_MODE COLUMN_NAME SQL_MODE
ORDINAL_POSITION 25 ORDINAL_POSITION 25
COLUMN_DEFAULT COLUMN_DEFAULT
@ -515,7 +515,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME ROUTINE_COMMENT COLUMN_NAME ROUTINE_COMMENT
ORDINAL_POSITION 26 ORDINAL_POSITION 26
COLUMN_DEFAULT NULL COLUMN_DEFAULT NULL
@ -534,7 +534,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME DEFINER COLUMN_NAME DEFINER
ORDINAL_POSITION 27 ORDINAL_POSITION 27
COLUMN_DEFAULT COLUMN_DEFAULT
@ -553,7 +553,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME CHARACTER_SET_CLIENT COLUMN_NAME CHARACTER_SET_CLIENT
ORDINAL_POSITION 28 ORDINAL_POSITION 28
COLUMN_DEFAULT COLUMN_DEFAULT
@ -572,7 +572,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME COLLATION_CONNECTION COLUMN_NAME COLLATION_CONNECTION
ORDINAL_POSITION 29 ORDINAL_POSITION 29
COLUMN_DEFAULT COLUMN_DEFAULT
@ -591,7 +591,7 @@ PRIVILEGES #
COLUMN_COMMENT COLUMN_COMMENT
TABLE_CATALOG def TABLE_CATALOG def
TABLE_SCHEMA information_schema TABLE_SCHEMA information_schema
TABLE_NAME routines TABLE_NAME ROUTINES
COLUMN_NAME DATABASE_COLLATION COLUMN_NAME DATABASE_COLLATION
ORDINAL_POSITION 30 ORDINAL_POSITION 30
COLUMN_DEFAULT COLUMN_DEFAULT

View File

@ -503,4 +503,33 @@ DROP TABLE t1;
CREATE TABLE t1 (id INT NOT NULL); CREATE TABLE t1 (id INT NOT NULL);
LOAD DATA LOCAL INFILE 'tb.txt' INTO TABLE t1; LOAD DATA LOCAL INFILE 'tb.txt' INTO TABLE t1;
DROP TABLE t1; DROP TABLE t1;
#
# Bug #51876 : crash/memory underrun when loading data with ucs2
# and reverse() function
#
# Problem # 1 (original report): wrong parsing of ucs2 data
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt';
CREATE TABLE t1(a INT);
LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2
(@b) SET a=REVERSE(@b);
Warnings:
Warning 1366 Incorrect integer value: '?' for column 'a' at row 1
Warning 1366 Incorrect integer value: '?' for column 'a' at row 2
# should return 2 zeroes (as the value is truncated)
SELECT * FROM t1;
a
0
0
DROP TABLE t1;
# Problem # 2 : if you write and read ucs2 data to a file they're lost
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2;
CREATE TABLE t1(a INT);
LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2
(@b) SET a=REVERSE(@b);
# should return 0 and 1 (10 reversed)
SELECT * FROM t1;
a
0
1
DROP TABLE t1;
End of 5.1 tests End of 5.1 tests

0
mysql-test/r/lowercase_mixed_tmpdir_innodb.result Executable file → Normal file
View File

View File

@ -148,3 +148,20 @@ a
DROP VIEW v1; DROP VIEW v1;
DROP TABLE t1; DROP TABLE t1;
End of 5.0 tests. End of 5.0 tests.
#
# Bug #53095: SELECT column_name FROM INFORMATION_SCHEMA.STATISTICS
# returns nothing
#
CREATE TABLE `ttt` (
`f1` char(3) NOT NULL,
PRIMARY KEY (`f1`)
) ENGINE=myisam DEFAULT CHARSET=latin1;
SELECT count(COLUMN_NAME) FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME =
'TTT';
count(COLUMN_NAME)
1
SELECT count(*) FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 'TTT';
count(*)
1
DROP TABLE `ttt`;
End of 5.0 tests.

View File

@ -169,4 +169,46 @@ DROP PROCEDURE testproc;
WARNING: NULL values of the 'character_set_client' column ('mysql.proc' table) have been updated with a default value (latin1). Please verify if necessary. WARNING: NULL values of the 'character_set_client' column ('mysql.proc' table) have been updated with a default value (latin1). Please verify if necessary.
WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (latin1_swedish_ci). Please verify if necessary. WARNING: NULL values of the 'collation_connection' column ('mysql.proc' table) have been updated with a default value (latin1_swedish_ci). Please verify if necessary.
WARNING: NULL values of the 'db_collation' column ('mysql.proc' table) have been updated with default values. Please verify if necessary. WARNING: NULL values of the 'db_collation' column ('mysql.proc' table) have been updated with default values. Please verify if necessary.
#
# Bug #53613: mysql_upgrade incorrectly revokes
# TRIGGER privilege on given table
#
GRANT USAGE ON *.* TO 'user3'@'%';
GRANT ALL PRIVILEGES ON `roelt`.`test2` TO 'user3'@'%';
Run mysql_upgrade with all privileges on a user
mtr.global_suppressions OK
mtr.test_suppressions OK
mysql.columns_priv OK
mysql.db OK
mysql.event OK
mysql.func OK
mysql.general_log
Error : You can't use locks with log tables.
status : OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.servers OK
mysql.slow_log
Error : You can't use locks with log tables.
status : OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
SHOW GRANTS FOR 'user3'@'%';
Grants for user3@%
GRANT USAGE ON *.* TO 'user3'@'%'
GRANT ALL PRIVILEGES ON `roelt`.`test2` TO 'user3'@'%'
DROP USER 'user3'@'%';
End of 5.1 tests
The --upgrade-system-tables option was used, databases won't be touched. The --upgrade-system-tables option was used, databases won't be touched.

View File

@ -4856,6 +4856,21 @@ a b c
SELECT * FROM t1 WHERE 102 < c; SELECT * FROM t1 WHERE 102 < c;
a b c a b c
DROP TABLE t1; DROP TABLE t1;
#
# Bug #54459: Assertion failed: param.sort_length,
# file .\filesort.cc, line 149 (part II)
#
CREATE TABLE t1(a ENUM('') NOT NULL);
INSERT INTO t1 VALUES (), (), ();
EXPLAIN SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
SELECT 1 FROM t1 ORDER BY a COLLATE latin1_german2_ci;
1
1
1
1
DROP TABLE t1;
End of 5.1 tests End of 5.1 tests
# #
# Bug#54515: Crash in opt_range.cc::get_best_group_min_max on # Bug#54515: Crash in opt_range.cc::get_best_group_min_max on

View File

@ -4988,3 +4988,20 @@ t1_id total_amount
DROP TABLE t3; DROP TABLE t3;
DROP TABLE t2; DROP TABLE t2;
DROP TABLE t1; DROP TABLE t1;
#
# Bug #52711: Segfault when doing EXPLAIN SELECT with
# union...order by (select... where...)
#
CREATE TABLE t1 (a VARCHAR(10), FULLTEXT KEY a (a));
INSERT INTO t1 VALUES (1),(2);
CREATE TABLE t2 (b INT);
INSERT INTO t2 VALUES (1),(2);
# Should not crash
EXPLAIN
SELECT * FROM t2 UNION SELECT * FROM t2
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
# Should not crash
SELECT * FROM t2 UNION SELECT * FROM t2
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
DROP TABLE t1,t2;
End of 5.1 tests

View File

@ -0,0 +1,441 @@
3304605 1221256 0 0 abcdefghijklmnopwrst
3304606 1221259 0 0 abcdefghijklmnopwrst
3304607 1221260 0 0 asdfghjklzxcvbnm
3304629 1221273 0 0 asdfghjklzxcvbnm
3304630 1221273 0 0 asdfghjklzxcvbnm
3304634 1221259 0 0 asdfghjklzxcvbnm
3304644 1221278 0 0 abcdefghijklmnopwrst
3304648 1221278 0 0 abcdefghijklmnopwrst
3304649 1221278 0 1 asdfghjklzxcvbnm
3304650 1221278 0 0 asdfghjklzxcvbnm
3304651 1221282 0 0 abcdefghijklmnopwrst
3304660 1221287 0 0 asdfghjklzxcvbnm
3304662 1221288 0 0 abcdefghijklmnopwrst
3304663 1221288 0 0 abcdefghijklmnopwrst
3304664 1221290 0 0 abcdefghijklmnopwrst
3304670 1221290 0 0 asdfghjklzxcvbnm
3304671 1221292 0 0 abcdefghijklmnopwrst
3304672 1221287 0 0 asdfghjklzxcvbnm
3304673 1221294 0 0 asdfghjklzxcvbnm
3304674 1221287 0 0 asdfghjklzxcvbnm
3304676 1221296 0 0 abcdefghijklmnopwrst
3304677 1221287 0 0 abcdefghijklmnopwrst
3304678 1221287 0 0 abcdefghijklmnopwrst
3304679 1221297 0 0 asdfghjklzxcvbnm
3304680 1221290 0 0 abcdefghijklmnopwrst
3304681 1221290 0 0 abcdefghijklmnopwrst
3304685 1221300 0 0 asdfghjklzxcvbnm
3304687 1221302 0 0 abcdefghijklmnopwrst
3304688 1221296 1221298 0 abcdefghijklmnopwrst
3304692 1221309 0 0 asdfghjklzxcvbnm
3304694 1221309 0 0 asdfghjklzxcvbnm
3304695 1221290 0 0 abcdefghijklmnopwrst
3304696 1221313 0 0 asdfghjklzxcvbnm
3304701 1221314 0 0 asdfghjklzxcvbnm
3304703 1221313 0 0 abcdefghijklmnopwrst
3304707 1221313 0 0 asdfghjklzxcvbnm
3304709 1221313 0 0 abcdefghijklmnopwrst
3304713 1221314 0 0 abcdefghijklmnopwrst
3304715 1221317 0 0 abcdefghijklmnopwrst
3304717 1221319 0 0 asdfghjklzxcvbnm
3304718 1221320 0 0 abcdefghijklmnopwrst
3304723 1221314 0 0 abcdefghijklmnopwrst
3304724 1221314 0 0 asdfghjklzxcvbnm
3304725 1221300 0 0 asdfghjklzxcvbnm
3304726 1221314 0 0 asdfghjklzxcvbnm
3304730 1221326 0 0 asdfghjklzxcvbnm
3304732 1221328 0 0 asdfghjklzxcvbnm
3304733 1221329 0 0 asdfghjklzxcvbnm
3304745 1221331 0 0 abcdefghijklmnopwrst
3304747 1221300 0 0 abcdefghijklmnopwrst
3304752 1221332 0 0 asdfghjklzxcvbnm
3304756 1221333 0 0 asdfghjklzxcvbnm
3304765 1221336 0 0 asdfghjklzxcvbnm
3304767 1221338 0 0 abcdefghijklmnopwrst
3304769 1221340 0 0 asdfghjklzxcvbnm
3304770 1221328 0 0 asdfghjklzxcvbnm
3304771 1221328 0 0 abcdefghijklmnopwrst
3304773 1221340 0 0 asdfghjklzxcvbnm
3304774 1221340 0 0 abcdefghijklmnopwrst
3304775 1221338 1221342 1 asdfghjklzxcvbnm
3304778 1221345 0 0 asdfghjklzxcvbnm
3304786 1221332 0 0 asdfghjklzxcvbnm
3304787 1221347 0 0 abcdefghijklmnopwrst
3304789 1221347 0 0 asdfghjklzxcvbnm
3304793 1221349 0 0 abcdefghijklmnopwrst
3304794 1221350 0 0 asdfghjklzxcvbnm
3304800 1221290 0 0 asdfghjklzxcvbnm
3304802 1221290 0 0 asdfghjklzxcvbnm
3304803 1221290 0 0 asdfghjklzxcvbnm
3304810 1221356 0 0 asdfghjklzxcvbnm
3304811 1221356 0 0 asdfghjklzxcvbnm
3304821 1221364 0 0 asdfghjklzxcvbnm
3304823 1221365 0 0 asdfghjklzxcvbnm
3304824 1221366 0 0 abcdefghijklmnopwrst
3304825 1221365 0 0 asdfghjklzxcvbnm
3304826 1221367 0 0 asdfghjklzxcvbnm
3304828 1221369 0 0 abcdefghijklmnopwrst
3304829 1221366 1221368 0 asdfghjklzxcvbnm
3304831 1221372 0 0 abcdefghijklmnopwrst
3304832 1221364 1221373 0 abcdefghijklmnopwrst
3304833 1221364 1221371 0 asdfghjklzxcvbnm
3304834 1221364 0 0 abcdefghijklmnopwrst
3304836 1221375 0 0 abcdefghijklmnopwrst
3304837 1221364 0 0 abcdefghijklmnopwrst
3304838 1221364 1221376 0 asdfghjklzxcvbnm
3304840 1221372 0 0 asdfghjklzxcvbnm
3304842 1221372 0 1 abcdefghijklmnopwrst
3304844 1221372 0 0 asdfghjklzxcvbnm
3304845 1221372 0 0 abcdefghijklmnopwrst
3304847 1221382 0 0 abcdefghijklmnopwrst
3304848 1221372 0 0 abcdefghijklmnopwrst
3304849 1221372 0 0 asdfghjklzxcvbnm
3304852 1221364 1221378 0 asdfghjklzxcvbnm
3304853 1221383 0 0 abcdefghijklmnopwrst
3304854 1221384 0 0 asdfghjklzxcvbnm
3304855 1221347 0 0 asdfghjklzxcvbnm
3304858 1221383 0 0 abcdefghijklmnopwrst
3304862 1221386 0 0 abcdefghijklmnopwrst
3304864 1221387 0 0 abcdefghijklmnopwrst
3304867 1221389 0 0 abcdefghijklmnopwrst
3304868 1221390 0 0 asdfghjklzxcvbnm
3304869 1221391 0 0 asdfghjklzxcvbnm
3304871 1221393 0 0 asdfghjklzxcvbnm
3304874 1221395 0 0 abcdefghijklmnopwrst
3304877 1221396 0 0 abcdefghijklmnopwrst
3304879 1221396 0 0 asdfghjklzxcvbnm
3304882 1221398 0 0 abcdefghijklmnopwrst
3304883 1221399 0 0 abcdefghijklmnopwrst
3304884 1221400 0 0 abcdefghijklmnopwrst
3304889 1221405 0 0 abcdefghijklmnopwrst
3304895 1221409 0 0 asdfghjklzxcvbnm
3304899 1221395 0 0 asdfghjklzxcvbnm
3304900 1221395 0 0 asdfghjklzxcvbnm
3304902 1221395 0 0 abcdefghijklmnopwrst
3304903 1221395 0 0 asdfghjklzxcvbnm
3304924 1221414 0 0 abcdefghijklmnopwrst
3304925 1221415 0 0 asdfghjklzxcvbnm
3304935 1221416 0 0 asdfghjklzxcvbnm
3304936 1221418 0 0 asdfghjklzxcvbnm
3304944 1221419 0 0 abcdefghijklmnopwrst
3304959 1221427 0 0 asdfghjklzxcvbnm
3304963 1221415 0 0 asdfghjklzxcvbnm
3304964 1221428 0 0 asdfghjklzxcvbnm
3304965 1221429 0 0 abcdefghijklmnopwrst
3304978 1221433 0 0 abcdefghijklmnopwrst
3304986 1221437 0 0 asdfghjklzxcvbnm
3304988 1221439 0 0 asdfghjklzxcvbnm
3304994 1221441 0 0 asdfghjklzxcvbnm
3304996 1221442 0 0 asdfghjklzxcvbnm
3304998 1221443 0 0 asdfghjklzxcvbnm
3305003 1221446 0 0 abcdefghijklmnopwrst
3305008 1221433 0 0 abcdefghijklmnopwrst
3305009 1221447 0 0 asdfghjklzxcvbnm
3305012 1221447 0 0 asdfghjklzxcvbnm
3305013 1221449 0 0 abcdefghijklmnopwrst
3305015 1221451 0 0 asdfghjklzxcvbnm
3305019 1221453 0 0 asdfghjklzxcvbnm
3305023 1221449 0 0 asdfghjklzxcvbnm
3305026 1221456 0 0 abcdefghijklmnopwrst
3305028 1221457 0 0 asdfghjklzxcvbnm
3305032 1221449 0 0 asdfghjklzxcvbnm
3305037 1221453 0 0 asdfghjklzxcvbnm
3305040 1221451 0 0 asdfghjklzxcvbnm
3305061 1221446 0 0 abcdefghijklmnopwrst
3305175 1221457 0 0 abcdefghijklmnopwrst
3305304 1221453 0 0 abcdefghijklmnopwrst
3305308 1221453 0 1 abcdefghijklmnopwrst
3305333 1221457 1221577 0 asdfghjklzxcvbnm
3305335 1221453 0 0 asdfghjklzxcvbnm
3305354 1221457 0 1 asdfghjklzxcvbnm
3306089 1221442 0 0 abcdefghijklmnopwrst
3306090 1221442 0 0 abcdefghijklmnopwrst
3306092 1221442 0 0 asdfghjklzxcvbnm
3306345 1221366 0 0 asdfghjklzxcvbnm
3306349 1221366 0 0 asdfghjklzxcvbnm
3306419 1221364 1221371 0 asdfghjklzxcvbnm
3307390 1221453 0 0 abcdefghijklmnopwrst
3308002 1221416 1221417 0 abcdefghijklmnopwrst
3308331 1221366 1222821 0 abcdefghijklmnopwrst
3309991 1221347 0 0 asdfghjklzxcvbnm
3311917 1221287 0 0 abcdefghijklmnopwrst
3311937 1221287 0 0 abcdefghijklmnopwrst
3311945 1221287 0 0 asdfghjklzxcvbnm
3311955 1221287 0 0 abcdefghijklmnopwrst
3311961 1221287 0 0 asdfghjklzxcvbnm
3311963 1221287 0 1 asdfghjklzxcvbnm
3311968 1221287 0 0 asdfghjklzxcvbnm
3311974 1221287 0 1 abcdefghijklmnopwrst
3311976 1221287 0 1 abcdefghijklmnopwrst
3311981 1221287 0 1 abcdefghijklmnopwrst
3311985 1221287 0 1 asdfghjklzxcvbnm
3312014 1221287 0 0 abcdefghijklmnopwrst
3312018 1221287 0 1 abcdefghijklmnopwrst
3312025 1221287 0 0 abcdefghijklmnopwrst
3312027 1221287 0 0 abcdefghijklmnopwrst
3312030 1221287 0 0 abcdefghijklmnopwrst
3313755 1221288 0 0 abcdefghijklmnopwrst
3313767 1221288 0 0 asdfghjklzxcvbnm
3314668 1221290 0 0 asdfghjklzxcvbnm
3314670 1221290 0 0 abcdefghijklmnopwrst
3323440 1221338 0 0 abcdefghijklmnopwrst
3323736 1221338 0 0 asdfghjklzxcvbnm
3323739 1221338 0 0 asdfghjklzxcvbnm
3324077 1221290 0 0 asdfghjklzxcvbnm
3324081 1221290 0 0 abcdefghijklmnopwrst
3324082 1221290 0 0 abcdefghijklmnopwrst
3324639 1221457 1221563 1 asdfghjklzxcvbnm
3326180 1221287 0 0 abcdefghijklmnopwrst
3326204 1221287 0 0 asdfghjklzxcvbnm
3326945 1221457 1221563 1 asdfghjklzxcvbnm
3328393 1221364 1221373 0 asdfghjklzxcvbnm
3328966 1221287 0 0 abcdefghijklmnopwrst
3329875 1221457 1382427 0 abcdefghijklmnopwrst
3333449 1221278 1231113 0 abcdefghijklmnopwrst
3336022 1221457 0 0 abcdefghijklmnopwrst
3340069 1221364 1221373 0 abcdefghijklmnopwrst
3340073 1221364 1221373 0 abcdefghijklmnopwrst
3340563 1221290 0 0 asdfghjklzxcvbnm
3341553 1221453 0 0 abcdefghijklmnopwrst
3345868 1221287 0 0 asdfghjklzxcvbnm
3345873 1221287 0 0 abcdefghijklmnopwrst
3345879 1221287 0 0 asdfghjklzxcvbnm
3346860 1221457 0 0 abcdefghijklmnopwrst
3347053 1221287 0 0 asdfghjklzxcvbnm
3347109 1221287 0 1 abcdefghijklmnopwrst
3350589 1221372 1236415 0 abcdefghijklmnopwrst
3350594 1221372 1236415 1 asdfghjklzxcvbnm
3353871 1221457 0 0 asdfghjklzxcvbnm
3354727 1221364 1221373 0 abcdefghijklmnopwrst
3355270 1221393 0 1 abcdefghijklmnopwrst
3357638 1221287 0 0 asdfghjklzxcvbnm
3357644 1221287 0 0 abcdefghijklmnopwrst
3357648 1221287 0 0 abcdefghijklmnopwrst
3357651 1221287 0 0 asdfghjklzxcvbnm
3357661 1221287 0 0 abcdefghijklmnopwrst
3357678 1221287 0 0 abcdefghijklmnopwrst
3357697 1221287 0 0 asdfghjklzxcvbnm
3357737 1221287 0 0 asdfghjklzxcvbnm
3357744 1221287 0 0 abcdefghijklmnopwrst
3357754 1221287 0 1 asdfghjklzxcvbnm
3357760 1221287 0 1 abcdefghijklmnopwrst
3357774 1221287 0 1 abcdefghijklmnopwrst
3357779 1221287 0 0 abcdefghijklmnopwrst
3357796 1221287 0 0 asdfghjklzxcvbnm
3357814 1221287 0 0 asdfghjklzxcvbnm
3357833 1221287 0 1 asdfghjklzxcvbnm
3357835 1221287 0 0 abcdefghijklmnopwrst
3357840 1221287 0 1 asdfghjklzxcvbnm
3357842 1221287 0 0 abcdefghijklmnopwrst
3357845 1221287 0 1 abcdefghijklmnopwrst
3357849 1221287 0 1 abcdefghijklmnopwrst
3357852 1221287 0 0 abcdefghijklmnopwrst
3358935 1221443 0 1 abcdefghijklmnopwrst
3358967 1221443 0 1 abcdefghijklmnopwrst
3359181 1221256 0 0 abcdefghijklmnopwrst
3360512 1221319 0 0 asdfghjklzxcvbnm
3362004 1221287 0 0 abcdefghijklmnopwrst
3362009 1221287 0 1 abcdefghijklmnopwrst
3362358 1221287 0 0 asdfghjklzxcvbnm
3363214 1221287 0 0 abcdefghijklmnopwrst
3363238 1221287 0 1 asdfghjklzxcvbnm
3363616 1221287 0 1 asdfghjklzxcvbnm
3363631 1221287 0 0 asdfghjklzxcvbnm
3364281 1221287 0 0 abcdefghijklmnopwrst
3365900 1221347 0 0 asdfghjklzxcvbnm
3365901 1221347 0 0 asdfghjklzxcvbnm
3365906 1221347 0 0 asdfghjklzxcvbnm
3365907 1221347 0 0 asdfghjklzxcvbnm
3365910 1221347 0 0 abcdefghijklmnopwrst
3365936 1221347 0 0 abcdefghijklmnopwrst
3367846 1221287 0 0 abcdefghijklmnopwrst
3368011 1221428 0 0 abcdefghijklmnopwrst
3369882 1221300 0 0 asdfghjklzxcvbnm
3370856 1221443 0 0 asdfghjklzxcvbnm
3370861 1221443 1221445 0 abcdefghijklmnopwrst
3375327 1221443 0 0 abcdefghijklmnopwrst
3375333 1221443 1221445 0 abcdefghijklmnopwrst
3376219 1221453 0 1 abcdefghijklmnopwrst
3376228 1221453 0 0 abcdefghijklmnopwrst
3376238 1221453 0 0 asdfghjklzxcvbnm
3376243 1221453 0 0 abcdefghijklmnopwrst
3376248 1221453 0 1 abcdefghijklmnopwrst
3376254 1221453 0 0 abcdefghijklmnopwrst
3376263 1221453 0 0 abcdefghijklmnopwrst
3376272 1221453 0 1 asdfghjklzxcvbnm
3376281 1221453 0 0 asdfghjklzxcvbnm
3376290 1221453 0 0 abcdefghijklmnopwrst
3376296 1221453 0 1 abcdefghijklmnopwrst
3376301 1221453 0 0 asdfghjklzxcvbnm
3376350 1221453 0 0 asdfghjklzxcvbnm
3379002 1221453 0 0 abcdefghijklmnopwrst
3379015 1221453 0 0 asdfghjklzxcvbnm
3379025 1221453 0 0 abcdefghijklmnopwrst
3379032 1221453 0 0 asdfghjklzxcvbnm
3380181 1221372 1245650 0 asdfghjklzxcvbnm
3380186 1221372 1245650 0 abcdefghijklmnopwrst
3380190 1221372 1245650 0 asdfghjklzxcvbnm
3380195 1221372 1245650 0 abcdefghijklmnopwrst
3380202 1221372 1245650 0 asdfghjklzxcvbnm
3380683 1221287 0 0 asdfghjklzxcvbnm
3382317 1221453 0 0 abcdefghijklmnopwrst
3382417 1221287 0 0 asdfghjklzxcvbnm
3383523 1221338 0 1 abcdefghijklmnopwrst
3387213 1221287 0 0 abcdefghijklmnopwrst
3388139 1221453 0 0 asdfghjklzxcvbnm
3398039 1221443 1251164 0 abcdefghijklmnopwrst
3401835 1221453 0 0 asdfghjklzxcvbnm
3412582 1221443 1255886 0 asdfghjklzxcvbnm
3412583 1221443 1255886 0 asdfghjklzxcvbnm
3413795 1221443 1255886 0 asdfghjklzxcvbnm
3413813 1221443 1256258 0 asdfghjklzxcvbnm
3420306 1221453 0 0 asdfghjklzxcvbnm
3420354 1221453 0 0 asdfghjklzxcvbnm
3425653 1221443 0 0 abcdefghijklmnopwrst
3425658 1221443 0 0 asdfghjklzxcvbnm
3431409 1221453 0 0 asdfghjklzxcvbnm
3432510 1221443 1262320 0 asdfghjklzxcvbnm
3432513 1221443 1262320 0 asdfghjklzxcvbnm
3444444 1221443 1262320 0 abcdefghijklmnopwrst
3445447 1221287 0 1 asdfghjklzxcvbnm
3448662 1221338 0 0 asdfghjklzxcvbnm
3450032 1221347 0 0 abcdefghijklmnopwrst
3450259 1221453 0 0 abcdefghijklmnopwrst
3452176 1221453 0 0 asdfghjklzxcvbnm
3459239 1221347 0 0 asdfghjklzxcvbnm
3463196 1221347 0 0 abcdefghijklmnopwrst
3468759 1221453 0 0 abcdefghijklmnopwrst
3470988 1221457 0 0 asdfghjklzxcvbnm
3477116 1221287 0 0 asdfghjklzxcvbnm
3477639 1221372 1277136 0 abcdefghijklmnopwrst
3477656 1221372 1277136 0 asdfghjklzxcvbnm
3488071 1221256 1238964 0 abcdefghijklmnopwrst
3488079 1221256 0 0 asdfghjklzxcvbnm
3488108 1221256 0 1 asdfghjklzxcvbnm
3507126 1221287 0 1 asdfghjklzxcvbnm
3511898 1221347 0 0 asdfghjklzxcvbnm
3521780 1221453 0 0 abcdefghijklmnopwrst
3536908 1221287 0 0 abcdefghijklmnopwrst
3544231 1221329 0 1 asdfghjklzxcvbnm
3545379 1221329 1298955 0 abcdefghijklmnopwrst
3545384 1221329 1298955 0 abcdefghijklmnopwrst
3545387 1221329 1298955 0 abcdefghijklmnopwrst
3545389 1221329 1298955 1 abcdefghijklmnopwrst
3545398 1221329 1298955 1 abcdefghijklmnopwrst
3555715 1221287 0 0 asdfghjklzxcvbnm
3563557 1221329 1298955 0 abcdefghijklmnopwrst
3564322 1221338 0 0 asdfghjklzxcvbnm
3565475 1221453 0 0 abcdefghijklmnopwrst
3577588 1221287 0 0 asdfghjklzxcvbnm
3600047 1221453 0 0 abcdefghijklmnopwrst
3600062 1221453 0 0 asdfghjklzxcvbnm
3600071 1221453 0 0 abcdefghijklmnopwrst
3600080 1221453 0 1 abcdefghijklmnopwrst
3600086 1221453 0 0 asdfghjklzxcvbnm
3600091 1221453 0 1 abcdefghijklmnopwrst
3600097 1221453 0 0 asdfghjklzxcvbnm
3600103 1221453 0 0 asdfghjklzxcvbnm
3600106 1221453 0 0 abcdefghijklmnopwrst
3600113 1221453 0 0 abcdefghijklmnopwrst
3600119 1221453 0 0 asdfghjklzxcvbnm
3600124 1221453 0 0 abcdefghijklmnopwrst
3600144 1221453 0 0 asdfghjklzxcvbnm
3600152 1221453 0 0 asdfghjklzxcvbnm
3600165 1221453 0 0 asdfghjklzxcvbnm
3610561 1221287 0 0 abcdefghijklmnopwrst
3617030 1221329 0 0 asdfghjklzxcvbnm
3628347 1221443 1327098 0 abcdefghijklmnopwrst
3628348 1221443 1327098 0 abcdefghijklmnopwrst
3628646 1221443 0 0 asdfghjklzxcvbnm
3633673 1221372 1328838 0 abcdefghijklmnopwrst
3648489 1221443 0 0 asdfghjklzxcvbnm
3648490 1221443 0 0 asdfghjklzxcvbnm
3648534 1221443 1333827 0 asdfghjklzxcvbnm
3653046 1221329 1298955 0 asdfghjklzxcvbnm
3662680 1221287 0 0 asdfghjklzxcvbnm
3699529 1221288 0 0 asdfghjklzxcvbnm
3706659 1221453 0 0 asdfghjklzxcvbnm
3723399 1221287 0 1 asdfghjklzxcvbnm
3749934 1221278 0 0 abcdefghijklmnopwrst
3761370 1221443 1371176 0 asdfghjklzxcvbnm
3765884 1221443 1333827 0 abcdefghijklmnopwrst
3772880 1221457 0 0 abcdefghijklmnopwrst
3779574 1221457 1372998 1 abcdefghijklmnopwrst
3784656 1221457 1372998 1 abcdefghijklmnopwrst
3784700 1221457 1372998 1 abcdefghijklmnopwrst
3784744 1221457 1382427 0 abcdefghijklmnopwrst
3796187 1221457 1382427 1 abcdefghijklmnopwrst
3796193 1221457 0 0 abcdefghijklmnopwrst
3817277 1221457 1382427 0 asdfghjklzxcvbnm
3828282 1221457 0 0 abcdefghijklmnopwrst
3828297 1221457 0 0 abcdefghijklmnopwrst
3828300 1221457 0 0 abcdefghijklmnopwrst
3833022 1221287 0 0 asdfghjklzxcvbnm
3856380 1221457 1395359 0 asdfghjklzxcvbnm
3856391 1221457 0 0 asdfghjklzxcvbnm
3861413 1221256 0 0 abcdefghijklmnopwrst
3864734 1221393 0 1 abcdefghijklmnopwrst
3868051 1221329 0 0 abcdefghijklmnopwrst
3868059 1221329 0 0 abcdefghijklmnopwrst
3869088 1221329 0 0 abcdefghijklmnopwrst
3878669 1221329 1298955 0 asdfghjklzxcvbnm
3878684 1221329 1298955 0 asdfghjklzxcvbnm
3881785 1221287 0 0 abcdefghijklmnopwrst
3882333 1221287 0 0 asdfghjklzxcvbnm
3882389 1221287 0 0 abcdefghijklmnopwrst
3908680 1221372 1245650 0 asdfghjklzxcvbnm
3908690 1221372 1245650 0 asdfghjklzxcvbnm
3908697 1221372 1245650 0 abcdefghijklmnopwrst
3911434 1221453 0 0 abcdefghijklmnopwrst
3911446 1221453 0 0 asdfghjklzxcvbnm
3911448 1221453 0 0 abcdefghijklmnopwrst
3911489 1221453 0 0 abcdefghijklmnopwrst
3917384 1221453 0 0 abcdefghijklmnopwrst
3939602 1221457 0 1 asdfghjklzxcvbnm
3962210 1221453 0 0 asdfghjklzxcvbnm
3963734 1221457 0 0 asdfghjklzxcvbnm
3977364 1221287 0 0 asdfghjklzxcvbnm
3981725 1221453 0 0 abcdefghijklmnopwrst
4042952 1221453 0 0 abcdefghijklmnopwrst
4042953 1221453 0 0 abcdefghijklmnopwrst
4042958 1221453 0 0 abcdefghijklmnopwrst
4042960 1221453 0 1 abcdefghijklmnopwrst
4042965 1221453 0 0 asdfghjklzxcvbnm
4066893 1221453 0 1 abcdefghijklmnopwrst
4066896 1221453 0 0 abcdefghijklmnopwrst
4066900 1221453 0 0 abcdefghijklmnopwrst
4066908 1221453 0 0 abcdefghijklmnopwrst
4066912 1221453 0 0 asdfghjklzxcvbnm
4066915 1221453 0 0 asdfghjklzxcvbnm
4066919 1221453 0 0 abcdefghijklmnopwrst
4066924 1221453 0 0 asdfghjklzxcvbnm
4066929 1221453 0 0 abcdefghijklmnopwrst
4066934 1221453 0 0 asdfghjklzxcvbnm
4066941 1221453 0 0 abcdefghijklmnopwrst
4066946 1221453 0 0 asdfghjklzxcvbnm
4066955 1221453 0 0 abcdefghijklmnopwrst
4116291 1221433 1487238 0 asdfghjklzxcvbnm
4116295 1221433 1487238 0 abcdefghijklmnopwrst
4116450 1221433 1487238 0 abcdefghijklmnopwrst
4121149 1221287 0 0 asdfghjklzxcvbnm
4137325 1221453 0 0 abcdefghijklmnopwrst
4149051 1221287 0 0 abcdefghijklmnopwrst
4162347 1221287 0 0 abcdefghijklmnopwrst
4164485 1221457 0 1 asdfghjklzxcvbnm
4174706 1221457 0 0 abcdefghijklmnopwrst
4178645 1221457 0 0 abcdefghijklmnopwrst
4180122 1221457 1382427 0 asdfghjklzxcvbnm
4180925 1221457 1382427 0 asdfghjklzxcvbnm
4186417 1221457 0 0 abcdefghijklmnopwrst
4189624 1221457 0 1 asdfghjklzxcvbnm
4203132 1221453 0 0 asdfghjklzxcvbnm
4228206 1221457 0 0 abcdefghijklmnopwrst
4278829 1221453 0 0 abcdefghijklmnopwrst
4326422 1221453 0 0 abcdefghijklmnopwrst
4337061 1221287 0 0 abcdefghijklmnopwrst
4379354 1221287 0 0 abcdefghijklmnopwrst
4404901 1221457 0 0 abcdefghijklmnopwrst
4494153 1221457 0 0 abcdefghijklmnopwrst
4535721 1221287 0 0 asdfghjklzxcvbnm
4559596 1221457 0 0 abcdefghijklmnopwrst
4617751 1221393 0 0 abcdefghijklmnopwrst
1 3304605 1221256 0 0 abcdefghijklmnopwrst
2 3304606 1221259 0 0 abcdefghijklmnopwrst
3 3304607 1221260 0 0 asdfghjklzxcvbnm
4 3304629 1221273 0 0 asdfghjklzxcvbnm
5 3304630 1221273 0 0 asdfghjklzxcvbnm
6 3304634 1221259 0 0 asdfghjklzxcvbnm
7 3304644 1221278 0 0 abcdefghijklmnopwrst
8 3304648 1221278 0 0 abcdefghijklmnopwrst
9 3304649 1221278 0 1 asdfghjklzxcvbnm
10 3304650 1221278 0 0 asdfghjklzxcvbnm
11 3304651 1221282 0 0 abcdefghijklmnopwrst
12 3304660 1221287 0 0 asdfghjklzxcvbnm
13 3304662 1221288 0 0 abcdefghijklmnopwrst
14 3304663 1221288 0 0 abcdefghijklmnopwrst
15 3304664 1221290 0 0 abcdefghijklmnopwrst
16 3304670 1221290 0 0 asdfghjklzxcvbnm
17 3304671 1221292 0 0 abcdefghijklmnopwrst
18 3304672 1221287 0 0 asdfghjklzxcvbnm
19 3304673 1221294 0 0 asdfghjklzxcvbnm
20 3304674 1221287 0 0 asdfghjklzxcvbnm
21 3304676 1221296 0 0 abcdefghijklmnopwrst
22 3304677 1221287 0 0 abcdefghijklmnopwrst
23 3304678 1221287 0 0 abcdefghijklmnopwrst
24 3304679 1221297 0 0 asdfghjklzxcvbnm
25 3304680 1221290 0 0 abcdefghijklmnopwrst
26 3304681 1221290 0 0 abcdefghijklmnopwrst
27 3304685 1221300 0 0 asdfghjklzxcvbnm
28 3304687 1221302 0 0 abcdefghijklmnopwrst
29 3304688 1221296 1221298 0 abcdefghijklmnopwrst
30 3304692 1221309 0 0 asdfghjklzxcvbnm
31 3304694 1221309 0 0 asdfghjklzxcvbnm
32 3304695 1221290 0 0 abcdefghijklmnopwrst
33 3304696 1221313 0 0 asdfghjklzxcvbnm
34 3304701 1221314 0 0 asdfghjklzxcvbnm
35 3304703 1221313 0 0 abcdefghijklmnopwrst
36 3304707 1221313 0 0 asdfghjklzxcvbnm
37 3304709 1221313 0 0 abcdefghijklmnopwrst
38 3304713 1221314 0 0 abcdefghijklmnopwrst
39 3304715 1221317 0 0 abcdefghijklmnopwrst
40 3304717 1221319 0 0 asdfghjklzxcvbnm
41 3304718 1221320 0 0 abcdefghijklmnopwrst
42 3304723 1221314 0 0 abcdefghijklmnopwrst
43 3304724 1221314 0 0 asdfghjklzxcvbnm
44 3304725 1221300 0 0 asdfghjklzxcvbnm
45 3304726 1221314 0 0 asdfghjklzxcvbnm
46 3304730 1221326 0 0 asdfghjklzxcvbnm
47 3304732 1221328 0 0 asdfghjklzxcvbnm
48 3304733 1221329 0 0 asdfghjklzxcvbnm
49 3304745 1221331 0 0 abcdefghijklmnopwrst
50 3304747 1221300 0 0 abcdefghijklmnopwrst
51 3304752 1221332 0 0 asdfghjklzxcvbnm
52 3304756 1221333 0 0 asdfghjklzxcvbnm
53 3304765 1221336 0 0 asdfghjklzxcvbnm
54 3304767 1221338 0 0 abcdefghijklmnopwrst
55 3304769 1221340 0 0 asdfghjklzxcvbnm
56 3304770 1221328 0 0 asdfghjklzxcvbnm
57 3304771 1221328 0 0 abcdefghijklmnopwrst
58 3304773 1221340 0 0 asdfghjklzxcvbnm
59 3304774 1221340 0 0 abcdefghijklmnopwrst
60 3304775 1221338 1221342 1 asdfghjklzxcvbnm
61 3304778 1221345 0 0 asdfghjklzxcvbnm
62 3304786 1221332 0 0 asdfghjklzxcvbnm
63 3304787 1221347 0 0 abcdefghijklmnopwrst
64 3304789 1221347 0 0 asdfghjklzxcvbnm
65 3304793 1221349 0 0 abcdefghijklmnopwrst
66 3304794 1221350 0 0 asdfghjklzxcvbnm
67 3304800 1221290 0 0 asdfghjklzxcvbnm
68 3304802 1221290 0 0 asdfghjklzxcvbnm
69 3304803 1221290 0 0 asdfghjklzxcvbnm
70 3304810 1221356 0 0 asdfghjklzxcvbnm
71 3304811 1221356 0 0 asdfghjklzxcvbnm
72 3304821 1221364 0 0 asdfghjklzxcvbnm
73 3304823 1221365 0 0 asdfghjklzxcvbnm
74 3304824 1221366 0 0 abcdefghijklmnopwrst
75 3304825 1221365 0 0 asdfghjklzxcvbnm
76 3304826 1221367 0 0 asdfghjklzxcvbnm
77 3304828 1221369 0 0 abcdefghijklmnopwrst
78 3304829 1221366 1221368 0 asdfghjklzxcvbnm
79 3304831 1221372 0 0 abcdefghijklmnopwrst
80 3304832 1221364 1221373 0 abcdefghijklmnopwrst
81 3304833 1221364 1221371 0 asdfghjklzxcvbnm
82 3304834 1221364 0 0 abcdefghijklmnopwrst
83 3304836 1221375 0 0 abcdefghijklmnopwrst
84 3304837 1221364 0 0 abcdefghijklmnopwrst
85 3304838 1221364 1221376 0 asdfghjklzxcvbnm
86 3304840 1221372 0 0 asdfghjklzxcvbnm
87 3304842 1221372 0 1 abcdefghijklmnopwrst
88 3304844 1221372 0 0 asdfghjklzxcvbnm
89 3304845 1221372 0 0 abcdefghijklmnopwrst
90 3304847 1221382 0 0 abcdefghijklmnopwrst
91 3304848 1221372 0 0 abcdefghijklmnopwrst
92 3304849 1221372 0 0 asdfghjklzxcvbnm
93 3304852 1221364 1221378 0 asdfghjklzxcvbnm
94 3304853 1221383 0 0 abcdefghijklmnopwrst
95 3304854 1221384 0 0 asdfghjklzxcvbnm
96 3304855 1221347 0 0 asdfghjklzxcvbnm
97 3304858 1221383 0 0 abcdefghijklmnopwrst
98 3304862 1221386 0 0 abcdefghijklmnopwrst
99 3304864 1221387 0 0 abcdefghijklmnopwrst
100 3304867 1221389 0 0 abcdefghijklmnopwrst
101 3304868 1221390 0 0 asdfghjklzxcvbnm
102 3304869 1221391 0 0 asdfghjklzxcvbnm
103 3304871 1221393 0 0 asdfghjklzxcvbnm
104 3304874 1221395 0 0 abcdefghijklmnopwrst
105 3304877 1221396 0 0 abcdefghijklmnopwrst
106 3304879 1221396 0 0 asdfghjklzxcvbnm
107 3304882 1221398 0 0 abcdefghijklmnopwrst
108 3304883 1221399 0 0 abcdefghijklmnopwrst
109 3304884 1221400 0 0 abcdefghijklmnopwrst
110 3304889 1221405 0 0 abcdefghijklmnopwrst
111 3304895 1221409 0 0 asdfghjklzxcvbnm
112 3304899 1221395 0 0 asdfghjklzxcvbnm
113 3304900 1221395 0 0 asdfghjklzxcvbnm
114 3304902 1221395 0 0 abcdefghijklmnopwrst
115 3304903 1221395 0 0 asdfghjklzxcvbnm
116 3304924 1221414 0 0 abcdefghijklmnopwrst
117 3304925 1221415 0 0 asdfghjklzxcvbnm
118 3304935 1221416 0 0 asdfghjklzxcvbnm
119 3304936 1221418 0 0 asdfghjklzxcvbnm
120 3304944 1221419 0 0 abcdefghijklmnopwrst
121 3304959 1221427 0 0 asdfghjklzxcvbnm
122 3304963 1221415 0 0 asdfghjklzxcvbnm
123 3304964 1221428 0 0 asdfghjklzxcvbnm
124 3304965 1221429 0 0 abcdefghijklmnopwrst
125 3304978 1221433 0 0 abcdefghijklmnopwrst
126 3304986 1221437 0 0 asdfghjklzxcvbnm
127 3304988 1221439 0 0 asdfghjklzxcvbnm
128 3304994 1221441 0 0 asdfghjklzxcvbnm
129 3304996 1221442 0 0 asdfghjklzxcvbnm
130 3304998 1221443 0 0 asdfghjklzxcvbnm
131 3305003 1221446 0 0 abcdefghijklmnopwrst
132 3305008 1221433 0 0 abcdefghijklmnopwrst
133 3305009 1221447 0 0 asdfghjklzxcvbnm
134 3305012 1221447 0 0 asdfghjklzxcvbnm
135 3305013 1221449 0 0 abcdefghijklmnopwrst
136 3305015 1221451 0 0 asdfghjklzxcvbnm
137 3305019 1221453 0 0 asdfghjklzxcvbnm
138 3305023 1221449 0 0 asdfghjklzxcvbnm
139 3305026 1221456 0 0 abcdefghijklmnopwrst
140 3305028 1221457 0 0 asdfghjklzxcvbnm
141 3305032 1221449 0 0 asdfghjklzxcvbnm
142 3305037 1221453 0 0 asdfghjklzxcvbnm
143 3305040 1221451 0 0 asdfghjklzxcvbnm
144 3305061 1221446 0 0 abcdefghijklmnopwrst
145 3305175 1221457 0 0 abcdefghijklmnopwrst
146 3305304 1221453 0 0 abcdefghijklmnopwrst
147 3305308 1221453 0 1 abcdefghijklmnopwrst
148 3305333 1221457 1221577 0 asdfghjklzxcvbnm
149 3305335 1221453 0 0 asdfghjklzxcvbnm
150 3305354 1221457 0 1 asdfghjklzxcvbnm
151 3306089 1221442 0 0 abcdefghijklmnopwrst
152 3306090 1221442 0 0 abcdefghijklmnopwrst
153 3306092 1221442 0 0 asdfghjklzxcvbnm
154 3306345 1221366 0 0 asdfghjklzxcvbnm
155 3306349 1221366 0 0 asdfghjklzxcvbnm
156 3306419 1221364 1221371 0 asdfghjklzxcvbnm
157 3307390 1221453 0 0 abcdefghijklmnopwrst
158 3308002 1221416 1221417 0 abcdefghijklmnopwrst
159 3308331 1221366 1222821 0 abcdefghijklmnopwrst
160 3309991 1221347 0 0 asdfghjklzxcvbnm
161 3311917 1221287 0 0 abcdefghijklmnopwrst
162 3311937 1221287 0 0 abcdefghijklmnopwrst
163 3311945 1221287 0 0 asdfghjklzxcvbnm
164 3311955 1221287 0 0 abcdefghijklmnopwrst
165 3311961 1221287 0 0 asdfghjklzxcvbnm
166 3311963 1221287 0 1 asdfghjklzxcvbnm
167 3311968 1221287 0 0 asdfghjklzxcvbnm
168 3311974 1221287 0 1 abcdefghijklmnopwrst
169 3311976 1221287 0 1 abcdefghijklmnopwrst
170 3311981 1221287 0 1 abcdefghijklmnopwrst
171 3311985 1221287 0 1 asdfghjklzxcvbnm
172 3312014 1221287 0 0 abcdefghijklmnopwrst
173 3312018 1221287 0 1 abcdefghijklmnopwrst
174 3312025 1221287 0 0 abcdefghijklmnopwrst
175 3312027 1221287 0 0 abcdefghijklmnopwrst
176 3312030 1221287 0 0 abcdefghijklmnopwrst
177 3313755 1221288 0 0 abcdefghijklmnopwrst
178 3313767 1221288 0 0 asdfghjklzxcvbnm
179 3314668 1221290 0 0 asdfghjklzxcvbnm
180 3314670 1221290 0 0 abcdefghijklmnopwrst
181 3323440 1221338 0 0 abcdefghijklmnopwrst
182 3323736 1221338 0 0 asdfghjklzxcvbnm
183 3323739 1221338 0 0 asdfghjklzxcvbnm
184 3324077 1221290 0 0 asdfghjklzxcvbnm
185 3324081 1221290 0 0 abcdefghijklmnopwrst
186 3324082 1221290 0 0 abcdefghijklmnopwrst
187 3324639 1221457 1221563 1 asdfghjklzxcvbnm
188 3326180 1221287 0 0 abcdefghijklmnopwrst
189 3326204 1221287 0 0 asdfghjklzxcvbnm
190 3326945 1221457 1221563 1 asdfghjklzxcvbnm
191 3328393 1221364 1221373 0 asdfghjklzxcvbnm
192 3328966 1221287 0 0 abcdefghijklmnopwrst
193 3329875 1221457 1382427 0 abcdefghijklmnopwrst
194 3333449 1221278 1231113 0 abcdefghijklmnopwrst
195 3336022 1221457 0 0 abcdefghijklmnopwrst
196 3340069 1221364 1221373 0 abcdefghijklmnopwrst
197 3340073 1221364 1221373 0 abcdefghijklmnopwrst
198 3340563 1221290 0 0 asdfghjklzxcvbnm
199 3341553 1221453 0 0 abcdefghijklmnopwrst
200 3345868 1221287 0 0 asdfghjklzxcvbnm
201 3345873 1221287 0 0 abcdefghijklmnopwrst
202 3345879 1221287 0 0 asdfghjklzxcvbnm
203 3346860 1221457 0 0 abcdefghijklmnopwrst
204 3347053 1221287 0 0 asdfghjklzxcvbnm
205 3347109 1221287 0 1 abcdefghijklmnopwrst
206 3350589 1221372 1236415 0 abcdefghijklmnopwrst
207 3350594 1221372 1236415 1 asdfghjklzxcvbnm
208 3353871 1221457 0 0 asdfghjklzxcvbnm
209 3354727 1221364 1221373 0 abcdefghijklmnopwrst
210 3355270 1221393 0 1 abcdefghijklmnopwrst
211 3357638 1221287 0 0 asdfghjklzxcvbnm
212 3357644 1221287 0 0 abcdefghijklmnopwrst
213 3357648 1221287 0 0 abcdefghijklmnopwrst
214 3357651 1221287 0 0 asdfghjklzxcvbnm
215 3357661 1221287 0 0 abcdefghijklmnopwrst
216 3357678 1221287 0 0 abcdefghijklmnopwrst
217 3357697 1221287 0 0 asdfghjklzxcvbnm
218 3357737 1221287 0 0 asdfghjklzxcvbnm
219 3357744 1221287 0 0 abcdefghijklmnopwrst
220 3357754 1221287 0 1 asdfghjklzxcvbnm
221 3357760 1221287 0 1 abcdefghijklmnopwrst
222 3357774 1221287 0 1 abcdefghijklmnopwrst
223 3357779 1221287 0 0 abcdefghijklmnopwrst
224 3357796 1221287 0 0 asdfghjklzxcvbnm
225 3357814 1221287 0 0 asdfghjklzxcvbnm
226 3357833 1221287 0 1 asdfghjklzxcvbnm
227 3357835 1221287 0 0 abcdefghijklmnopwrst
228 3357840 1221287 0 1 asdfghjklzxcvbnm
229 3357842 1221287 0 0 abcdefghijklmnopwrst
230 3357845 1221287 0 1 abcdefghijklmnopwrst
231 3357849 1221287 0 1 abcdefghijklmnopwrst
232 3357852 1221287 0 0 abcdefghijklmnopwrst
233 3358935 1221443 0 1 abcdefghijklmnopwrst
234 3358967 1221443 0 1 abcdefghijklmnopwrst
235 3359181 1221256 0 0 abcdefghijklmnopwrst
236 3360512 1221319 0 0 asdfghjklzxcvbnm
237 3362004 1221287 0 0 abcdefghijklmnopwrst
238 3362009 1221287 0 1 abcdefghijklmnopwrst
239 3362358 1221287 0 0 asdfghjklzxcvbnm
240 3363214 1221287 0 0 abcdefghijklmnopwrst
241 3363238 1221287 0 1 asdfghjklzxcvbnm
242 3363616 1221287 0 1 asdfghjklzxcvbnm
243 3363631 1221287 0 0 asdfghjklzxcvbnm
244 3364281 1221287 0 0 abcdefghijklmnopwrst
245 3365900 1221347 0 0 asdfghjklzxcvbnm
246 3365901 1221347 0 0 asdfghjklzxcvbnm
247 3365906 1221347 0 0 asdfghjklzxcvbnm
248 3365907 1221347 0 0 asdfghjklzxcvbnm
249 3365910 1221347 0 0 abcdefghijklmnopwrst
250 3365936 1221347 0 0 abcdefghijklmnopwrst
251 3367846 1221287 0 0 abcdefghijklmnopwrst
252 3368011 1221428 0 0 abcdefghijklmnopwrst
253 3369882 1221300 0 0 asdfghjklzxcvbnm
254 3370856 1221443 0 0 asdfghjklzxcvbnm
255 3370861 1221443 1221445 0 abcdefghijklmnopwrst
256 3375327 1221443 0 0 abcdefghijklmnopwrst
257 3375333 1221443 1221445 0 abcdefghijklmnopwrst
258 3376219 1221453 0 1 abcdefghijklmnopwrst
259 3376228 1221453 0 0 abcdefghijklmnopwrst
260 3376238 1221453 0 0 asdfghjklzxcvbnm
261 3376243 1221453 0 0 abcdefghijklmnopwrst
262 3376248 1221453 0 1 abcdefghijklmnopwrst
263 3376254 1221453 0 0 abcdefghijklmnopwrst
264 3376263 1221453 0 0 abcdefghijklmnopwrst
265 3376272 1221453 0 1 asdfghjklzxcvbnm
266 3376281 1221453 0 0 asdfghjklzxcvbnm
267 3376290 1221453 0 0 abcdefghijklmnopwrst
268 3376296 1221453 0 1 abcdefghijklmnopwrst
269 3376301 1221453 0 0 asdfghjklzxcvbnm
270 3376350 1221453 0 0 asdfghjklzxcvbnm
271 3379002 1221453 0 0 abcdefghijklmnopwrst
272 3379015 1221453 0 0 asdfghjklzxcvbnm
273 3379025 1221453 0 0 abcdefghijklmnopwrst
274 3379032 1221453 0 0 asdfghjklzxcvbnm
275 3380181 1221372 1245650 0 asdfghjklzxcvbnm
276 3380186 1221372 1245650 0 abcdefghijklmnopwrst
277 3380190 1221372 1245650 0 asdfghjklzxcvbnm
278 3380195 1221372 1245650 0 abcdefghijklmnopwrst
279 3380202 1221372 1245650 0 asdfghjklzxcvbnm
280 3380683 1221287 0 0 asdfghjklzxcvbnm
281 3382317 1221453 0 0 abcdefghijklmnopwrst
282 3382417 1221287 0 0 asdfghjklzxcvbnm
283 3383523 1221338 0 1 abcdefghijklmnopwrst
284 3387213 1221287 0 0 abcdefghijklmnopwrst
285 3388139 1221453 0 0 asdfghjklzxcvbnm
286 3398039 1221443 1251164 0 abcdefghijklmnopwrst
287 3401835 1221453 0 0 asdfghjklzxcvbnm
288 3412582 1221443 1255886 0 asdfghjklzxcvbnm
289 3412583 1221443 1255886 0 asdfghjklzxcvbnm
290 3413795 1221443 1255886 0 asdfghjklzxcvbnm
291 3413813 1221443 1256258 0 asdfghjklzxcvbnm
292 3420306 1221453 0 0 asdfghjklzxcvbnm
293 3420354 1221453 0 0 asdfghjklzxcvbnm
294 3425653 1221443 0 0 abcdefghijklmnopwrst
295 3425658 1221443 0 0 asdfghjklzxcvbnm
296 3431409 1221453 0 0 asdfghjklzxcvbnm
297 3432510 1221443 1262320 0 asdfghjklzxcvbnm
298 3432513 1221443 1262320 0 asdfghjklzxcvbnm
299 3444444 1221443 1262320 0 abcdefghijklmnopwrst
300 3445447 1221287 0 1 asdfghjklzxcvbnm
301 3448662 1221338 0 0 asdfghjklzxcvbnm
302 3450032 1221347 0 0 abcdefghijklmnopwrst
303 3450259 1221453 0 0 abcdefghijklmnopwrst
304 3452176 1221453 0 0 asdfghjklzxcvbnm
305 3459239 1221347 0 0 asdfghjklzxcvbnm
306 3463196 1221347 0 0 abcdefghijklmnopwrst
307 3468759 1221453 0 0 abcdefghijklmnopwrst
308 3470988 1221457 0 0 asdfghjklzxcvbnm
309 3477116 1221287 0 0 asdfghjklzxcvbnm
310 3477639 1221372 1277136 0 abcdefghijklmnopwrst
311 3477656 1221372 1277136 0 asdfghjklzxcvbnm
312 3488071 1221256 1238964 0 abcdefghijklmnopwrst
313 3488079 1221256 0 0 asdfghjklzxcvbnm
314 3488108 1221256 0 1 asdfghjklzxcvbnm
315 3507126 1221287 0 1 asdfghjklzxcvbnm
316 3511898 1221347 0 0 asdfghjklzxcvbnm
317 3521780 1221453 0 0 abcdefghijklmnopwrst
318 3536908 1221287 0 0 abcdefghijklmnopwrst
319 3544231 1221329 0 1 asdfghjklzxcvbnm
320 3545379 1221329 1298955 0 abcdefghijklmnopwrst
321 3545384 1221329 1298955 0 abcdefghijklmnopwrst
322 3545387 1221329 1298955 0 abcdefghijklmnopwrst
323 3545389 1221329 1298955 1 abcdefghijklmnopwrst
324 3545398 1221329 1298955 1 abcdefghijklmnopwrst
325 3555715 1221287 0 0 asdfghjklzxcvbnm
326 3563557 1221329 1298955 0 abcdefghijklmnopwrst
327 3564322 1221338 0 0 asdfghjklzxcvbnm
328 3565475 1221453 0 0 abcdefghijklmnopwrst
329 3577588 1221287 0 0 asdfghjklzxcvbnm
330 3600047 1221453 0 0 abcdefghijklmnopwrst
331 3600062 1221453 0 0 asdfghjklzxcvbnm
332 3600071 1221453 0 0 abcdefghijklmnopwrst
333 3600080 1221453 0 1 abcdefghijklmnopwrst
334 3600086 1221453 0 0 asdfghjklzxcvbnm
335 3600091 1221453 0 1 abcdefghijklmnopwrst
336 3600097 1221453 0 0 asdfghjklzxcvbnm
337 3600103 1221453 0 0 asdfghjklzxcvbnm
338 3600106 1221453 0 0 abcdefghijklmnopwrst
339 3600113 1221453 0 0 abcdefghijklmnopwrst
340 3600119 1221453 0 0 asdfghjklzxcvbnm
341 3600124 1221453 0 0 abcdefghijklmnopwrst
342 3600144 1221453 0 0 asdfghjklzxcvbnm
343 3600152 1221453 0 0 asdfghjklzxcvbnm
344 3600165 1221453 0 0 asdfghjklzxcvbnm
345 3610561 1221287 0 0 abcdefghijklmnopwrst
346 3617030 1221329 0 0 asdfghjklzxcvbnm
347 3628347 1221443 1327098 0 abcdefghijklmnopwrst
348 3628348 1221443 1327098 0 abcdefghijklmnopwrst
349 3628646 1221443 0 0 asdfghjklzxcvbnm
350 3633673 1221372 1328838 0 abcdefghijklmnopwrst
351 3648489 1221443 0 0 asdfghjklzxcvbnm
352 3648490 1221443 0 0 asdfghjklzxcvbnm
353 3648534 1221443 1333827 0 asdfghjklzxcvbnm
354 3653046 1221329 1298955 0 asdfghjklzxcvbnm
355 3662680 1221287 0 0 asdfghjklzxcvbnm
356 3699529 1221288 0 0 asdfghjklzxcvbnm
357 3706659 1221453 0 0 asdfghjklzxcvbnm
358 3723399 1221287 0 1 asdfghjklzxcvbnm
359 3749934 1221278 0 0 abcdefghijklmnopwrst
360 3761370 1221443 1371176 0 asdfghjklzxcvbnm
361 3765884 1221443 1333827 0 abcdefghijklmnopwrst
362 3772880 1221457 0 0 abcdefghijklmnopwrst
363 3779574 1221457 1372998 1 abcdefghijklmnopwrst
364 3784656 1221457 1372998 1 abcdefghijklmnopwrst
365 3784700 1221457 1372998 1 abcdefghijklmnopwrst
366 3784744 1221457 1382427 0 abcdefghijklmnopwrst
367 3796187 1221457 1382427 1 abcdefghijklmnopwrst
368 3796193 1221457 0 0 abcdefghijklmnopwrst
369 3817277 1221457 1382427 0 asdfghjklzxcvbnm
370 3828282 1221457 0 0 abcdefghijklmnopwrst
371 3828297 1221457 0 0 abcdefghijklmnopwrst
372 3828300 1221457 0 0 abcdefghijklmnopwrst
373 3833022 1221287 0 0 asdfghjklzxcvbnm
374 3856380 1221457 1395359 0 asdfghjklzxcvbnm
375 3856391 1221457 0 0 asdfghjklzxcvbnm
376 3861413 1221256 0 0 abcdefghijklmnopwrst
377 3864734 1221393 0 1 abcdefghijklmnopwrst
378 3868051 1221329 0 0 abcdefghijklmnopwrst
379 3868059 1221329 0 0 abcdefghijklmnopwrst
380 3869088 1221329 0 0 abcdefghijklmnopwrst
381 3878669 1221329 1298955 0 asdfghjklzxcvbnm
382 3878684 1221329 1298955 0 asdfghjklzxcvbnm
383 3881785 1221287 0 0 abcdefghijklmnopwrst
384 3882333 1221287 0 0 asdfghjklzxcvbnm
385 3882389 1221287 0 0 abcdefghijklmnopwrst
386 3908680 1221372 1245650 0 asdfghjklzxcvbnm
387 3908690 1221372 1245650 0 asdfghjklzxcvbnm
388 3908697 1221372 1245650 0 abcdefghijklmnopwrst
389 3911434 1221453 0 0 abcdefghijklmnopwrst
390 3911446 1221453 0 0 asdfghjklzxcvbnm
391 3911448 1221453 0 0 abcdefghijklmnopwrst
392 3911489 1221453 0 0 abcdefghijklmnopwrst
393 3917384 1221453 0 0 abcdefghijklmnopwrst
394 3939602 1221457 0 1 asdfghjklzxcvbnm
395 3962210 1221453 0 0 asdfghjklzxcvbnm
396 3963734 1221457 0 0 asdfghjklzxcvbnm
397 3977364 1221287 0 0 asdfghjklzxcvbnm
398 3981725 1221453 0 0 abcdefghijklmnopwrst
399 4042952 1221453 0 0 abcdefghijklmnopwrst
400 4042953 1221453 0 0 abcdefghijklmnopwrst
401 4042958 1221453 0 0 abcdefghijklmnopwrst
402 4042960 1221453 0 1 abcdefghijklmnopwrst
403 4042965 1221453 0 0 asdfghjklzxcvbnm
404 4066893 1221453 0 1 abcdefghijklmnopwrst
405 4066896 1221453 0 0 abcdefghijklmnopwrst
406 4066900 1221453 0 0 abcdefghijklmnopwrst
407 4066908 1221453 0 0 abcdefghijklmnopwrst
408 4066912 1221453 0 0 asdfghjklzxcvbnm
409 4066915 1221453 0 0 asdfghjklzxcvbnm
410 4066919 1221453 0 0 abcdefghijklmnopwrst
411 4066924 1221453 0 0 asdfghjklzxcvbnm
412 4066929 1221453 0 0 abcdefghijklmnopwrst
413 4066934 1221453 0 0 asdfghjklzxcvbnm
414 4066941 1221453 0 0 abcdefghijklmnopwrst
415 4066946 1221453 0 0 asdfghjklzxcvbnm
416 4066955 1221453 0 0 abcdefghijklmnopwrst
417 4116291 1221433 1487238 0 asdfghjklzxcvbnm
418 4116295 1221433 1487238 0 abcdefghijklmnopwrst
419 4116450 1221433 1487238 0 abcdefghijklmnopwrst
420 4121149 1221287 0 0 asdfghjklzxcvbnm
421 4137325 1221453 0 0 abcdefghijklmnopwrst
422 4149051 1221287 0 0 abcdefghijklmnopwrst
423 4162347 1221287 0 0 abcdefghijklmnopwrst
424 4164485 1221457 0 1 asdfghjklzxcvbnm
425 4174706 1221457 0 0 abcdefghijklmnopwrst
426 4178645 1221457 0 0 abcdefghijklmnopwrst
427 4180122 1221457 1382427 0 asdfghjklzxcvbnm
428 4180925 1221457 1382427 0 asdfghjklzxcvbnm
429 4186417 1221457 0 0 abcdefghijklmnopwrst
430 4189624 1221457 0 1 asdfghjklzxcvbnm
431 4203132 1221453 0 0 asdfghjklzxcvbnm
432 4228206 1221457 0 0 abcdefghijklmnopwrst
433 4278829 1221453 0 0 abcdefghijklmnopwrst
434 4326422 1221453 0 0 abcdefghijklmnopwrst
435 4337061 1221287 0 0 abcdefghijklmnopwrst
436 4379354 1221287 0 0 abcdefghijklmnopwrst
437 4404901 1221457 0 0 abcdefghijklmnopwrst
438 4494153 1221457 0 0 abcdefghijklmnopwrst
439 4535721 1221287 0 0 asdfghjklzxcvbnm
440 4559596 1221457 0 0 abcdefghijklmnopwrst
441 4617751 1221393 0 0 abcdefghijklmnopwrst

View File

@ -91,3 +91,14 @@ iONkSBcBAAAAKwAAAMQBAAAQABAAAAAAAAEAA//4AQAAAAMAMTIzAQAAAA==
'; ';
ERROR HY000: master may suffer from http://bugs.mysql.com/bug.php?id=37426 so slave stops; check error log on slave for more info ERROR HY000: master may suffer from http://bugs.mysql.com/bug.php?id=37426 so slave stops; check error log on slave for more info
drop table t1, char63_utf8, char128_utf8; drop table t1, char63_utf8, char128_utf8;
#
# Bug #54393: crash and/or valgrind errors in
# mysql_client_binlog_statement
#
BINLOG '';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
BINLOG '123';
BINLOG '-2079193929';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use
BINLOG 'xç↓%~∙D╒ƒ╡';
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use

View File

View File

@ -150,3 +150,16 @@ iONkSBcBAAAAKwAAAMQBAAAQABAAAAAAAAEAA//4AQAAAAMAMTIzAQAAAA==
'; ';
drop table t1, char63_utf8, char128_utf8; drop table t1, char63_utf8, char128_utf8;
--echo #
--echo # Bug #54393: crash and/or valgrind errors in
--echo # mysql_client_binlog_statement
--echo #
--error ER_SYNTAX_ERROR
BINLOG '';
BINLOG '123';
--error ER_SYNTAX_ERROR
BINLOG '-2079193929';
--error ER_SYNTAX_ERROR
BINLOG 'xç↓%~∙D╒ƒ╡';

View File

@ -328,7 +328,7 @@ ERROR 42000: Access denied for user 'root'@'localhost' to database 'information_
SELECT table_schema,table_name FROM information_schema.tables SELECT table_schema,table_name FROM information_schema.tables
WHERE table_schema = 'information_schema' AND table_name = 'tables'; WHERE table_schema = 'information_schema' AND table_name = 'tables';
table_schema table_name table_schema table_name
information_schema tables information_schema TABLES
SELECT * FROM information_schema.table_privileges SELECT * FROM information_schema.table_privileges
WHERE table_schema = 'information_schema'; WHERE table_schema = 'information_schema';
GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE GRANTEE TABLE_CATALOG TABLE_SCHEMA TABLE_NAME PRIVILEGE_TYPE IS_GRANTABLE

View File

@ -450,9 +450,9 @@ def test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerof
def test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references def test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
def test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references def test tb1 f3 3 NULL YES char 0 0 NULL NULL latin1 latin1_swedish_ci char(0) select,insert,update,references
def test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def test tb1 f30 30 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb1 f31 31 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb1 f32 32 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references def test tb1 f33 33 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
def test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references def test tb1 f34 34 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
def test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references def test tb1 f35 35 NULL YES decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
@ -565,9 +565,9 @@ def test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned se
def test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references def test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
def test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def test tb3 f147 30 999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references def test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
def test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references def test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
def test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references def test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references

View File

@ -15,8 +15,8 @@ def information_schema COLLATIONS IS_DEFAULT 4 NO varchar 3 9 NULL NULL utf8 ut
def information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select def information_schema COLLATIONS SORTLEN 6 0 NO bigint NULL NULL 19 0 NULL NULL bigint(3) select
def information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select def information_schema COLLATION_CHARACTER_SET_APPLICABILITY CHARACTER_SET_NAME 2 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select def information_schema COLLATION_CHARACTER_SET_APPLICABILITY COLLATION_NAME 1 NO varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema COLUMNS CHARACTER_MAXIMUM_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema COLUMNS CHARACTER_OCTET_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select def information_schema COLUMNS CHARACTER_SET_NAME 13 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select def information_schema COLUMNS COLLATION_NAME 14 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) select def information_schema COLUMNS COLUMN_COMMENT 19 NO varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) select
@ -27,9 +27,9 @@ def information_schema COLUMNS COLUMN_TYPE 15 NULL NO longtext 4294967295 429496
def information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema COLUMNS DATA_TYPE 8 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema COLUMNS EXTRA 17 NO varchar 27 81 NULL NULL utf8 utf8_general_ci varchar(27) select def information_schema COLUMNS EXTRA 17 NO varchar 27 81 NULL NULL utf8 utf8_general_ci varchar(27) select
def information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select def information_schema COLUMNS IS_NULLABLE 7 NO varchar 3 9 NULL NULL utf8 utf8_general_ci varchar(3) select
def information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema COLUMNS NUMERIC_PRECISION 11 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema COLUMNS NUMERIC_SCALE 12 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema COLUMNS ORDINAL_POSITION 5 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select def information_schema COLUMNS PRIVILEGES 18 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
def information_schema COLUMNS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select def information_schema COLUMNS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema COLUMNS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
@ -71,14 +71,14 @@ def information_schema EVENTS SQL_MODE 12 NO varchar 8192 24576 NULL NULL utf8
def information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema EVENTS STARTS 13 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select def information_schema EVENTS STATUS 15 NO varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
def information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema EVENTS TIME_ZONE 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES AUTOEXTEND_SIZE 19 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES AVG_ROW_LENGTH 28 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES CHECKSUM 36 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema FILES CHECK_TIME 35 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema FILES CREATE_TIME 33 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema FILES CREATION_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES DATA_FREE 32 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES DATA_LENGTH 29 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select def information_schema FILES DELETED_ROWS 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
def information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema FILES ENGINE 10 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select def information_schema FILES EXTENT_SIZE 16 0 NO bigint NULL NULL 19 0 NULL NULL bigint(4) select
@ -88,27 +88,27 @@ def information_schema FILES FILE_NAME 2 NULL YES varchar 64 192 NULL NULL utf8
def information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select def information_schema FILES FILE_TYPE 3 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
def information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select def information_schema FILES FREE_EXTENTS 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
def information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema FILES FULLTEXT_KEYS 11 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES INDEX_LENGTH 31 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES INITIAL_SIZE 17 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema FILES LAST_ACCESS_TIME 22 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema FILES LAST_UPDATE_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema FILES LOGFILE_GROUP_NAME 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select def information_schema FILES LOGFILE_GROUP_NUMBER 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
def information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES MAXIMUM_SIZE 18 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES MAX_DATA_LENGTH 30 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select def information_schema FILES RECOVER_TIME 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
def information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select def information_schema FILES ROW_FORMAT 26 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
def information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select def information_schema FILES STATUS 37 NO varchar 20 60 NULL NULL utf8 utf8_general_ci varchar(20) select
def information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema FILES TABLESPACE_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema FILES TABLE_CATALOG 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema FILES TABLE_CATALOG 5 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema FILES TABLE_NAME 7 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES TABLE_ROWS 27 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema FILES TABLE_SCHEMA 6 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select def information_schema FILES TOTAL_EXTENTS 15 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
def information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select def information_schema FILES TRANSACTION_COUNTER 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
def information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select def information_schema FILES UPDATE_COUNT 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(4) select
def information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema FILES UPDATE_TIME 34 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema FILES VERSION 25 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema FILES VERSION 25 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema GLOBAL_STATUS VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) select def information_schema GLOBAL_STATUS VARIABLE_VALUE 2 NULL YES varchar 1024 3072 NULL NULL utf8 utf8_general_ci varchar(1024) select
def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema GLOBAL_VARIABLES VARIABLE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
@ -140,29 +140,29 @@ def information_schema PARAMETERS ROUTINE_TYPE 15 NO varchar 9 27 NULL NULL utf
def information_schema PARAMETERS SPECIFIC_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select def information_schema PARAMETERS SPECIFIC_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema PARAMETERS SPECIFIC_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema PARAMETERS SPECIFIC_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PARAMETERS SPECIFIC_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema PARAMETERS SPECIFIC_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS AVG_ROW_LENGTH 14 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS CHECKSUM 22 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema PARTITIONS CHECK_TIME 21 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema PARTITIONS CREATE_TIME 19 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS DATA_FREE 18 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS DATA_LENGTH 15 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS INDEX_LENGTH 17 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS MAX_DATA_LENGTH 16 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select def information_schema PARTITIONS NODEGROUP 24 NO varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
def information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select def information_schema PARTITIONS PARTITION_COMMENT 23 NO varchar 80 240 NULL NULL utf8 utf8_general_ci varchar(80) select
def information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select def information_schema PARTITIONS PARTITION_DESCRIPTION 12 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
def information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select def information_schema PARTITIONS PARTITION_EXPRESSION 10 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
def information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select def information_schema PARTITIONS PARTITION_METHOD 8 NULL YES varchar 18 54 NULL NULL utf8 utf8_general_ci varchar(18) select
def information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema PARTITIONS PARTITION_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS PARTITION_ORDINAL_POSITION 6 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select def information_schema PARTITIONS SUBPARTITION_EXPRESSION 11 NULL YES longtext 4294967295 4294967295 NULL NULL utf8 utf8_general_ci longtext select
def information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select def information_schema PARTITIONS SUBPARTITION_METHOD 9 NULL YES varchar 12 36 NULL NULL utf8 utf8_general_ci varchar(12) select
def information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema PARTITIONS SUBPARTITION_NAME 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS SUBPARTITION_ORDINAL_POSITION 7 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema PARTITIONS TABLESPACE_NAME 25 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PARTITIONS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select def information_schema PARTITIONS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema PARTITIONS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema PARTITIONS TABLE_ROWS 13 0 NO bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema PARTITIONS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema PARTITIONS UPDATE_TIME 20 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema PLUGINS PLUGIN_AUTHOR 8 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
@ -254,33 +254,33 @@ def information_schema STATISTICS SUB_PART 11 NULL YES bigint NULL NULL 19 0 NUL
def information_schema STATISTICS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select def information_schema STATISTICS TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema STATISTICS TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema STATISTICS TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES AUTO_INCREMENT 14 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES AVG_ROW_LENGTH 9 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES CHECKSUM 19 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema TABLES CHECK_TIME 17 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select def information_schema TABLES CREATE_OPTIONS 20 NULL YES varchar 255 765 NULL NULL utf8 utf8_general_ci varchar(255) select
def information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema TABLES CREATE_TIME 15 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES DATA_FREE 13 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES DATA_LENGTH 10 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema TABLES ENGINE 5 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES INDEX_LENGTH 12 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES MAX_DATA_LENGTH 11 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select def information_schema TABLES ROW_FORMAT 7 NULL YES varchar 10 30 NULL NULL utf8 utf8_general_ci varchar(10) select
def information_schema TABLES TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select def information_schema TABLES TABLE_CATALOG 1 NO varchar 512 1536 NULL NULL utf8 utf8_general_ci varchar(512) select
def information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select def information_schema TABLES TABLE_COLLATION 18 NULL YES varchar 32 96 NULL NULL utf8 utf8_general_ci varchar(32) select
def information_schema TABLES TABLE_COMMENT 21 NO varchar 2048 6144 NULL NULL utf8 utf8_general_ci varchar(2048) select def information_schema TABLES TABLE_COMMENT 21 NO varchar 2048 6144 NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema TABLES TABLE_NAME 3 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES TABLE_ROWS 8 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema TABLES TABLE_SCHEMA 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema TABLES TABLE_TYPE 4 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select def information_schema TABLES UPDATE_TIME 16 NULL YES datetime NULL NULL NULL NULL NULL NULL datetime select
def information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLES VERSION 6 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLESPACES AUTOEXTEND_SIZE 6 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLESPACES AUTOEXTEND_SIZE 6 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLESPACES ENGINE 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema TABLESPACES ENGINE 2 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLESPACES EXTENT_SIZE 5 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLESPACES EXTENT_SIZE 5 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLESPACES LOGFILE_GROUP_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema TABLESPACES LOGFILE_GROUP_NAME 4 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLESPACES MAXIMUM_SIZE 7 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLESPACES MAXIMUM_SIZE 7 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLESPACES NODEGROUP_ID 8 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(21) unsigned select def information_schema TABLESPACES NODEGROUP_ID 8 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(21) unsigned select
def information_schema TABLESPACES TABLESPACE_COMMENT 9 NULL YES varchar 2048 6144 NULL NULL utf8 utf8_general_ci varchar(2048) select def information_schema TABLESPACES TABLESPACE_COMMENT 9 NULL YES varchar 2048 6144 NULL NULL utf8 utf8_general_ci varchar(2048) select
def information_schema TABLESPACES TABLESPACE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema TABLESPACES TABLESPACE_NAME 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select
def information_schema TABLESPACES TABLESPACE_TYPE 3 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select def information_schema TABLESPACES TABLESPACE_TYPE 3 NULL YES varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) select

View File

@ -437,9 +437,9 @@ def test tb1 f27 19 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerof
def test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb1 f28 20 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references def test tb1 f29 21 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
def test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references def test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
def test tb1 f30 22 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def test tb1 f30 22 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def test tb1 f31 23 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb1 f31 23 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb1 f32 24 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb1 f32 24 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references def test tb1 f33 25 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
def test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references def test tb1 f34 26 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
def test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references def test tb1 f35 27 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
@ -540,9 +540,9 @@ def test tb3 f143 20 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned se
def test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb3 f144 21 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb3 f145 22 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references def test tb3 f146 23 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
def test tb3 f147 24 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def test tb3 f147 24 999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb3 f148 25 00000000000000999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb3 f149 26 00000000000000999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references def test tb3 f150 27 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
def test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references def test tb3 f151 28 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
def test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references def test tb3 f152 29 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references

View File

@ -479,9 +479,9 @@ def test tb1 f27 27 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerof
def test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb1 f28 28 NULL YES int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references def test tb1 f29 29 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
def test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references def test tb1 f3 3 NULL YES char 1 1 NULL NULL latin1 latin1_swedish_ci char(1) select,insert,update,references
def test tb1 f30 30 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def test tb1 f30 30 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def test tb1 f31 31 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb1 f31 31 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb1 f32 32 NULL YES bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb1 f32 32 NULL YES bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references def test tb1 f33 33 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
def test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references def test tb1 f34 34 10 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
def test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references def test tb1 f35 35 0000000010 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references
@ -602,9 +602,9 @@ def test tb3 f143 26 99999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned se
def test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb3 f144 27 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references def test tb3 f145 28 0000099999 NO int NULL NULL 10 0 NULL NULL int(10) unsigned zerofill select,insert,update,references
def test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references def test tb3 f146 29 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) select,insert,update,references
def test tb3 f147 30 999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def test tb3 f147 30 999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb3 f148 31 00000000000000999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references def test tb3 f149 32 00000000000000999999 NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned zerofill select,insert,update,references
def test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references def test tb3 f150 33 1000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) select,insert,update,references
def test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references def test tb3 f151 34 999 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned select,insert,update,references
def test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references def test tb3 f152 35 0000001000 NO decimal NULL NULL 10 0 NULL NULL decimal(10,0) unsigned zerofill select,insert,update,references

View File

@ -97,13 +97,13 @@ def mysql host Select_priv 3 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('
def mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references def mysql host Show_view_priv 16 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references def mysql host Trigger_priv 20 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references def mysql host Update_priv 5 N NO enum 1 3 NULL NULL utf8 utf8_general_ci enum('N','Y') select,insert,update,references
def mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def mysql ndb_binlog_index deletes 6 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references def mysql ndb_binlog_index epoch 3 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned PRI select,insert,update,references
def mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references def mysql ndb_binlog_index File 2 NULL NO varchar 255 255 NULL NULL latin1 latin1_swedish_ci varchar(255) select,insert,update,references
def mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def mysql ndb_binlog_index inserts 4 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def mysql ndb_binlog_index Position 1 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def mysql ndb_binlog_index schemaops 7 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 19 0 NULL NULL bigint(20) unsigned select,insert,update,references def mysql ndb_binlog_index updates 5 NULL NO bigint NULL NULL 20 0 NULL NULL bigint(20) unsigned select,insert,update,references
def mysql plugin dl 2 NO varchar 128 384 NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references def mysql plugin dl 2 NO varchar 128 384 NULL NULL utf8 utf8_general_ci varchar(128) select,insert,update,references
def mysql plugin name 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) PRI select,insert,update,references def mysql plugin name 1 NO varchar 64 192 NULL NULL utf8 utf8_general_ci varchar(64) PRI select,insert,update,references
def mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references def mysql proc body 11 NULL NO longblob 4294967295 4294967295 NULL NULL NULL NULL longblob select,insert,update,references

0
mysql-test/suite/ibmdb2i/include/have_i54.inc Executable file → Normal file
View File

0
mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44232.result Executable file → Normal file
View File

0
mysql-test/suite/ibmdb2i/r/ibmdb2i_bug_44610.result Executable file → Normal file
View File

0
mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44232.test Executable file → Normal file
View File

0
mysql-test/suite/ibmdb2i/t/ibmdb2i_bug_44610.test Executable file → Normal file
View File

View File

@ -2468,6 +2468,76 @@ ENGINE=InnoDB;
INSERT INTO t1 VALUES (0, 77, 1, 3); INSERT INTO t1 VALUES (0, 77, 1, 3);
UPDATE t1 SET d = 0 WHERE b = 77 AND c = 25; UPDATE t1 SET d = 0 WHERE b = 77 AND c = 25;
DROP TABLE t1; DROP TABLE t1;
#
# Bug#50389 Using intersect does not return all rows
#
CREATE TABLE t1 (
f1 INT(10) NOT NULL,
f2 INT(10),
f3 INT(10),
f4 TINYINT(4),
f5 VARCHAR(50),
PRIMARY KEY (f1),
KEY idx1 (f2,f5,f4),
KEY idx2 (f2,f4)
) ENGINE=InnoDB;
LOAD DATA INFILE '../../std_data/intersect-bug50389.tsv' INTO TABLE t1;
SELECT * FROM t1 WHERE f1 IN
(3305028,3353871,3772880,3346860,4228206,3336022,
3470988,3305175,3329875,3817277,3856380,3796193,
3784744,4180925,4559596,3963734,3856391,4494153)
AND f5 = 'abcdefghijklmnopwrst' AND f2 = 1221457 AND f4 = 0 ;
f1 f2 f3 f4 f5
3305175 1221457 0 0 abcdefghijklmnopwrst
3329875 1221457 1382427 0 abcdefghijklmnopwrst
3336022 1221457 0 0 abcdefghijklmnopwrst
3346860 1221457 0 0 abcdefghijklmnopwrst
3772880 1221457 0 0 abcdefghijklmnopwrst
3784744 1221457 1382427 0 abcdefghijklmnopwrst
3796193 1221457 0 0 abcdefghijklmnopwrst
4228206 1221457 0 0 abcdefghijklmnopwrst
4494153 1221457 0 0 abcdefghijklmnopwrst
4559596 1221457 0 0 abcdefghijklmnopwrst
EXPLAIN SELECT * FROM t1 WHERE f1 IN
(3305028,3353871,3772880,3346860,4228206,3336022,
3470988,3305175,3329875,3817277,3856380,3796193,
3784744,4180925,4559596,3963734,3856391,4494153)
AND f5 = 'abcdefghijklmnopwrst' AND f2 = 1221457 AND f4 = 0 ;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 index_merge PRIMARY,idx1,idx2 idx2,idx1,PRIMARY 7,60,4 NULL 1 Using intersect(idx2,idx1,PRIMARY); Using where
DROP TABLE t1;
#
# Bug#51431 Wrong sort order after import of dump file
#
CREATE TABLE t1 (
f1 INT(11) NOT NULL,
f2 int(11) NOT NULL,
f3 int(11) NOT NULL,
f4 tinyint(1) NOT NULL,
PRIMARY KEY (f1),
UNIQUE KEY (f2, f3),
KEY (f4)
) ENGINE=InnoDB;
INSERT INTO t1 VALUES
(1,1,991,1), (2,1,992,1), (3,1,993,1), (4,1,994,1), (5,1,995,1),
(6,1,996,1), (7,1,997,1), (8,1,998,1), (10,1,999,1), (11,1,9910,1),
(16,1,9911,1), (17,1,9912,1), (18,1,9913,1), (19,1,9914,1), (20,1,9915,1),
(21,1,9916,1), (22,1,9917,1), (23,1,9918,1), (24,1,9919,1), (25,1,9920,1),
(26,1,9921,1), (27,1,9922,1);
FLUSH TABLES;
SELECT * FROM t1 WHERE f2 = 1 AND f4 = TRUE
ORDER BY f1 DESC LIMIT 5;
f1 f2 f3 f4
27 1 9922 1
26 1 9921 1
25 1 9920 1
24 1 9919 1
23 1 9918 1
EXPLAIN SELECT * FROM t1 WHERE f2 = 1 AND f4 = TRUE
ORDER BY f1 DESC LIMIT 5;
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t1 range f2,f4 f4 1 NULL 11 Using where
DROP TABLE t1;
End of 5.1 tests End of 5.1 tests
# #
# Test for bug #39932 "create table fails if column for FK is in different # Test for bug #39932 "create table fails if column for FK is in different

View File

@ -676,6 +676,67 @@ UPDATE t1 SET d = 0 WHERE b = 77 AND c = 25;
DROP TABLE t1; DROP TABLE t1;
--echo #
--echo # Bug#50389 Using intersect does not return all rows
--echo #
CREATE TABLE t1 (
f1 INT(10) NOT NULL,
f2 INT(10),
f3 INT(10),
f4 TINYINT(4),
f5 VARCHAR(50),
PRIMARY KEY (f1),
KEY idx1 (f2,f5,f4),
KEY idx2 (f2,f4)
) ENGINE=InnoDB;
LOAD DATA INFILE '../../std_data/intersect-bug50389.tsv' INTO TABLE t1;
SELECT * FROM t1 WHERE f1 IN
(3305028,3353871,3772880,3346860,4228206,3336022,
3470988,3305175,3329875,3817277,3856380,3796193,
3784744,4180925,4559596,3963734,3856391,4494153)
AND f5 = 'abcdefghijklmnopwrst' AND f2 = 1221457 AND f4 = 0 ;
EXPLAIN SELECT * FROM t1 WHERE f1 IN
(3305028,3353871,3772880,3346860,4228206,3336022,
3470988,3305175,3329875,3817277,3856380,3796193,
3784744,4180925,4559596,3963734,3856391,4494153)
AND f5 = 'abcdefghijklmnopwrst' AND f2 = 1221457 AND f4 = 0 ;
DROP TABLE t1;
--echo #
--echo # Bug#51431 Wrong sort order after import of dump file
--echo #
CREATE TABLE t1 (
f1 INT(11) NOT NULL,
f2 int(11) NOT NULL,
f3 int(11) NOT NULL,
f4 tinyint(1) NOT NULL,
PRIMARY KEY (f1),
UNIQUE KEY (f2, f3),
KEY (f4)
) ENGINE=InnoDB;
INSERT INTO t1 VALUES
(1,1,991,1), (2,1,992,1), (3,1,993,1), (4,1,994,1), (5,1,995,1),
(6,1,996,1), (7,1,997,1), (8,1,998,1), (10,1,999,1), (11,1,9910,1),
(16,1,9911,1), (17,1,9912,1), (18,1,9913,1), (19,1,9914,1), (20,1,9915,1),
(21,1,9916,1), (22,1,9917,1), (23,1,9918,1), (24,1,9919,1), (25,1,9920,1),
(26,1,9921,1), (27,1,9922,1);
FLUSH TABLES;
SELECT * FROM t1 WHERE f2 = 1 AND f4 = TRUE
ORDER BY f1 DESC LIMIT 5;
EXPLAIN SELECT * FROM t1 WHERE f2 = 1 AND f4 = TRUE
ORDER BY f1 DESC LIMIT 5;
DROP TABLE t1;
--echo End of 5.1 tests --echo End of 5.1 tests

View File

@ -26,7 +26,7 @@ ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists
ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists
ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists
ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists
ERROR 1644 (HY000) at line 1140: Unexpected content found in the performance_schema database. ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed FATAL ERROR: Upgrade failed
show tables like "user_table"; show tables like "user_table";
Tables_in_performance_schema (user_table) Tables_in_performance_schema (user_table)
@ -57,7 +57,7 @@ ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists
ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists
ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists
ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists
ERROR 1644 (HY000) at line 1140: Unexpected content found in the performance_schema database. ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed FATAL ERROR: Upgrade failed
show tables like "user_view"; show tables like "user_view";
Tables_in_performance_schema (user_view) Tables_in_performance_schema (user_view)
@ -86,7 +86,7 @@ ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists
ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists
ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists
ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists
ERROR 1644 (HY000) at line 1140: Unexpected content found in the performance_schema database. ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed FATAL ERROR: Upgrade failed
select name from mysql.proc where db='performance_schema'; select name from mysql.proc where db='performance_schema';
name name
@ -115,7 +115,7 @@ ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists
ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists
ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists
ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists
ERROR 1644 (HY000) at line 1140: Unexpected content found in the performance_schema database. ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed FATAL ERROR: Upgrade failed
select name from mysql.proc where db='performance_schema'; select name from mysql.proc where db='performance_schema';
name name
@ -144,7 +144,7 @@ ERROR 1050 (42S01) at line 445: Table 'SETUP_CONSUMERS' already exists
ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists ERROR 1050 (42S01) at line 462: Table 'SETUP_INSTRUMENTS' already exists
ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists ERROR 1050 (42S01) at line 482: Table 'SETUP_OBJECTS' already exists
ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists ERROR 1050 (42S01) at line 498: Table 'SETUP_TIMERS' already exists
ERROR 1644 (HY000) at line 1140: Unexpected content found in the performance_schema database. ERROR 1644 (HY000) at line 1138: Unexpected content found in the performance_schema database.
FATAL ERROR: Upgrade failed FATAL ERROR: Upgrade failed
select name from mysql.event where db='performance_schema'; select name from mysql.event where db='performance_schema';
name name

View File

@ -0,0 +1,205 @@
stop slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
reset master;
reset slave;
drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9;
start slave;
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
# On slave2
# Connect slave2 to slave
CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=SLAVE_MYPORT;,
MASTER_LOG_FILE='slave-bin.000001', MASTER_USER='root';
START SLAVE;
# [On master]
DROP VIEW IF EXISTS v_user;
DROP VIEW IF EXISTS v_tables_priv;
DROP VIEW IF EXISTS v_procs_priv;
DROP PROCEDURE IF EXISTS p1;
DROP PROCEDURE IF EXISTS my_grant;
DROP PROCEDURE IF EXISTS my_revoke;
DROP FUNCTION IF EXISTS my_user;
DROP EVENT IF EXISTS e1;
CREATE TABLE t1(c1 char(100));
CREATE VIEW test.v_user AS SELECT * FROM mysql.user WHERE User LIKE 'bug48321%';
CREATE VIEW test.v_tables_priv AS SELECT * FROM mysql.tables_priv WHERE User LIKE 'bug48321%';
CREATE VIEW test.v_procs_priv AS SELECT * FROM mysql.procs_priv WHERE User LIKE 'bug48321%';
CREATE VIEW test.v_event AS SELECT definer FROM mysql.event WHERE name = 'e1';
CREATE PROCEDURE p1() SELECT 1;
# bug48321_1-01234 has the max length(16) of user.
GRANT ALL PRIVILEGES ON *.* TO 'bug48321_1-01234'@'localhost' WITH GRANT OPTION;
# Make sure the max lengths of user and host
# the user name is too lengh
GRANT CREATE USER ON *.* TO '01234567890123456'@'fakehost';
ERROR HY000: String '01234567890123456' is too long for user name (should be no longer than 16)
# the host name is too lengh
GRANT CREATE USER ON *.* TO 'fakename'@'0123456789012345678901234567890123456789012345678901234567890';
ERROR HY000: String '0123456789012345678901234567890123456789012345678901234567890' is too long for host name (should be no longer than 60)
# User 'bug48321_1-01234' connects to master by conn1
# [On conn1]
# Verify 'REVOKE ALL' statement
REVOKE ALL PRIVILEGES, GRANT OPTION FROM CURRENT_USER();
Comparing tables master:test.v_user and slave:test.v_user
Comparing tables master:test.v_user and slave2:test.v_user
# Verify 'GRANT ... ON TABLE ...' statement
GRANT CREATE, INSERT, SELECT ON TABLE test.t1 TO CURRENT_USER();
Comparing tables master:test.v_tables_priv and slave:test.v_tables_priv
Comparing tables master:test.v_tables_priv and slave2:test.v_tables_priv
# Verify 'GRANT ... ON PROCEDURE...' statement
GRANT ALTER ROUTINE, EXECUTE ON PROCEDURE p1 TO CURRENT_USER();
Comparing tables master:test.v_procs_priv and slave:test.v_procs_priv
Comparing tables master:test.v_procs_priv and slave2:test.v_procs_priv
# Verify 'GRANT ... ON *.* ...' statement
GRANT ALL PRIVILEGES ON *.* TO CURRENT_USER() WITH GRANT OPTION;
Comparing tables master:test.v_procs_priv and slave:test.v_procs_priv
Comparing tables master:test.v_procs_priv and slave2:test.v_procs_priv
# Verify 'REVOKE ... ON TABLE ...' statement
REVOKE CREATE, INSERT, SELECT ON TABLE t1 FROM CURRENT_USER();
Comparing tables master:test.v_tables_priv and slave:test.v_tables_priv
Comparing tables master:test.v_tables_priv and slave2:test.v_tables_priv
# Verify 'REVOKE ... ON PROCEDURE...' statement
REVOKE ALTER ROUTINE, EXECUTE ON PROCEDURE p1 FROM CURRENT_USER();
Comparing tables master:test.v_procs_priv and slave:test.v_procs_priv
Comparing tables master:test.v_procs_priv and slave2:test.v_procs_priv
# Verify 'REVOKE ... ON *.* ...' statement
REVOKE ALL PRIVILEGES ON *.* FROM CURRENT_USER();
Comparing tables master:test.v_user and slave:test.v_user
Comparing tables master:test.v_user and slave2:test.v_user
# Verify 'GRANT ...' statement in the procedure
CREATE PROCEDURE my_grant()
GRANT CREATE, INSERT, SELECT ON TABLE test.t1 TO CURRENT_USER();
call my_grant;
Comparing tables master:test.v_tables_priv and slave:test.v_tables_priv
Comparing tables master:test.v_tables_priv and slave2:test.v_tables_priv
# Verify 'REVOKE ... ON TABLE ...' statement in the procedure
CREATE PROCEDURE my_revoke()
REVOKE CREATE, INSERT, SELECT ON TABLE t1 FROM CURRENT_USER();
call my_revoke;
Comparing tables master:test.v_tables_priv and slave:test.v_tables_priv
Comparing tables master:test.v_tables_priv and slave2:test.v_tables_priv
# Verify 'RENAME USER ...' statement
RENAME USER CURRENT_USER TO 'bug48321_2'@'localhost';
Comparing tables master:test.v_user and slave:test.v_user
Comparing tables master:test.v_user and slave2:test.v_user
# Verify 'DROP USER ...' statement
GRANT CREATE USER ON *.* TO 'bug48321_2'@'localhost';
DROP USER CURRENT_USER();
Comparing tables master:test.v_user and slave:test.v_user
Comparing tables master:test.v_user and slave2:test.v_user
# Verify 'ALTER EVENT...' statement
CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT * FROM t1;
# Explicitly assign CURRENT_USER() to definer
ALTER DEFINER=CURRENT_USER() EVENT e1 ENABLE;
Comparing tables master:test.v_event and slave:test.v_event
Comparing tables master:test.v_event and slave2:test.v_event
# Session user will be set as definer, if the statement does not assign
# a definer
ALTER EVENT e1 ENABLE;
Comparing tables master:test.v_event and slave:test.v_event
Comparing tables master:test.v_event and slave2:test.v_event
# Verify that this patch does not affect the calling of CURRENT_USER()
# in the other statements
# [On master]
INSERT INTO t1 VALUES(CURRENT_USER()), ('1234');
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
SELECT * FROM t1;
c1
root@localhost
1234
# [On slave]
SELECT * FROM t1;
c1
@
1234
# [On slave2]
SELECT * FROM t1;
c1
@
1234
# [On master]
UPDATE t1 SET c1=CURRENT_USER() WHERE c1='1234';
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
SELECT * FROM t1;
c1
root@localhost
root@localhost
# [On slave]
SELECT * FROM t1;
c1
@
@
# [On slave2]
SELECT * FROM t1;
c1
@
@
# [On master]
DELETE FROM t1 WHERE c1=CURRENT_USER();
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
SELECT * FROM t1;
c1
# [On slave]
SELECT * FROM t1;
c1
# [On slave2]
SELECT * FROM t1;
c1
# [On master]
CREATE TABLE t2(c1 char(100));
CREATE FUNCTION my_user() RETURNS VARCHAR(64)
SQL SECURITY INVOKER
BEGIN
INSERT INTO t2 VALUES(CURRENT_USER());
RETURN CURRENT_USER();
END |
INSERT INTO t1 VALUES(my_user());
Warnings:
Note 1592 Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. Statement is unsafe because it uses a system function that may return a different value on the slave.
SELECT * FROM t1;
c1
root@localhost
SELECT * FROM t2;
c1
root@localhost
# [On slave]
SELECT * FROM t1;
c1
@
SELECT * FROM t2;
c1
@
# [On slave2]
SELECT * FROM t1;
c1
@
SELECT * FROM t2;
c1
@
# END
DROP TABLE t1, t2;
DROP VIEW v_user, v_tables_priv, v_procs_priv, v_event;
DROP PROCEDURE p1;
DROP PROCEDURE my_grant;
DROP PROCEDURE my_revoke;
DROP FUNCTION my_user;
DROP EVENT e1;

View File

@ -750,7 +750,7 @@ test_rpl e2 root@localhost SYSTEM RECURRING NULL 1 # # NULL ENABLED 1 latin1 lat
USE test_rpl; USE test_rpl;
SHOW EVENTS; SHOW EVENTS;
Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation Db Name Definer Time zone Type Execute at Interval value Interval field Starts Ends Status Originator character_set_client collation_connection Database Collation
test_rpl e2 @ SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci test_rpl e2 root@localhost SYSTEM RECURRING NULL 1 # # NULL SLAVESIDE_DISABLED 1 latin1 latin1_swedish_ci latin1_swedish_ci
==========MASTER========== ==========MASTER==========
SELECT COUNT(*) FROM t1; SELECT COUNT(*) FROM t1;
COUNT(*) COUNT(*)

View File

@ -0,0 +1,9 @@
!include ../my.cnf
[mysqld.3]
server-id=3
log-bin=slave-bin
[ENV]
SLAVE_MYPORT1= @mysqld.3.port
SLAVE_MYSOCK1= @mysqld.3.socket

View File

@ -0,0 +1,239 @@
##############################################################################
# BUG#48321 CURRENT_USER() incorrectly replicated for DROP/RENAME USER,
# REVOKE, GRANT, ALTER EVENT
#
# Calling CURRENT_USER() results into inconsistency between slave and master,
# as the slave SQL thread has different user with common users.
#
# After the patch for bug#48321, session's user will be written into query log
# event if CURRENT_USER() is called in 'DROP/RENAME USER', 'REVOKE', 'GRANT',
# 'ALTER EVENT'.
#
##############################################################################
source include/master-slave.inc;
source include/have_binlog_format_statement.inc;
call mtr.add_suppression("Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT.*");
--echo
--echo # On slave2
connect (slave2,127.0.0.1,root,,test,$SLAVE_MYPORT1,);
connection slave2;
--echo # Connect slave2 to slave
--replace_result $SLAVE_MYPORT SLAVE_MYPORT;
eval CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=$SLAVE_MYPORT,
MASTER_LOG_FILE='slave-bin.000001', MASTER_USER='root';
START SLAVE;
source include/wait_for_slave_to_start.inc;
--echo
--echo # [On master]
connection master;
--disable_warnings
DROP VIEW IF EXISTS v_user;
DROP VIEW IF EXISTS v_tables_priv;
DROP VIEW IF EXISTS v_procs_priv;
DROP PROCEDURE IF EXISTS p1;
DROP PROCEDURE IF EXISTS my_grant;
DROP PROCEDURE IF EXISTS my_revoke;
DROP FUNCTION IF EXISTS my_user;
DROP EVENT IF EXISTS e1;
--enable_warnings
CREATE TABLE t1(c1 char(100));
CREATE VIEW test.v_user AS SELECT * FROM mysql.user WHERE User LIKE 'bug48321%';
CREATE VIEW test.v_tables_priv AS SELECT * FROM mysql.tables_priv WHERE User LIKE 'bug48321%';
CREATE VIEW test.v_procs_priv AS SELECT * FROM mysql.procs_priv WHERE User LIKE 'bug48321%';
CREATE VIEW test.v_event AS SELECT definer FROM mysql.event WHERE name = 'e1';
CREATE PROCEDURE p1() SELECT 1;
--echo # bug48321_1-01234 has the max length(16) of user.
GRANT ALL PRIVILEGES ON *.* TO 'bug48321_1-01234'@'localhost' WITH GRANT OPTION;
--echo
--echo # Make sure the max lengths of user and host
--echo # the user name is too lengh
--error 1470
GRANT CREATE USER ON *.* TO '01234567890123456'@'fakehost';
--echo # the host name is too lengh
--error 1470
GRANT CREATE USER ON *.* TO 'fakename'@'0123456789012345678901234567890123456789012345678901234567890';
--echo
--echo # User 'bug48321_1-01234' connects to master by conn1
connect (conn1, 127.0.0.1, 'bug48321_1-01234'@'localhost',,);
connection conn1;
--echo # [On conn1]
--echo # Verify 'REVOKE ALL' statement
REVOKE ALL PRIVILEGES, GRANT OPTION FROM CURRENT_USER();
let $diff_table= test.v_user;
let $diff_server_list= master, slave, slave2;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'GRANT ... ON TABLE ...' statement
connection conn1;
GRANT CREATE, INSERT, SELECT ON TABLE test.t1 TO CURRENT_USER();
let $diff_table= test.v_tables_priv;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'GRANT ... ON PROCEDURE...' statement
connection conn1;
GRANT ALTER ROUTINE, EXECUTE ON PROCEDURE p1 TO CURRENT_USER();
let $diff_table= test.v_procs_priv;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'GRANT ... ON *.* ...' statement
connection conn1;
GRANT ALL PRIVILEGES ON *.* TO CURRENT_USER() WITH GRANT OPTION;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'REVOKE ... ON TABLE ...' statement
connection conn1;
REVOKE CREATE, INSERT, SELECT ON TABLE t1 FROM CURRENT_USER();
let $diff_table= test.v_tables_priv;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'REVOKE ... ON PROCEDURE...' statement
connection conn1;
REVOKE ALTER ROUTINE, EXECUTE ON PROCEDURE p1 FROM CURRENT_USER();
let $diff_table= test.v_procs_priv;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'REVOKE ... ON *.* ...' statement
connection conn1;
REVOKE ALL PRIVILEGES ON *.* FROM CURRENT_USER();
let $diff_table= test.v_user;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'GRANT ...' statement in the procedure
connection conn1;
CREATE PROCEDURE my_grant()
GRANT CREATE, INSERT, SELECT ON TABLE test.t1 TO CURRENT_USER();
call my_grant;
let $diff_table= test.v_tables_priv;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'REVOKE ... ON TABLE ...' statement in the procedure
connection conn1;
CREATE PROCEDURE my_revoke()
REVOKE CREATE, INSERT, SELECT ON TABLE t1 FROM CURRENT_USER();
call my_revoke;
let $diff_table= test.v_tables_priv;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'RENAME USER ...' statement
connection conn1;
RENAME USER CURRENT_USER TO 'bug48321_2'@'localhost';
let $diff_table= test.v_user;
source include/rpl_diff_tables.inc;
disconnect conn1;
--echo
--echo # Verify 'DROP USER ...' statement
connection master;
GRANT CREATE USER ON *.* TO 'bug48321_2'@'localhost';
connect (conn1, 127.0.0.1, 'bug48321_2'@'localhost',,);
connection conn1;
DROP USER CURRENT_USER();
source include/rpl_diff_tables.inc;
--echo
--echo # Verify 'ALTER EVENT...' statement
connection master;
CREATE EVENT e1 ON SCHEDULE EVERY 1 DAY DO SELECT * FROM t1;
--echo # Explicitly assign CURRENT_USER() to definer
ALTER DEFINER=CURRENT_USER() EVENT e1 ENABLE;
let $diff_table= test.v_event;
source include/rpl_diff_tables.inc;
connection master;
--echo
--echo # Session user will be set as definer, if the statement does not assign
--echo # a definer
ALTER EVENT e1 ENABLE;
sync_slave_with_master;
source include/rpl_diff_tables.inc;
--echo
--echo # Verify that this patch does not affect the calling of CURRENT_USER()
--echo # in the other statements
connection master;
--echo # [On master]
INSERT INTO t1 VALUES(CURRENT_USER()), ('1234');
SELECT * FROM t1;
sync_slave_with_master;
--echo # [On slave]
SELECT * FROM t1;
--echo # [On slave2]
sync_slave_with_master slave2;
SELECT * FROM t1;
connection master;
--echo # [On master]
UPDATE t1 SET c1=CURRENT_USER() WHERE c1='1234';
SELECT * FROM t1;
sync_slave_with_master;
--echo # [On slave]
SELECT * FROM t1;
sync_slave_with_master slave2;
--echo # [On slave2]
SELECT * FROM t1;
connection master;
--echo # [On master]
DELETE FROM t1 WHERE c1=CURRENT_USER();
SELECT * FROM t1;
sync_slave_with_master;
--echo # [On slave]
SELECT * FROM t1;
sync_slave_with_master slave2;
--echo # [On slave2]
SELECT * FROM t1;
connection master;
--echo # [On master]
CREATE TABLE t2(c1 char(100));
DELIMITER |;
CREATE FUNCTION my_user() RETURNS VARCHAR(64)
SQL SECURITY INVOKER
BEGIN
INSERT INTO t2 VALUES(CURRENT_USER());
RETURN CURRENT_USER();
END |
DELIMITER ;|
INSERT INTO t1 VALUES(my_user());
SELECT * FROM t1;
SELECT * FROM t2;
sync_slave_with_master;
--echo # [On slave]
SELECT * FROM t1;
SELECT * FROM t2;
sync_slave_with_master slave2;
--echo # [On slave2]
SELECT * FROM t1;
SELECT * FROM t2;
--echo
--echo # END
connection master;
DROP TABLE t1, t2;
DROP VIEW v_user, v_tables_priv, v_procs_priv, v_event;
DROP PROCEDURE p1;
DROP PROCEDURE my_grant;
DROP PROCEDURE my_revoke;
DROP FUNCTION my_user;
DROP EVENT e1;
sync_slave_with_master;
sync_slave_with_master slave2;
source include/master-slave-end.inc;

View File

@ -45,7 +45,6 @@ SHOW CREATE TABLE t1;
SELECT * FROM t1; SELECT * FROM t1;
DROP TABLE t1; DROP TABLE t1;
--echo # --echo #
--echo # Bug#42064: low memory crash when importing hex strings, in Item_hex_string::Item_hex_string --echo # Bug#42064: low memory crash when importing hex strings, in Item_hex_string::Item_hex_string
--echo # --echo #
@ -60,6 +59,36 @@ SET SESSION debug=DEFAULT;
DROP TABLE t1; DROP TABLE t1;
-- echo #
-- echo # Bug#41660: Sort-index_merge for non-first join table may require
-- echo # O(#scans) memory
-- echo #
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (0), (1), (2), (3), (4), (5), (6), (7), (8), (9);
CREATE TABLE t2 (a INT, b INT, filler CHAR(100), KEY(a), KEY(b));
INSERT INTO t2 SELECT 1000, 1000, 'filler' FROM t1 A, t1 B, t1 C;
INSERT INTO t2 VALUES (1, 1, 'data');
--echo # the example query uses LEFT JOIN only for the sake of being able to
--echo # demonstrate the issue with a very small dataset. (left outer join
--echo # disables the use of join buffering, so we get the second table
--echo # re-scanned for every record in the outer table. if we used inner join,
--echo # we would need to have thousands of records and/or more columns in both
--echo # tables so that the join buffer is filled and re-scans are triggered).
SET SESSION debug = '+d,only_one_Unique_may_be_created';
--replace_column 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 x
EXPLAIN
SELECT * FROM t1 LEFT JOIN t2 ON ( t2.a < 10 OR t2.b < 10 );
SELECT * FROM t1 LEFT JOIN t2 ON ( t2.a < 10 OR t2.b < 10 );
SET SESSION debug = DEFAULT;
DROP TABLE t1, t2;
--echo # --echo #
--echo # End of 5.1 tests --echo # End of 5.1 tests
--echo # --echo #

View File

@ -539,6 +539,21 @@ EXPLAIN SELECT * FROM t1 WHERE c_char IN (NULL, NULL);
DROP TABLE t1; DROP TABLE t1;
--echo #
--echo # Bug#54477: Crash on IN / CASE with NULL arguments
--echo #
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1), (2);
SELECT 1 IN (NULL, a) FROM t1;
SELECT a IN (a, a) FROM t1 GROUP BY a WITH ROLLUP;
SELECT CASE a WHEN a THEN a END FROM t1 GROUP BY a WITH ROLLUP;
DROP TABLE t1;
--echo # --echo #
--echo End of 5.1 tests --echo End of 5.1 tests

View File

@ -112,5 +112,19 @@ select 'andre%' like 'andre
# #
select _cp1251'andre%' like convert('andreÊ%' using cp1251) escape 'Ê'; select _cp1251'andre%' like convert('andreÊ%' using cp1251) escape 'Ê';
#
# End of 4.1 tests --echo End of 4.1 tests
--echo #
--echo # Bug #54575: crash when joining tables with unique set column
--echo #
CREATE TABLE t1(a SET('a') NOT NULL, UNIQUE KEY(a));
CREATE TABLE t2(b INT PRIMARY KEY);
INSERT INTO t1 VALUES ();
INSERT INTO t2 VALUES (1), (2), (3);
SELECT 1 FROM t2 JOIN t1 ON 1 LIKE a GROUP BY a;
DROP TABLE t1, t2;
--echo End of 5.1 tests

View File

@ -544,3 +544,24 @@ ORDER BY t1.f2;
DROP TABLE t1,t2; DROP TABLE t1,t2;
--echo End of 5.0 tests --echo End of 5.0 tests
--echo #
--echo # Bug#54416 MAX from JOIN with HAVING returning NULL with 5.1 and Empty set
--echo #
CREATE TABLE t1 (f1 INT(11), f2 VARCHAR(1), PRIMARY KEY (f1));
INSERT INTO t1 VALUES (1,'f');
CREATE TABLE t2 (f1 INT(11), f2 VARCHAR(1));
INSERT INTO t2 VALUES (2,'m');
INSERT INTO t2 VALUES (3,'m');
INSERT INTO t2 VALUES (11,NULL);
INSERT INTO t2 VALUES (12,'k');
SELECT MAX(t1.f1) field1
FROM t1 JOIN t2 ON t2.f2 LIKE 'x'
HAVING field1 < 7;
DROP TABLE t1,t2;
--echo End of 5.1 tests

View File

@ -1416,6 +1416,31 @@ DROP USER nonpriv;
DROP TABLE db1.t1; DROP TABLE db1.t1;
DROP DATABASE db1; DROP DATABASE db1;
--echo
--echo Bug#54422 query with = 'variables'
--echo
CREATE TABLE variables(f1 INT);
SELECT COLUMN_DEFAULT, TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE INFORMATION_SCHEMA.COLUMNS.TABLE_NAME = 'variables';
DROP TABLE variables;
--echo #
--echo # Bug #53814: NUMERIC_PRECISION for unsigned bigint field is 19,
--echo # should be 20
--echo #
CREATE TABLE ubig (a BIGINT, b BIGINT UNSIGNED);
SELECT TABLE_NAME, COLUMN_NAME, NUMERIC_PRECISION
FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='ubig';
INSERT INTO ubig VALUES (0xFFFFFFFFFFFFFFFF,0xFFFFFFFFFFFFFFFF);
SELECT length(CAST(b AS CHAR)) FROM ubig;
DROP TABLE ubig;
--echo End of 5.1 tests. --echo End of 5.1 tests.

View File

@ -570,4 +570,36 @@ DROP TABLE t1;
connection default; connection default;
disconnect con1; disconnect con1;
--echo #
--echo # Bug #51876 : crash/memory underrun when loading data with ucs2
--echo # and reverse() function
--echo #
--echo # Problem # 1 (original report): wrong parsing of ucs2 data
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp.txt';
CREATE TABLE t1(a INT);
LOAD DATA INFILE 'tmpp.txt' INTO TABLE t1 CHARACTER SET ucs2
(@b) SET a=REVERSE(@b);
--echo # should return 2 zeroes (as the value is truncated)
SELECT * FROM t1;
DROP TABLE t1;
let $MYSQLD_DATADIR= `select @@datadir`;
remove_file $MYSQLD_DATADIR/test/tmpp.txt;
--echo # Problem # 2 : if you write and read ucs2 data to a file they're lost
SELECT '00' UNION SELECT '10' INTO OUTFILE 'tmpp2.txt' CHARACTER SET ucs2;
CREATE TABLE t1(a INT);
LOAD DATA INFILE 'tmpp2.txt' INTO TABLE t1 CHARACTER SET ucs2
(@b) SET a=REVERSE(@b);
--echo # should return 0 and 1 (10 reversed)
SELECT * FROM t1;
DROP TABLE t1;
let $MYSQLD_DATADIR= `select @@datadir`;
remove_file $MYSQLD_DATADIR/test/tmpp2.txt;
--echo End of 5.1 tests --echo End of 5.1 tests

View File

@ -160,4 +160,26 @@ SELECT * FROM v1;
DROP VIEW v1; DROP VIEW v1;
DROP TABLE t1; DROP TABLE t1;
--echo End of 5.0 tests. --echo End of 5.0 tests.
--echo #
--echo # Bug #53095: SELECT column_name FROM INFORMATION_SCHEMA.STATISTICS
--echo # returns nothing
--echo #
CREATE TABLE `ttt` (
`f1` char(3) NOT NULL,
PRIMARY KEY (`f1`)
) ENGINE=myisam DEFAULT CHARSET=latin1;
SELECT count(COLUMN_NAME) FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME =
'TTT';
SELECT count(*) FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME = 'TTT';
DROP TABLE `ttt`;
--echo End of 5.0 tests.

0
mysql-test/t/mysql_delimiter_19799.sql Executable file → Normal file
View File

View File

@ -108,6 +108,23 @@ DROP PROCEDURE testproc;
--cat_file $MYSQLTEST_VARDIR/tmp/41569.txt --cat_file $MYSQLTEST_VARDIR/tmp/41569.txt
--remove_file $MYSQLTEST_VARDIR/tmp/41569.txt --remove_file $MYSQLTEST_VARDIR/tmp/41569.txt
--echo #
--echo # Bug #53613: mysql_upgrade incorrectly revokes
--echo # TRIGGER privilege on given table
--echo #
GRANT USAGE ON *.* TO 'user3'@'%';
GRANT ALL PRIVILEGES ON `roelt`.`test2` TO 'user3'@'%';
--echo Run mysql_upgrade with all privileges on a user
--exec $MYSQL_UPGRADE --skip-verbose --force 2>&1
SHOW GRANTS FOR 'user3'@'%';
DROP USER 'user3'@'%';
--echo End of 5.1 tests
# #
# Test the --upgrade-system-tables option # Test the --upgrade-system-tables option
# #

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