Manual-merge from 5.5-bugfixing.
This commit is contained in:
commit
aab0c52976
@ -9,16 +9,20 @@
|
||||
*.core
|
||||
*.d
|
||||
*.da
|
||||
*.dll
|
||||
*.dylib
|
||||
*.exe
|
||||
*.exp
|
||||
*.gcda
|
||||
*.gcno
|
||||
*.gcov
|
||||
*.idb
|
||||
*.ilk
|
||||
*.la
|
||||
*.lai
|
||||
*.lib
|
||||
*.lo
|
||||
*.manifest
|
||||
*.map
|
||||
*.o
|
||||
*.obj
|
||||
@ -149,6 +153,7 @@ Makefile
|
||||
Makefile.in
|
||||
Makefile.in'
|
||||
PENDING/*
|
||||
scripts/scripts
|
||||
TAGS
|
||||
VC++Files/client/mysql_amd64.dsp
|
||||
ac_available_languages_fragment
|
||||
@ -1983,6 +1988,7 @@ sql-bench/test-transactions
|
||||
sql-bench/test-wisconsin
|
||||
sql/*.cpp
|
||||
sql/*.ds?
|
||||
sql/*.def
|
||||
sql/*.vcproj
|
||||
sql/.deps/client.Po
|
||||
sql/.deps/derror.Po
|
||||
@ -2118,6 +2124,7 @@ sql/.libs/udf_example.lai
|
||||
sql/.libs/udf_example.so.0
|
||||
sql/.libs/udf_example.so.0.0.0
|
||||
sql/client.c
|
||||
sql/cmake_dummy.cc
|
||||
sql/Doxyfile
|
||||
sql/f.c
|
||||
sql/gen_lex_hash
|
||||
@ -3048,6 +3055,7 @@ vio/viotest.cpp
|
||||
win/configure.data
|
||||
win/vs71cache.txt
|
||||
win/vs8cache.txt
|
||||
win/nmake_cache.txt
|
||||
ylwrap
|
||||
zlib/*.ds?
|
||||
zlib/*.vcproj
|
||||
|
@ -115,18 +115,27 @@ ENDIF()
|
||||
# Control aspects of the development environment which are
|
||||
# specific to MySQL maintainers and developers.
|
||||
#
|
||||
INCLUDE (CheckCCompilerFlag)
|
||||
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)
|
||||
CHECK_C_COMPILER_FLAG("-Wdeclaration-after-statement" HAVE_DECLARATION_AFTER_STATEMENT)
|
||||
IF(HAVE_DECLARATION_AFTER_STATEMENT)
|
||||
SET(MY_MAINTAINER_DECLARATION_AFTER_STATEMENT "-Wdeclaration-after-statement")
|
||||
ENDIF()
|
||||
SET(MY_MAINTAINER_C_WARNINGS
|
||||
"-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror"
|
||||
CACHE STRING "C warning options used in maintainer builds.")
|
||||
"-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror")
|
||||
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()
|
||||
IF(CMAKE_COMPILER_IS_GNUCC)
|
||||
SET(MY_MAINTAINER_C_WARNINGS
|
||||
"${MY_MAINTAINER_C_WARNINGS} ${MY_MAINTAINER_DECLARATION_AFTER_STATEMENT}"
|
||||
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")
|
||||
@ -322,23 +331,33 @@ ELSE()
|
||||
SET(CPACK_GENERATOR "TGZ")
|
||||
ENDIF()
|
||||
ADD_SUBDIRECTORY(packaging/WiX)
|
||||
|
||||
# Create a single package with "make package"
|
||||
# (see http://public.kitware.com/Bug/view.php?id=11452)
|
||||
SET(CPACK_MONOLITHIC_INSTALL 1 CACHE INTERNAL "")
|
||||
|
||||
INCLUDE(CPack)
|
||||
IF(UNIX)
|
||||
INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL)
|
||||
INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL COMPONENT Info)
|
||||
ENDIF()
|
||||
#
|
||||
# RPM installs documentation directly from the source tree
|
||||
#
|
||||
IF(NOT INSTALL_LAYOUT MATCHES "RPM")
|
||||
INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql DESTINATION ${INSTALL_DOCREADMEDIR} OPTIONAL)
|
||||
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR})
|
||||
INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql
|
||||
DESTINATION ${INSTALL_DOCREADMEDIR}
|
||||
COMPONENT Readme
|
||||
OPTIONAL
|
||||
)
|
||||
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
|
||||
IF(UNIX)
|
||||
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR})
|
||||
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
|
||||
ENDIF()
|
||||
# MYSQL_DOCS_LOCATON is used in "make dist", points to the documentation directory
|
||||
SET(MYSQL_DOCS_LOCATION "" CACHE PATH "Location from where documentation is copied")
|
||||
MARK_AS_ADVANCED(MYSQL_DOCS_LOCATION)
|
||||
INSTALL(DIRECTORY Docs/ DESTINATION ${INSTALL_DOCDIR}
|
||||
COMPONENT Documentation
|
||||
PATTERN "INSTALL-BINARY" EXCLUDE
|
||||
PATTERN "Makefile.*" EXCLUDE
|
||||
PATTERN "glibc*" EXCLUDE
|
||||
|
@ -1010,10 +1010,11 @@ static struct my_option my_long_options[] =
|
||||
"row-based events; 'decode-rows' decodes row events into commented SQL "
|
||||
"statements if the --verbose option is also given; 'auto' prints base64 "
|
||||
"only when necessary (i.e., for row-based events and format description "
|
||||
"events); 'always' prints base64 whenever possible. 'always' is for "
|
||||
"debugging only and should not be used in a production system. If this "
|
||||
"argument is not given, the default is 'auto'; if it is given with no "
|
||||
"argument, 'always' is used.",
|
||||
"events); 'always' prints base64 whenever possible. 'always' is "
|
||||
"deprecated, will be removed in a future version, and should not be used "
|
||||
"in a production system. --base64-output with no 'name' argument is "
|
||||
"equivalent to --base64-output=always and is also deprecated. If no "
|
||||
"--base64-output[=name] option is given at all, the default is 'auto'.",
|
||||
&opt_base64_output_mode_str, &opt_base64_output_mode_str,
|
||||
0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
/*
|
||||
@ -2024,6 +2025,13 @@ int main(int argc, char** argv)
|
||||
|
||||
if (opt_base64_output_mode == BASE64_OUTPUT_UNSPEC)
|
||||
opt_base64_output_mode= BASE64_OUTPUT_AUTO;
|
||||
if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
|
||||
warning("The --base64-output=always flag and the --base64-output flag "
|
||||
"(with '=MODE' omitted), are deprecated. "
|
||||
"The output generated when these flags are used cannot be "
|
||||
"parsed by mysql 5.6.0 and later. "
|
||||
"The flags will be removed in a future version. "
|
||||
"Please use --base64-output=auto instead.");
|
||||
|
||||
my_set_max_open_files(open_files_limit);
|
||||
|
||||
|
@ -185,6 +185,11 @@ foreach my $option (@ARGV)
|
||||
($option =~ /enable/ ? "1" : "0");
|
||||
next;
|
||||
}
|
||||
if ($option =~ /with-comment=/)
|
||||
{
|
||||
$cmakeargs = $cmakeargs." \"-DWITH_COMMENT=".substr($option,13)."\"";
|
||||
next;
|
||||
}
|
||||
|
||||
$option = uc($option);
|
||||
$option =~ s/-/_/g;
|
||||
|
@ -86,7 +86,7 @@ IF(UNIX)
|
||||
SET(CMAKE_INSTALL_PREFIX ${default_prefix}
|
||||
CACHE PATH "install prefix" FORCE)
|
||||
ENDIF()
|
||||
SET(VALID_INSTALL_LAYOUTS "RPM" "STANDALONE" "DEB" "SVR5")
|
||||
SET(VALID_INSTALL_LAYOUTS "RPM" "STANDALONE" "DEB" "SVR4")
|
||||
LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind)
|
||||
IF(ind EQUAL -1)
|
||||
MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
|
||||
|
@ -78,7 +78,9 @@ FUNCTION(INSTALL_MANPAGE file)
|
||||
ELSE()
|
||||
SET(SECTION man8)
|
||||
ENDIF()
|
||||
INSTALL(FILES "${MANPAGE}" DESTINATION "${INSTALL_MANDIR}/${SECTION}")
|
||||
MESSAGE("huj!")
|
||||
INSTALL(FILES "${MANPAGE}" DESTINATION "${INSTALL_MANDIR}/${SECTION}"
|
||||
COMPONENT ManPages)
|
||||
ENDIF()
|
||||
ENDFUNCTION()
|
||||
|
||||
@ -137,12 +139,7 @@ IF(UNIX)
|
||||
STRING(REPLACE "${CMAKE_CFG_INTDIR}"
|
||||
"\${CMAKE_INSTALL_CONFIG_NAME}" output ${output})
|
||||
ENDIF()
|
||||
IF(component)
|
||||
SET(COMP COMPONENT ${component})
|
||||
ELSE()
|
||||
SET(COMP)
|
||||
ENDIF()
|
||||
INSTALL(FILES ${output} DESTINATION ${destination} ${COMP})
|
||||
INSTALL(FILES ${output} DESTINATION ${destination} COMPONENT ${component})
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
@ -224,8 +221,6 @@ FUNCTION(MYSQL_INSTALL_TARGETS)
|
||||
IF(SIGNCODE AND SIGNCODE_ENABLED)
|
||||
SIGN_TARGET(${target})
|
||||
ENDIF()
|
||||
# For Windows, add version info to executables
|
||||
ADD_VERSION_INFO(${target})
|
||||
# Install man pages on Unix
|
||||
IF(UNIX)
|
||||
GET_TARGET_PROPERTY(target_location ${target} LOCATION)
|
||||
|
@ -250,6 +250,9 @@ MACRO(MERGE_LIBRARIES)
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
CREATE_EXPORT_FILE(SRC ${TARGET} "${ARG_EXPORTS}")
|
||||
IF(NOT ARG_NOINSTALL)
|
||||
ADD_VERSION_INFO(${TARGET} SHARED SRC)
|
||||
ENDIF()
|
||||
ADD_LIBRARY(${TARGET} ${LIBTYPE} ${SRC})
|
||||
TARGET_LINK_LIBRARIES(${TARGET} ${LIBS})
|
||||
IF(ARG_OUTPUT_NAME)
|
||||
|
@ -37,7 +37,7 @@ FUNCTION (MYSQL_ADD_EXECUTABLE)
|
||||
LIST(REMOVE_AT ARG_DEFAULT_ARGS 0)
|
||||
|
||||
SET(sources ${ARG_DEFAULT_ARGS})
|
||||
|
||||
ADD_VERSION_INFO(${target} EXECUTABLE sources)
|
||||
ADD_EXECUTABLE(${target} ${ARG_WIN32} ${ARG_MACOSX_BUNDLE} ${ARG_EXCLUDE_FROM_ALL} ${sources})
|
||||
# tell CPack where to install
|
||||
IF(NOT ARG_EXCLUDE_FROM_ALL)
|
||||
|
@ -42,6 +42,9 @@ MACRO(GET_MYSQL_VERSION)
|
||||
IF(NOT VERSION_STRING)
|
||||
FILE(STRINGS configure.in str REGEX "AC_INIT\\(")
|
||||
STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+[-][a-zAZ0-9]+" VERSION_STRING "${str}")
|
||||
IF(NOT VERSION_STRING)
|
||||
STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" VERSION_STRING "${str}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
@ -130,9 +133,8 @@ ENDIF()
|
||||
# Refer to http://msdn.microsoft.com/en-us/library/aa381058(VS.85).aspx
|
||||
# for more info.
|
||||
IF(MSVC)
|
||||
GET_TARGET_PROPERTY(location gen_versioninfo LOCATION)
|
||||
IF(NOT location)
|
||||
GET_FILENAME_COMPONENT(MYSQL_CMAKE_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
|
||||
|
||||
SET(FILETYPE VFT_APP)
|
||||
CONFIGURE_FILE(${MYSQL_CMAKE_SCRIPT_DIR}/versioninfo.rc.in
|
||||
${CMAKE_BINARY_DIR}/versioninfo_exe.rc)
|
||||
@ -140,31 +142,14 @@ IF(MSVC)
|
||||
SET(FILETYPE VFT_DLL)
|
||||
CONFIGURE_FILE(${MYSQL_CMAKE_SCRIPT_DIR}/versioninfo.rc.in
|
||||
${CMAKE_BINARY_DIR}/versioninfo_dll.rc)
|
||||
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${CMAKE_BINARY_DIR}/versioninfo_exe.res
|
||||
${CMAKE_BINARY_DIR}/versioninfo_dll.res
|
||||
COMMAND ${CMAKE_RC_COMPILER} versioninfo_exe.rc
|
||||
COMMAND ${CMAKE_RC_COMPILER} versioninfo_dll.rc
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
ADD_CUSTOM_TARGET(gen_versioninfo
|
||||
DEPENDS
|
||||
${CMAKE_BINARY_DIR}/versioninfo_exe.res
|
||||
${CMAKE_BINARY_DIR}/versioninfo_dll.res
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
FUNCTION(ADD_VERSION_INFO target)
|
||||
GET_TARGET_PROPERTY(target_type ${target} TYPE)
|
||||
ADD_DEPENDENCIES(${target} gen_versioninfo)
|
||||
IF(target_type MATCHES "SHARED" OR target_type MATCHES "MODULE")
|
||||
SET_PROPERTY(TARGET ${target} APPEND PROPERTY LINK_FLAGS
|
||||
"\"${CMAKE_BINARY_DIR}/versioninfo_dll.res\"")
|
||||
ELSEIF(target_type MATCHES "EXE")
|
||||
SET_PROPERTY(TARGET ${target} APPEND PROPERTY LINK_FLAGS
|
||||
"${target_link_flags} \"${CMAKE_BINARY_DIR}/versioninfo_exe.res\"")
|
||||
|
||||
FUNCTION(ADD_VERSION_INFO target target_type sources_var)
|
||||
IF("${target_type}" MATCHES "SHARED" OR "${target_type}" MATCHES "MODULE")
|
||||
SET(rcfile ${CMAKE_BINARY_DIR}/versioninfo_dll.rc)
|
||||
ELSEIF("${target_type}" MATCHES "EXE")
|
||||
SET(rcfile ${CMAKE_BINARY_DIR}/versioninfo_exe.rc)
|
||||
ENDIF()
|
||||
SET(${sources_var} ${${sources_var}} ${rcfile} PARENT_SCOPE)
|
||||
ENDFUNCTION()
|
||||
ELSE()
|
||||
FUNCTION(ADD_VERSION_INFO)
|
||||
|
@ -151,6 +151,7 @@ MACRO(MYSQL_ADD_PLUGIN)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
ADD_VERSION_INFO(${target} MODULE SOURCES)
|
||||
ADD_LIBRARY(${target} MODULE ${SOURCES})
|
||||
DTRACE_INSTRUMENT(${target})
|
||||
SET_TARGET_PROPERTIES (${target} PROPERTIES PREFIX ""
|
||||
|
@ -855,7 +855,7 @@ _rl_read_init_file (filename, include_level)
|
||||
{
|
||||
register int i;
|
||||
char *buffer, *openname, *line, *end;
|
||||
size_t file_size;
|
||||
size_t file_size = 0;
|
||||
|
||||
current_readline_init_file = filename;
|
||||
current_readline_init_include_level = include_level;
|
||||
|
@ -19,6 +19,7 @@ AC_DEFUN([MY_MAINTAINER_MODE_WARNINGS], [
|
||||
AS_IF([test "$GCC" = "yes"], [
|
||||
C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror"
|
||||
CXX_WARNINGS="${C_WARNINGS} -Wno-unused-parameter"
|
||||
C_WARNINGS="${C_WARNINGS} -Wdeclaration-after-statement"
|
||||
])
|
||||
|
||||
# Test whether the warning options work.
|
||||
|
@ -27,7 +27,7 @@ dnl
|
||||
dnl When changing the major version number please also check the switch
|
||||
dnl statement in mysqlbinlog::check_master_version(). You may also need
|
||||
dnl to update version.c in ndb.
|
||||
AC_INIT([MySQL Server], [5.5.8-rc], [], [mysql])
|
||||
AC_INIT([MySQL Server], [5.5.8], [], [mysql])
|
||||
|
||||
AC_CONFIG_SRCDIR([sql/mysqld.cc])
|
||||
AC_CANONICAL_SYSTEM
|
||||
|
@ -76,7 +76,9 @@ extern "C" {
|
||||
extern void *(*my_str_malloc)(size_t);
|
||||
extern void (*my_str_free)(void *);
|
||||
|
||||
#if defined(HAVE_STPCPY)
|
||||
#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4)
|
||||
#define strmov(A,B) __builtin_stpcpy((A),(B))
|
||||
#elif defined(HAVE_STPCPY)
|
||||
#define strmov(A,B) stpcpy((A),(B))
|
||||
#ifndef stpcpy
|
||||
extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */
|
||||
|
@ -76,6 +76,11 @@
|
||||
/**
|
||||
Generic (compiler-independent) features.
|
||||
*/
|
||||
|
||||
#ifndef MY_GNUC_PREREQ
|
||||
# define MY_GNUC_PREREQ(maj, min) (0)
|
||||
#endif
|
||||
|
||||
#ifndef MY_ALIGNOF
|
||||
# ifdef __cplusplus
|
||||
template<typename type> struct my_alignof_helper { char m1; type m2; };
|
||||
|
@ -256,7 +256,7 @@ extern my_bool my_disable_locking, my_disable_async_io,
|
||||
extern char wild_many,wild_one,wild_prefix;
|
||||
extern const char *charsets_dir;
|
||||
/* from default.c */
|
||||
extern char *my_defaults_extra_file;
|
||||
extern const char *my_defaults_extra_file;
|
||||
extern const char *my_defaults_group_suffix;
|
||||
extern const char *my_defaults_file;
|
||||
|
||||
|
@ -79,8 +79,7 @@ struct st_mysql_client_plugin_AUTHENTICATION
|
||||
/**
|
||||
loads a plugin and initializes it
|
||||
|
||||
@param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
|
||||
and last_errno/last_error, for error reporting
|
||||
@param mysql MYSQL structure.
|
||||
@param name a name of the plugin to load
|
||||
@param type type of plugin that should be loaded, -1 to disable type check
|
||||
@param argc number of arguments to pass to the plugin initialization
|
||||
@ -100,8 +99,7 @@ mysql_load_plugin(struct st_mysql *mysql, const char *name, int type,
|
||||
This is the same as mysql_load_plugin, but take va_list instead of
|
||||
a list of arguments.
|
||||
|
||||
@param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
|
||||
and last_errno/last_error, for error reporting
|
||||
@param mysql MYSQL structure.
|
||||
@param name a name of the plugin to load
|
||||
@param type type of plugin that should be loaded, -1 to disable type check
|
||||
@param argc number of arguments to pass to the plugin initialization
|
||||
@ -118,8 +116,7 @@ mysql_load_plugin_v(struct st_mysql *mysql, const char *name, int type,
|
||||
/**
|
||||
finds an already loaded plugin by name, or loads it, if necessary
|
||||
|
||||
@param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
|
||||
and last_errno/last_error, for error reporting
|
||||
@param mysql MYSQL structure.
|
||||
@param name a name of the plugin to load
|
||||
@param type type of plugin that should be loaded
|
||||
|
||||
|
@ -172,7 +172,7 @@ IF(UNIX)
|
||||
SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} COMPONENT SharedLibraries)
|
||||
INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development)
|
||||
ENDIF()
|
||||
|
||||
IF(NOT DISABLE_SHARED)
|
||||
@ -210,7 +210,7 @@ IF(NOT DISABLE_SHARED)
|
||||
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||
""
|
||||
linkname)
|
||||
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} COMPONENT SharedLibraries)
|
||||
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
|
||||
SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
|
||||
LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
|
||||
FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
|
||||
@ -219,7 +219,7 @@ IF(NOT DISABLE_SHARED)
|
||||
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||
"${ver}"
|
||||
linkname)
|
||||
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} COMPONENT SharedLibraries)
|
||||
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
@ -506,7 +506,8 @@ int init_embedded_server(int argc, char **argv, char **groups)
|
||||
|
||||
orig_argc= *argcp;
|
||||
orig_argv= *argvp;
|
||||
load_defaults("my", (const char **)groups, argcp, argvp);
|
||||
if (load_defaults("my", (const char **)groups, argcp, argvp))
|
||||
return 1;
|
||||
defaults_argc= *argcp;
|
||||
defaults_argv= *argvp;
|
||||
remaining_argc= argc;
|
||||
|
@ -22,4 +22,4 @@ SET(MYSQLSERVICES_SOURCES
|
||||
my_thread_scheduler_service.c)
|
||||
|
||||
ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
|
||||
INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR})
|
||||
INSTALL(TARGETS mysqlservices DESTINATION ${INSTALL_LIBDIR} COMPONENT Development)
|
||||
|
@ -21,8 +21,10 @@ IF(MAN1_FILES)
|
||||
IF(MAN1_EXCLUDE)
|
||||
LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE})
|
||||
ENDIF()
|
||||
INSTALL(FILES ${MAN1_FILES} DESTINATION ${INSTALL_MANDIR}/man1)
|
||||
INSTALL(FILES ${MAN1_FILES} DESTINATION ${INSTALL_MANDIR}/man1
|
||||
COMPONENT ManPages)
|
||||
ENDIF()
|
||||
IF(MAN8_FILES)
|
||||
INSTALL(FILES ${MAN8_FILES} DESTINATION ${INSTALL_MANDIR}/man8)
|
||||
INSTALL(FILES ${MAN8_FILES} DESTINATION ${INSTALL_MANDIR}/man8
|
||||
COMPONENT ManPages)
|
||||
ENDIF()
|
||||
|
@ -53,7 +53,8 @@ IF(UNIX)
|
||||
IF(INSTALL_MYSQLTESTDIR)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mtr
|
||||
${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run
|
||||
DESTINATION ${INSTALL_MYSQLTESTDIR})
|
||||
DESTINATION ${INSTALL_MYSQLTESTDIR}
|
||||
COMPONENT Test)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
|
@ -24,8 +24,6 @@ main.wait_timeout @solaris # Bug#51244 2010-04-26 alik wait_timeou
|
||||
rpl.rpl_heartbeat_basic # BUG#54820 2010-06-26 alik rpl.rpl_heartbeat_basic fails sporadically again
|
||||
rpl.rpl_heartbeat_2slaves # BUG#43828 2009-10-22 luis fails sporadically
|
||||
rpl.rpl_innodb_bug28430* # Bug#46029
|
||||
rpl.rpl_innodb_bug30888* @solaris # Bug#47646 2009-09-25 alik rpl.rpl_innodb_bug30888 fails sporadically on Solaris
|
||||
rpl.rpl_killed_ddl @windows # Bug#47638 2010-01-20 alik The rpl_killed_ddl test fails on Windows
|
||||
|
||||
sys_vars.max_sp_recursion_depth_func @solaris # Bug#47791 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
|
||||
sys_vars.slow_query_log_func @solaris # Bug#54819 2010-06-26 alik sys_vars.slow_query_log_func fails sporadically on Solaris 10
|
||||
|
@ -1,2 +1,2 @@
|
||||
perl mysql-test-run.pl --timer --force --comment=1st --experimental=collections/default.experimental 1st
|
||||
perl mysql-test-run.pl --timer --force --comment=big-tests --experimental=collections/default.experimental --vardir=var-big-tests --big-test --testcase-timeout=60 --suite-timeout=600 parts.part_supported_sql_func_innodb parts.partition_alter1_1_2_innodb parts.partition_alter1_1_2_ndb parts.partition_alter1_1_ndb parts.partition_alter1_2_innodb parts.partition_alter1_2_ndb parts.partition_alter2_1_1_innodb parts.partition_alter2_1_2_innodb parts.partition_alter2_2_2_innodb parts.partition_alter4_innodb main.variables-big rpl_ndb.rpl_truncate_7ndb_2
|
||||
perl mysql-test-run.pl --timer --force --comment=big-tests --experimental=collections/default.experimental --vardir=var-big-tests --big-test --testcase-timeout=60 --suite-timeout=600 large_tests.alter_table main.alter_table-big main.archive-big main.count_distinct3 main.create-big main.events_stress main.events_time_zone main.information_schema-big main.log_tables-big main.merge-big main.mysqlbinlog_row_big main.read_many_rows_innodb main.ssl-big main.sum_distinct-big main.type_newdecimal-big main.variables-big parts.part_supported_sql_func_innodb parts.partition_alter1_1_2_innodb parts.partition_alter1_1_2_ndb parts.partition_alter1_1_ndb parts.partition_alter1_2_innodb parts.partition_alter1_2_ndb parts.partition_alter2_1_1_innodb parts.partition_alter2_1_2_innodb parts.partition_alter2_2_2_innodb parts.partition_alter4_innodb rpl_ndb.rpl_truncate_7ndb_2
|
||||
|
5
mysql-test/collections/mysql-5.5-bugteam.daily
Normal file
5
mysql-test/collections/mysql-5.5-bugteam.daily
Normal file
@ -0,0 +1,5 @@
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=ps_row --vardir=var-ps_row --ps-protocol --mysqld=--binlog-format=row
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --mysqld=--binlog-format=row --suite=rpl,binlog --skip-ndb
|
4
mysql-test/collections/mysql-5.5-bugteam.push
Normal file
4
mysql-test/collections/mysql-5.5-bugteam.push
Normal file
@ -0,0 +1,4 @@
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --experimental=collections/default.experimental --skip-ndb --skip-test-list=collections/disabled-per-push.list
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=main_ps_row --vardir=var-main-ps_row --suite=main --ps-protocol --mysqld=--binlog-format=row --experimental=collections/default.experimental --skip-ndb --skip-test-list=collections/disabled-per-push.list
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=main_embedded --vardir=var-main_emebbed --suite=main --embedded --experimental=collections/default.experimental --skip-ndb
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1 --experimental=collections/default.experimental --skip-ndb
|
@ -177,8 +177,6 @@ sub collect_test_cases ($$$$) {
|
||||
if ( $opt_reorder && !$quick_collect)
|
||||
{
|
||||
# Reorder the test cases in an order that will make them faster to run
|
||||
my %sort_criteria;
|
||||
|
||||
# Make a mapping of test name to a string that represents how that test
|
||||
# should be sorted among the other tests. Put the most important criterion
|
||||
# first, then a sub-criterion, then sub-sub-criterion, etc.
|
||||
@ -190,24 +188,31 @@ sub collect_test_cases ($$$$) {
|
||||
# Append the criteria for sorting, in order of importance.
|
||||
#
|
||||
push(@criteria, "ndb=" . ($tinfo->{'ndb_test'} ? "A" : "B"));
|
||||
push(@criteria, $tinfo->{template_path});
|
||||
# Group test with equal options together.
|
||||
# Ending with "~" makes empty sort later than filled
|
||||
my $opts= $tinfo->{'master_opt'} ? $tinfo->{'master_opt'} : [];
|
||||
push(@criteria, join("!", sort @{$opts}) . "~");
|
||||
# Add slave opts if any
|
||||
if ($tinfo->{'slave_opt'})
|
||||
{
|
||||
push(@criteria, join("!", sort @{$tinfo->{'slave_opt'}}));
|
||||
}
|
||||
# This sorts tests with force-restart *before* identical tests
|
||||
push(@criteria, $tinfo->{force_restart} ? "force-restart" : "no-restart");
|
||||
|
||||
$sort_criteria{$tinfo->{name}} = join(" ", @criteria);
|
||||
$tinfo->{criteria}= join(" ", @criteria);
|
||||
}
|
||||
|
||||
@$cases = sort {
|
||||
$sort_criteria{$a->{'name'}} . $a->{'name'} cmp
|
||||
$sort_criteria{$b->{'name'}} . $b->{'name'}; } @$cases;
|
||||
@$cases = sort {$a->{criteria} cmp $b->{criteria}; } @$cases;
|
||||
|
||||
# For debugging the sort-order
|
||||
# foreach my $tinfo (@$cases)
|
||||
# {
|
||||
# print("$sort_criteria{$tinfo->{'name'}} -> \t$tinfo->{'name'}\n");
|
||||
# my $tname= $tinfo->{name} . ' ' . $tinfo->{combination};
|
||||
# my $crit= $tinfo->{criteria};
|
||||
# print("$tname\n\t$crit\n");
|
||||
# }
|
||||
|
||||
}
|
||||
|
||||
if (defined $print_testcases){
|
||||
|
@ -704,22 +704,40 @@ sub run_test_server ($$$) {
|
||||
next;
|
||||
}
|
||||
|
||||
# Prefer same configuration, or just use next if --noreorder
|
||||
if (!$opt_reorder or (defined $result and
|
||||
$result->{template_path} eq $t->{template_path}))
|
||||
{
|
||||
#mtr_report("Test uses same config => good match");
|
||||
# Test uses same config => good match
|
||||
$next= splice(@$tests, $i, 1);
|
||||
last;
|
||||
}
|
||||
|
||||
# Second best choice is the first that does not fulfill
|
||||
# any of the above conditions
|
||||
if (!defined $second_best){
|
||||
#mtr_report("Setting second_best to $i");
|
||||
$second_best= $i;
|
||||
}
|
||||
|
||||
# Smart allocation of next test within this thread.
|
||||
|
||||
if ($opt_reorder and $opt_parallel > 1 and defined $result)
|
||||
{
|
||||
my $wid= $result->{worker};
|
||||
# Reserved for other thread, try next
|
||||
next if (defined $t->{reserved} and $t->{reserved} != $wid);
|
||||
if (! defined $t->{reserved})
|
||||
{
|
||||
# Force-restart not relevant when comparing *next* test
|
||||
$t->{criteria} =~ s/force-restart$/no-restart/;
|
||||
my $criteria= $t->{criteria};
|
||||
# Reserve similar tests for this worker, but not too many
|
||||
my $maxres= (@$tests - $i) / $opt_parallel + 1;
|
||||
for (my $j= $i+1; $j <= $i + $maxres; $j++)
|
||||
{
|
||||
my $tt= $tests->[$j];
|
||||
last unless defined $tt;
|
||||
last if $tt->{criteria} ne $criteria;
|
||||
$tt->{reserved}= $wid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# At this point we have found next suitable test
|
||||
$next= splice(@$tests, $i, 1);
|
||||
last;
|
||||
}
|
||||
|
||||
# Use second best choice if no other test has been found
|
||||
@ -728,10 +746,12 @@ sub run_test_server ($$$) {
|
||||
mtr_error("Internal error, second best too large($second_best)")
|
||||
if $second_best > $#$tests;
|
||||
$next= splice(@$tests, $second_best, 1);
|
||||
delete $next->{reserved};
|
||||
}
|
||||
|
||||
if ($next) {
|
||||
#$next->print_test();
|
||||
# We don't need this any more
|
||||
delete $next->{criteria};
|
||||
$next->write_test($sock, 'TESTCASE');
|
||||
$running{$next->key()}= $next;
|
||||
$num_ndb_tests++ if ($next->{ndb_test});
|
||||
@ -816,6 +836,11 @@ sub run_worker ($) {
|
||||
delete($test->{'comment'});
|
||||
delete($test->{'logfile'});
|
||||
|
||||
# A sanity check. Should this happen often we need to look at it.
|
||||
if (defined $test->{reserved} && $test->{reserved} != $thread_num) {
|
||||
my $tres= $test->{reserved};
|
||||
mtr_warning("Test reserved for w$tres picked up by w$thread_num");
|
||||
}
|
||||
$test->{worker} = $thread_num if $opt_parallel > 1;
|
||||
|
||||
run_testcase($test);
|
||||
@ -894,7 +919,7 @@ sub command_line_setup {
|
||||
'ssl|with-openssl' => \$opt_ssl,
|
||||
'skip-ssl' => \$opt_skip_ssl,
|
||||
'compress' => \$opt_compress,
|
||||
'vs-config' => \$opt_vs_config,
|
||||
'vs-config=s' => \$opt_vs_config,
|
||||
|
||||
# Max number of parallel threads to use
|
||||
'parallel=s' => \$opt_parallel,
|
||||
@ -4463,7 +4488,13 @@ sub mysqld_arguments ($$$) {
|
||||
my $mysqld= shift;
|
||||
my $extra_opts= shift;
|
||||
|
||||
mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
|
||||
my @defaults = grep(/^--defaults-file=/, @$extra_opts);
|
||||
if (@defaults > 0) {
|
||||
mtr_add_arg($args, pop(@defaults))
|
||||
}
|
||||
else {
|
||||
mtr_add_arg($args, "--defaults-file=%s", $path_config_file);
|
||||
}
|
||||
|
||||
# When mysqld is run by a root user(euid is 0), it will fail
|
||||
# to start unless we specify what user to run as, see BUG#30630
|
||||
@ -4499,6 +4530,9 @@ sub mysqld_arguments ($$$) {
|
||||
my $found_skip_core= 0;
|
||||
foreach my $arg ( @$extra_opts )
|
||||
{
|
||||
# Skip --defaults-file option since it's handled above.
|
||||
next if $arg =~ /^--defaults-file/;
|
||||
|
||||
# Allow --skip-core-file to be set in <testname>-[master|slave].opt file
|
||||
if ($arg eq "--skip-core-file")
|
||||
{
|
||||
@ -4732,17 +4766,6 @@ sub server_need_restart {
|
||||
}
|
||||
}
|
||||
|
||||
# Temporary re-enable the "always restart slave" hack
|
||||
# this should be removed asap, but will require that each rpl
|
||||
# testcase cleanup better after itself - ie. stop and reset
|
||||
# replication
|
||||
# Use the "#!use-slave-opt" marker to detect that this is a "slave"
|
||||
# server
|
||||
if ( $server->option("#!use-slave-opt") ){
|
||||
mtr_verbose_restart($server, "Always restart slave(s)");
|
||||
return 1;
|
||||
}
|
||||
|
||||
my $is_mysqld= grep ($server eq $_, mysqlds());
|
||||
if ($is_mysqld)
|
||||
{
|
||||
@ -5317,8 +5340,7 @@ sub gdb_arguments {
|
||||
"break mysql_parse\n" .
|
||||
"commands 1\n" .
|
||||
"disable 1\n" .
|
||||
"end\n" .
|
||||
"run");
|
||||
"end\n");
|
||||
}
|
||||
|
||||
if ( $opt_manual_gdb )
|
||||
|
@ -21,7 +21,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
|
@ -15,7 +15,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
@ -49,7 +49,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
@ -91,7 +91,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
|
@ -1425,7 +1425,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varbinary(10) NOT NULL DEFAULT ''
|
||||
`c1` varbinary(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
@ -1507,7 +1507,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET cp1251 NOT NULL DEFAULT ''
|
||||
`c1` varchar(10) CHARACTER SET cp1251 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
@ -1844,7 +1844,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) NOT NULL DEFAULT ''
|
||||
`c1` varchar(10) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
@ -2667,7 +2667,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET ucs2 NOT NULL DEFAULT ''
|
||||
`c1` varchar(10) CHARACTER SET ucs2 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
@ -2071,6 +2071,20 @@ predicted_order hex(utf8_encoding)
|
||||
100 E0B78AE2808DE0B6BA
|
||||
101 E0B78AE2808DE0B6BB
|
||||
DROP TABLE t1;
|
||||
SET NAMES utf8 COLLATE utf8_sinhala_ci;
|
||||
CREATE TABLE t1 (s1 VARCHAR(10) COLLATE utf8_sinhala_ci);
|
||||
INSERT INTO t1 VALUES ('a'),('ae'),('af');
|
||||
SELECT s1,hex(s1) FROM t1 ORDER BY s1;
|
||||
s1 hex(s1)
|
||||
a 61
|
||||
ae 6165
|
||||
af 6166
|
||||
SELECT * FROM t1 ORDER BY s1;
|
||||
s1
|
||||
a
|
||||
ae
|
||||
af
|
||||
DROP TABLE t1;
|
||||
End of 5.4 tests
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
@ -3542,7 +3556,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`c1` varchar(10) CHARACTER SET utf8 NOT NULL DEFAULT ''
|
||||
`c1` varchar(10) CHARACTER SET utf8 DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
select hex(concat(extract(year from 20090702)));
|
||||
|
@ -134,3 +134,15 @@ INSERT INTO t1 VALUES ('abc\0\0');
|
||||
INSERT INTO t1 VALUES ('abc\0\0');
|
||||
ERROR 23000: Duplicate entry 'abc\x00\x00' for key 'PRIMARY'
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57882: Item_func_conv_charset::val_str(String*):
|
||||
# Assertion `fixed == 1' failed
|
||||
#
|
||||
SELECT (CONVERT('0' USING latin1) IN (CHAR(COT('v') USING utf8),''));
|
||||
ERROR 22003: DOUBLE value is out of range in 'cot('v')'
|
||||
SET NAMES utf8 COLLATE utf8_latvian_ci ;
|
||||
SELECT UPDATEXML(-73 * -2465717823867977728,@@global.auto_increment_increment,null);
|
||||
ERROR 22003: BIGINT value is out of range in '(-(73) * -(2465717823867977728))'
|
||||
#
|
||||
# End Bug#57882
|
||||
#
|
||||
|
@ -619,3 +619,12 @@ SELECT floor(log10(format(concat_ws(5445796E25, 5306463, 30837), -358821)))
|
||||
as foo;
|
||||
foo
|
||||
2
|
||||
#
|
||||
# Bug #58137 char(0) column cause:
|
||||
# my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed
|
||||
#
|
||||
CREATE TABLE t1(a char(0));
|
||||
INSERT INTO t1 (SELECT -pi());
|
||||
Warnings:
|
||||
Warning 1265 Data truncated for column 'a' at row 1
|
||||
DROP TABLE t1;
|
||||
|
@ -1315,6 +1315,20 @@ SELECT 1 FROM t1 ORDER BY @x:=makedate(a,a);
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #52160: crash and inconsistent results when grouping
|
||||
# by a function and column
|
||||
#
|
||||
CREATE TABLE t1(a CHAR(10) NOT NULL);
|
||||
INSERT INTO t1 VALUES (''),('');
|
||||
SELECT COUNT(*) FROM t1 GROUP BY TIME_TO_SEC(a);
|
||||
COUNT(*)
|
||||
2
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: ''
|
||||
Warning 1292 Truncated incorrect time value: ''
|
||||
Warning 1292 Truncated incorrect time value: ''
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug#57039: constant subtime expression returns incorrect result.
|
||||
|
@ -30,6 +30,7 @@ FILES TABLE_SCHEMA
|
||||
GLOBAL_STATUS VARIABLE_NAME
|
||||
GLOBAL_VARIABLES VARIABLE_NAME
|
||||
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
||||
PARAMETERS SPECIFIC_SCHEMA
|
||||
PARTITIONS TABLE_SCHEMA
|
||||
PLUGINS PLUGIN_NAME
|
||||
PROCESSLIST ID
|
||||
@ -42,6 +43,7 @@ SESSION_STATUS VARIABLE_NAME
|
||||
SESSION_VARIABLES VARIABLE_NAME
|
||||
STATISTICS TABLE_SCHEMA
|
||||
TABLES TABLE_SCHEMA
|
||||
TABLESPACES TABLESPACE_NAME
|
||||
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
||||
TABLE_PRIVILEGES TABLE_SCHEMA
|
||||
TRIGGERS TRIGGER_SCHEMA
|
||||
@ -74,6 +76,7 @@ FILES TABLE_SCHEMA
|
||||
GLOBAL_STATUS VARIABLE_NAME
|
||||
GLOBAL_VARIABLES VARIABLE_NAME
|
||||
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
||||
PARAMETERS SPECIFIC_SCHEMA
|
||||
PARTITIONS TABLE_SCHEMA
|
||||
PLUGINS PLUGIN_NAME
|
||||
PROCESSLIST ID
|
||||
@ -86,6 +89,7 @@ SESSION_STATUS VARIABLE_NAME
|
||||
SESSION_VARIABLES VARIABLE_NAME
|
||||
STATISTICS TABLE_SCHEMA
|
||||
TABLES TABLE_SCHEMA
|
||||
TABLESPACES TABLESPACE_NAME
|
||||
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
||||
TABLE_PRIVILEGES TABLE_SCHEMA
|
||||
TRIGGERS TRIGGER_SCHEMA
|
||||
|
@ -88,7 +88,7 @@ host
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
|
@ -45,3 +45,227 @@ p1
|
||||
max=1
|
||||
drop procedure p1;
|
||||
drop table t1;
|
||||
CREATE TABLE slow (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO slow(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO slow(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO slow(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO slow(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM slow ORDER BY slow;
|
||||
slow general master_heartbeat_period ignore_server_ids
|
||||
1 2 3 4
|
||||
1 2 3 NULL
|
||||
1 2 NULL NULL
|
||||
1 NULL NULL NULL
|
||||
5 6 7 8
|
||||
5 6 7 NULL
|
||||
5 6 NULL NULL
|
||||
5 NULL NULL NULL
|
||||
SELECT slow, general, master_heartbeat_period FROM slow ORDER BY slow;
|
||||
slow general master_heartbeat_period
|
||||
1 2 3
|
||||
1 2 3
|
||||
1 2 NULL
|
||||
1 NULL NULL
|
||||
5 6 7
|
||||
5 6 7
|
||||
5 6 NULL
|
||||
5 NULL NULL
|
||||
SELECT slow, master_heartbeat_period FROM slow ORDER BY slow;
|
||||
slow master_heartbeat_period
|
||||
1 3
|
||||
1 3
|
||||
1 NULL
|
||||
1 NULL
|
||||
5 7
|
||||
5 7
|
||||
5 NULL
|
||||
5 NULL
|
||||
SELECT slow FROM slow ORDER BY slow;
|
||||
slow
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
DROP TABLE slow;
|
||||
CREATE TABLE general (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO general(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO general(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO general(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO general(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM general ORDER BY slow;
|
||||
slow general master_heartbeat_period ignore_server_ids
|
||||
1 2 3 4
|
||||
1 2 3 NULL
|
||||
1 2 NULL NULL
|
||||
1 NULL NULL NULL
|
||||
5 6 7 8
|
||||
5 6 7 NULL
|
||||
5 6 NULL NULL
|
||||
5 NULL NULL NULL
|
||||
SELECT slow, general, master_heartbeat_period FROM general ORDER BY slow;
|
||||
slow general master_heartbeat_period
|
||||
1 2 3
|
||||
1 2 3
|
||||
1 2 NULL
|
||||
1 NULL NULL
|
||||
5 6 7
|
||||
5 6 7
|
||||
5 6 NULL
|
||||
5 NULL NULL
|
||||
SELECT slow, master_heartbeat_period FROM general ORDER BY slow;
|
||||
slow master_heartbeat_period
|
||||
1 3
|
||||
1 3
|
||||
1 NULL
|
||||
1 NULL
|
||||
5 7
|
||||
5 7
|
||||
5 NULL
|
||||
5 NULL
|
||||
SELECT slow FROM general ORDER BY slow;
|
||||
slow
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
DROP TABLE general;
|
||||
CREATE TABLE master_heartbeat_period (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO master_heartbeat_period(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO master_heartbeat_period(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO master_heartbeat_period(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM master_heartbeat_period ORDER BY slow;
|
||||
slow general master_heartbeat_period ignore_server_ids
|
||||
1 2 3 4
|
||||
1 2 3 NULL
|
||||
1 2 NULL NULL
|
||||
1 NULL NULL NULL
|
||||
5 6 7 8
|
||||
5 6 7 NULL
|
||||
5 6 NULL NULL
|
||||
5 NULL NULL NULL
|
||||
SELECT slow, general, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
|
||||
slow general master_heartbeat_period
|
||||
1 2 3
|
||||
1 2 3
|
||||
1 2 NULL
|
||||
1 NULL NULL
|
||||
5 6 7
|
||||
5 6 7
|
||||
5 6 NULL
|
||||
5 NULL NULL
|
||||
SELECT slow, master_heartbeat_period FROM master_heartbeat_period ORDER BY slow;
|
||||
slow master_heartbeat_period
|
||||
1 3
|
||||
1 3
|
||||
1 NULL
|
||||
1 NULL
|
||||
5 7
|
||||
5 7
|
||||
5 NULL
|
||||
5 NULL
|
||||
SELECT slow FROM master_heartbeat_period ORDER BY slow;
|
||||
slow
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
DROP TABLE master_heartbeat_period;
|
||||
CREATE TABLE ignore_server_ids (slow INT, general INT, master_heartbeat_period INT, ignore_server_ids INT);
|
||||
INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period, ignore_server_ids) VALUES (1,2,3,4), (5,6,7,8);
|
||||
INSERT INTO ignore_server_ids(slow, general, master_heartbeat_period) VALUES (1,2,3), (5,6,7);
|
||||
INSERT INTO ignore_server_ids(slow, general) VALUES (1,2), (5,6);
|
||||
INSERT INTO ignore_server_ids(slow) VALUES (1), (5);
|
||||
SELECT slow, general, master_heartbeat_period, ignore_server_ids FROM ignore_server_ids ORDER BY slow;
|
||||
slow general master_heartbeat_period ignore_server_ids
|
||||
1 2 3 4
|
||||
1 2 3 NULL
|
||||
1 2 NULL NULL
|
||||
1 NULL NULL NULL
|
||||
5 6 7 8
|
||||
5 6 7 NULL
|
||||
5 6 NULL NULL
|
||||
5 NULL NULL NULL
|
||||
SELECT slow, general, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
|
||||
slow general master_heartbeat_period
|
||||
1 2 3
|
||||
1 2 3
|
||||
1 2 NULL
|
||||
1 NULL NULL
|
||||
5 6 7
|
||||
5 6 7
|
||||
5 6 NULL
|
||||
5 NULL NULL
|
||||
SELECT slow, master_heartbeat_period FROM ignore_server_ids ORDER BY slow;
|
||||
slow master_heartbeat_period
|
||||
1 3
|
||||
1 3
|
||||
1 NULL
|
||||
1 NULL
|
||||
5 7
|
||||
5 7
|
||||
5 NULL
|
||||
5 NULL
|
||||
SELECT slow FROM ignore_server_ids ORDER BY slow;
|
||||
slow
|
||||
1
|
||||
1
|
||||
1
|
||||
1
|
||||
5
|
||||
5
|
||||
5
|
||||
5
|
||||
DROP TABLE ignore_server_ids;
|
||||
CREATE TABLE t1 (slow INT, general INT, ignore_server_ids INT, master_heartbeat_period INT);
|
||||
INSERT INTO t1 VALUES (1,2,3,4);
|
||||
CREATE PROCEDURE p1()
|
||||
BEGIN
|
||||
DECLARE slow INT;
|
||||
DECLARE general INT;
|
||||
DECLARE ignore_server_ids INT;
|
||||
DECLARE master_heartbeat_period INT;
|
||||
SELECT max(t1.slow) INTO slow FROM t1;
|
||||
SELECT max(t1.general) INTO general FROM t1;
|
||||
SELECT max(t1.ignore_server_ids) INTO ignore_server_ids FROM t1;
|
||||
SELECT max(t1.master_heartbeat_period) INTO master_heartbeat_period FROM t1;
|
||||
SELECT slow, general, ignore_server_ids, master_heartbeat_period;
|
||||
END|
|
||||
CREATE PROCEDURE p2()
|
||||
BEGIN
|
||||
DECLARE n INT DEFAULT 2;
|
||||
general: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE general;
|
||||
SET n = 2;
|
||||
slow: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE slow;
|
||||
SET n = 2;
|
||||
ignore_server_ids: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE ignore_server_ids;
|
||||
SET n = 2;
|
||||
master_heartbeat_period: WHILE n > 0 DO
|
||||
SET n = n -1;
|
||||
END WHILE master_heartbeat_period;
|
||||
END|
|
||||
CALL p1();
|
||||
slow general ignore_server_ids master_heartbeat_period
|
||||
1 2 3 4
|
||||
call p2();
|
||||
DROP PROCEDURE p1;
|
||||
DROP PROCEDURE p2;
|
||||
DROP TABLE t1;
|
||||
|
@ -896,6 +896,16 @@ TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - KEY', f1,f2,f3,SLEEP(1.1) FROM t1
|
||||
TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - PK', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f1=2
|
||||
DROP TABLE t1;
|
||||
TRUNCATE TABLE mysql.slow_log;
|
||||
use mysql;
|
||||
drop table if exists renamed_general_log;
|
||||
drop table if exists renamed_slow_log;
|
||||
RENAME TABLE general_log TO renamed_general_log;
|
||||
ERROR HY000: Cannot rename 'general_log'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to 'general_log'
|
||||
RENAME TABLE slow_log TO renamed_slow_log;
|
||||
ERROR HY000: Cannot rename 'slow_log'. When logging enabled, rename to/from log table must rename two tables: the log table to an archive table and another table back to 'slow_log'
|
||||
use test;
|
||||
flush tables with read lock;
|
||||
unlock tables;
|
||||
SET @@session.long_query_time= @old_long_query_time;
|
||||
SET @@global.log_output= @old_log_output;
|
||||
SET @@global.slow_query_log= @old_slow_query_log;
|
||||
|
@ -27,7 +27,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.renamed_general_log OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
|
@ -15,7 +15,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@ -44,7 +44,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@ -73,7 +73,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@ -104,7 +104,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@ -139,7 +139,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
@ -177,7 +177,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
|
@ -17,7 +17,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log OK
|
||||
mysql.tables_priv OK
|
||||
|
@ -879,3 +879,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||
End of 5.0 tests
|
||||
End of 5.1 tests
|
||||
# Expect deprecation warning.
|
||||
WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
|
||||
# Expect deprecation warning again.
|
||||
WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
|
||||
|
@ -18,7 +18,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
note : The storage engine for the table doesn't support analyze
|
||||
@ -46,7 +46,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
note : The storage engine for the table doesn't support optimize
|
||||
@ -72,7 +72,7 @@ mysql.ndb_binlog_index OK
|
||||
mysql.plugin OK
|
||||
mysql.proc OK
|
||||
mysql.procs_priv OK
|
||||
mysql.proxy_priv OK
|
||||
mysql.proxies_priv OK
|
||||
mysql.servers OK
|
||||
mysql.slow_log
|
||||
note : The storage engine for the table doesn't support analyze
|
||||
@ -98,7 +98,7 @@ mysql.ndb_binlog_index Table is already up to date
|
||||
mysql.plugin Table is already up to date
|
||||
mysql.proc Table is already up to date
|
||||
mysql.procs_priv Table is already up to date
|
||||
mysql.proxy_priv Table is already up to date
|
||||
mysql.proxies_priv Table is already up to date
|
||||
mysql.servers Table is already up to date
|
||||
mysql.slow_log
|
||||
note : The storage engine for the table doesn't support optimize
|
||||
|
@ -19,6 +19,7 @@ The following options may be given as the first argument:
|
||||
--auto-increment-offset[=#]
|
||||
Offset added to Auto-increment columns. Used when
|
||||
auto-increment-increment != 1
|
||||
--autocommit Set default value for autocommit (0 or 1)
|
||||
--automatic-sp-privileges
|
||||
Creating and dropping stored procedures alters ACLs
|
||||
(Defaults to on; use --skip-automatic-sp-privileges to disable.)
|
||||
|
@ -19,6 +19,7 @@ The following options may be given as the first argument:
|
||||
--auto-increment-offset[=#]
|
||||
Offset added to Auto-increment columns. Used when
|
||||
auto-increment-increment != 1
|
||||
--autocommit Set default value for autocommit (0 or 1)
|
||||
--automatic-sp-privileges
|
||||
Creating and dropping stored procedures alters ACLs
|
||||
(Defaults to on; use --skip-automatic-sp-privileges to disable.)
|
||||
|
@ -14,3 +14,32 @@ flush privileges;
|
||||
ERROR HY000: Table 'host' was not locked with LOCK TABLES
|
||||
unlock tables;
|
||||
drop table t1;
|
||||
#
|
||||
# Bug#54812: assert in Diagnostics_area::set_ok_status during EXPLAIN
|
||||
#
|
||||
CREATE USER nopriv_user@localhost;
|
||||
connection: default
|
||||
DROP TABLE IF EXISTS t1,t2,t3;
|
||||
DROP FUNCTION IF EXISTS f;
|
||||
CREATE TABLE t1 (key1 INT PRIMARY KEY);
|
||||
CREATE TABLE t2 (key2 INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
CREATE FUNCTION f() RETURNS INT RETURN 1;
|
||||
GRANT FILE ON *.* TO 'nopriv_user'@'localhost';
|
||||
FLUSH PRIVILEGES;
|
||||
connection: con1
|
||||
SELECT MAX(key1) FROM t1 WHERE f() < 1 INTO OUTFILE 'mytest';
|
||||
ERROR 42000: execute command denied to user 'nopriv_user'@'localhost' for routine 'test.f'
|
||||
INSERT INTO t2 SELECT MAX(key1) FROM t1 WHERE f() < 1;
|
||||
ERROR 42000: execute command denied to user 'nopriv_user'@'localhost' for routine 'test.f'
|
||||
SELECT MAX(key1) INTO @dummy FROM t1 WHERE f() < 1;
|
||||
ERROR 42000: execute command denied to user 'nopriv_user'@'localhost' for routine 'test.f'
|
||||
CREATE TABLE t3 (i INT) AS SELECT MAX(key1) FROM t1 WHERE f() < 1;
|
||||
ERROR 42000: execute command denied to user 'nopriv_user'@'localhost' for routine 'test.f'
|
||||
connection: default
|
||||
DROP TABLE t1,t2;
|
||||
DROP FUNCTION f;
|
||||
DROP USER nopriv_user@localhost;
|
||||
#
|
||||
# End Bug#54812
|
||||
#
|
||||
|
@ -1,5 +1,38 @@
|
||||
drop table if exists t1, t2;
|
||||
#
|
||||
# Bug#57778: failed primary key add to partitioned innodb table
|
||||
# inconsistent and crashes
|
||||
#
|
||||
CREATE TABLE t1 (a INT NOT NULL, b INT NOT NULL)
|
||||
PARTITION BY KEY (a) PARTITIONS 2;
|
||||
INSERT INTO t1 VALUES (0,1), (0,2);
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (a);
|
||||
ERROR 23000: Duplicate entry '0' for key 'PRIMARY'
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) NOT NULL,
|
||||
`b` int(11) NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
/*!50100 PARTITION BY KEY (a)
|
||||
PARTITIONS 2 */
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
0 1
|
||||
0 2
|
||||
UPDATE t1 SET a = 1, b = 1 WHERE a = 0 AND b = 2;
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (a);
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 1
|
||||
0 1
|
||||
ALTER TABLE t1 DROP PRIMARY KEY;
|
||||
SELECT * FROM t1;
|
||||
a b
|
||||
1 1
|
||||
0 1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#57113: ha_partition::extra(ha_extra_function):
|
||||
# Assertion `m_extra_cache' failed
|
||||
CREATE TABLE t1
|
||||
|
@ -11,6 +11,26 @@ test_plugin_server plug_dest
|
||||
## test plugin auth
|
||||
ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
|
||||
GRANT PROXY ON plug_dest TO plug;
|
||||
test proxies_priv columns
|
||||
SELECT * FROM mysql.proxies_priv;
|
||||
Host User Proxied_host Proxied_user With_grant Grantor Timestamp
|
||||
xx root 1 xx
|
||||
xx root 1 xx
|
||||
xx plug % plug_dest 0 root@localhost xx
|
||||
test mysql.proxies_priv;
|
||||
SHOW CREATE TABLE mysql.proxies_priv;
|
||||
Table Create Table
|
||||
proxies_priv CREATE TABLE `proxies_priv` (
|
||||
`Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`Proxied_host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`Proxied_user` char(16) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`With_grant` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`Grantor` char(77) COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
`Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
PRIMARY KEY (`Host`,`User`,`Proxied_host`,`Proxied_user`),
|
||||
KEY `Grantor` (`Grantor`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User proxy privileges'
|
||||
select USER(),CURRENT_USER();
|
||||
USER() CURRENT_USER()
|
||||
plug@localhost plug_dest@%
|
||||
@ -146,8 +166,8 @@ Grants for test_drop@localhost
|
||||
GRANT USAGE ON *.* TO 'test_drop'@'localhost'
|
||||
GRANT PROXY ON 'future_user'@'%' TO 'test_drop'@'localhost'
|
||||
DROP USER test_drop@localhost;
|
||||
SELECT * FROM mysql.proxy_priv WHERE Host = 'test_drop' AND User = 'localhost';
|
||||
Host User Proxied_Host Proxied_User With_Grant
|
||||
SELECT * FROM mysql.proxies_priv WHERE Host = 'test_drop' AND User = 'localhost';
|
||||
Host User Proxied_host Proxied_user With_grant Grantor Timestamp
|
||||
DROP USER proxy_admin;
|
||||
DROP USER grant_plug,grant_plug_dest,grant_plug_dest2;
|
||||
## END GRANT PROXY tests
|
||||
|
@ -3202,6 +3202,510 @@ test1
|
||||
DROP PROCEDURE p1;
|
||||
DROP PROCEDURE p2;
|
||||
|
||||
TINYINT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v TINYINT)
|
||||
SET v = 127;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` bigint(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 127;
|
||||
@a @a = 127
|
||||
127 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
SMALLINT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v SMALLINT)
|
||||
SET v = 32767;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` bigint(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 32767;
|
||||
@a @a = 32767
|
||||
32767 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
MEDIUMINT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v MEDIUMINT)
|
||||
SET v = 8388607;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` bigint(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 8388607;
|
||||
@a @a = 8388607
|
||||
8388607 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
INT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v INT)
|
||||
SET v = 2147483647;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` bigint(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 2147483647;
|
||||
@a @a = 2147483647
|
||||
2147483647 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
BIGINT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v BIGINT)
|
||||
SET v = 9223372036854775807;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` bigint(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 9223372036854775807;
|
||||
@a @a = 9223372036854775807
|
||||
9223372036854775807 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
BIT(11)
|
||||
|
||||
CREATE PROCEDURE p1(OUT v BIT(11))
|
||||
SET v = b'10100100101';
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` bigint(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = b'10100100101';
|
||||
@a @a = b'10100100101'
|
||||
1317 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
TIMESTAMP
|
||||
|
||||
CREATE PROCEDURE p1(OUT v TIMESTAMP)
|
||||
SET v = '2007-11-18 15:01:02';
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = '2007-11-18 15:01:02';
|
||||
@a @a = '2007-11-18 15:01:02'
|
||||
2007-11-18 15:01:02 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
DATETIME
|
||||
|
||||
CREATE PROCEDURE p1(OUT v DATETIME)
|
||||
SET v = '1234-11-12 12:34:59';
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = '1234-11-12 12:34:59';
|
||||
@a @a = '1234-11-12 12:34:59'
|
||||
1234-11-12 12:34:59 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
TIME
|
||||
|
||||
CREATE PROCEDURE p1(OUT v TIME)
|
||||
SET v = '123:45:01';
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = '123:45:01';
|
||||
@a @a = '123:45:01'
|
||||
123:45:01 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
DATE
|
||||
|
||||
CREATE PROCEDURE p1(OUT v DATE)
|
||||
SET v = '1234-11-12';
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = '1234-11-12';
|
||||
@a @a = '1234-11-12'
|
||||
1234-11-12 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
YEAR
|
||||
|
||||
CREATE PROCEDURE p1(OUT v YEAR)
|
||||
SET v = 2010;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` bigint(20) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 2010;
|
||||
@a @a = 2010
|
||||
2010 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
FLOAT(7, 4)
|
||||
|
||||
CREATE PROCEDURE p1(OUT v FLOAT(7, 4))
|
||||
SET v = 123.4567;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` double DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a - 123.4567 < 0.00001;
|
||||
@a @a - 123.4567 < 0.00001
|
||||
123.45670318603516 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
DOUBLE(8, 5)
|
||||
|
||||
CREATE PROCEDURE p1(OUT v DOUBLE(8, 5))
|
||||
SET v = 123.45678;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` double DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a - 123.45678 < 0.000001;
|
||||
@a @a - 123.45678 < 0.000001
|
||||
123.45678 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
DECIMAL(9, 6)
|
||||
|
||||
CREATE PROCEDURE p1(OUT v DECIMAL(9, 6))
|
||||
SET v = 123.456789;
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` decimal(65,30) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 123.456789;
|
||||
@a @a = 123.456789
|
||||
123.456789 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
CHAR(32)
|
||||
|
||||
CREATE PROCEDURE p1(OUT v CHAR(32))
|
||||
SET v = REPEAT('a', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('a', 16);
|
||||
@a @a = REPEAT('a', 16)
|
||||
aaaaaaaaaaaaaaaa 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
VARCHAR(32)
|
||||
|
||||
CREATE PROCEDURE p1(OUT v VARCHAR(32))
|
||||
SET v = REPEAT('b', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('b', 16);
|
||||
@a @a = REPEAT('b', 16)
|
||||
bbbbbbbbbbbbbbbb 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
TINYTEXT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v TINYTEXT)
|
||||
SET v = REPEAT('c', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('c', 16);
|
||||
@a @a = REPEAT('c', 16)
|
||||
cccccccccccccccc 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
TEXT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v TEXT)
|
||||
SET v = REPEAT('d', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('d', 16);
|
||||
@a @a = REPEAT('d', 16)
|
||||
dddddddddddddddd 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
MEDIUMTEXT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v MEDIUMTEXT)
|
||||
SET v = REPEAT('e', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('e', 16);
|
||||
@a @a = REPEAT('e', 16)
|
||||
eeeeeeeeeeeeeeee 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
LONGTEXT
|
||||
|
||||
CREATE PROCEDURE p1(OUT v LONGTEXT)
|
||||
SET v = REPEAT('f', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('f', 16);
|
||||
@a @a = REPEAT('f', 16)
|
||||
ffffffffffffffff 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
BINARY(32)
|
||||
|
||||
CREATE PROCEDURE p1(OUT v BINARY(32))
|
||||
SET v = REPEAT('g', 32);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('g', 32);
|
||||
@a @a = REPEAT('g', 32)
|
||||
gggggggggggggggggggggggggggggggg 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
VARBINARY(32)
|
||||
|
||||
CREATE PROCEDURE p1(OUT v VARBINARY(32))
|
||||
SET v = REPEAT('h', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('h', 16);
|
||||
@a @a = REPEAT('h', 16)
|
||||
hhhhhhhhhhhhhhhh 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
TINYBLOB
|
||||
|
||||
CREATE PROCEDURE p1(OUT v TINYBLOB)
|
||||
SET v = REPEAT('i', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('i', 16);
|
||||
@a @a = REPEAT('i', 16)
|
||||
iiiiiiiiiiiiiiii 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
BLOB
|
||||
|
||||
CREATE PROCEDURE p1(OUT v BLOB)
|
||||
SET v = REPEAT('j', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('j', 16);
|
||||
@a @a = REPEAT('j', 16)
|
||||
jjjjjjjjjjjjjjjj 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
MEDIUMBLOB
|
||||
|
||||
CREATE PROCEDURE p1(OUT v MEDIUMBLOB)
|
||||
SET v = REPEAT('k', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('k', 16);
|
||||
@a @a = REPEAT('k', 16)
|
||||
kkkkkkkkkkkkkkkk 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
LONGBLOB
|
||||
|
||||
CREATE PROCEDURE p1(OUT v LONGBLOB)
|
||||
SET v = REPEAT('l', 16);
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = REPEAT('l', 16);
|
||||
@a @a = REPEAT('l', 16)
|
||||
llllllllllllllll 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
SET('aaa', 'bbb')
|
||||
|
||||
CREATE PROCEDURE p1(OUT v SET('aaa', 'bbb'))
|
||||
SET v = 'aaa';
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 'aaa';
|
||||
@a @a = 'aaa'
|
||||
aaa 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
ENUM('aaa', 'bbb')
|
||||
|
||||
CREATE PROCEDURE p1(OUT v ENUM('aaa', 'bbb'))
|
||||
SET v = 'aaa';
|
||||
PREPARE stmt1 FROM 'CALL p1(?)';
|
||||
EXECUTE stmt1 USING @a;
|
||||
CREATE TEMPORARY TABLE tmp1 AS SELECT @a AS c1;
|
||||
SHOW CREATE TABLE tmp1;
|
||||
Table Create Table
|
||||
tmp1 CREATE TEMPORARY TABLE `tmp1` (
|
||||
`c1` longblob
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT @a, @a = 'aaa';
|
||||
@a @a = 'aaa'
|
||||
aaa 1
|
||||
DROP TEMPORARY TABLE tmp1;
|
||||
DROP PROCEDURE p1;
|
||||
|
||||
# End of WL#4435.
|
||||
#
|
||||
# WL#4284: Transactional DDL locking
|
||||
|
@ -75,4 +75,40 @@ CALL p1 ();
|
||||
ERROR HY000: Trigger does not exist
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# Bug#54375: Error in stored procedure leaves connection
|
||||
# in different default schema
|
||||
#
|
||||
SET @@SQL_MODE = 'STRICT_ALL_TABLES';
|
||||
DROP DATABASE IF EXISTS db1;
|
||||
CREATE DATABASE db1;
|
||||
USE db1;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1 (c1 int NOT NULL PRIMARY KEY);
|
||||
INSERT INTO t1 VALUES (1);
|
||||
CREATE FUNCTION f1 (
|
||||
some_value int
|
||||
)
|
||||
RETURNS smallint
|
||||
DETERMINISTIC
|
||||
BEGIN
|
||||
INSERT INTO t1 SET c1 = some_value;
|
||||
RETURN(LAST_INSERT_ID());
|
||||
END$$
|
||||
DROP DATABASE IF EXISTS db2;
|
||||
CREATE DATABASE db2;
|
||||
USE db2;
|
||||
SELECT DATABASE();
|
||||
DATABASE()
|
||||
db2
|
||||
SELECT db1.f1(1);
|
||||
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
||||
SELECT DATABASE();
|
||||
DATABASE()
|
||||
db2
|
||||
USE test;
|
||||
DROP FUNCTION db1.f1;
|
||||
DROP TABLE db1.t1;
|
||||
DROP DATABASE db1;
|
||||
DROP DATABASE db2;
|
||||
End of 5.1 tests
|
||||
|
@ -5005,3 +5005,15 @@ 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
|
||||
#
|
||||
# Bug #57704: Cleanup code dies with void TABLE::set_keyread(bool):
|
||||
# Assertion `file' failed.
|
||||
#
|
||||
CREATE TABLE t1 (a INT);
|
||||
SELECT 1 FROM
|
||||
(SELECT ROW(
|
||||
(SELECT 1 FROM t1 RIGHT JOIN
|
||||
(SELECT 1 FROM t1, t1 t2) AS d ON 1),
|
||||
1) FROM t1) AS e;
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
DROP TABLE t1;
|
||||
|
@ -14,7 +14,7 @@ ndb_binlog_index
|
||||
plugin
|
||||
proc
|
||||
procs_priv
|
||||
proxy_priv
|
||||
proxies_priv
|
||||
servers
|
||||
slow_log
|
||||
tables_priv
|
||||
|
@ -975,4 +975,14 @@ SELECT LENGTH(c) FROM t2;
|
||||
LENGTH(c)
|
||||
65535
|
||||
DROP TABLE t1, t2;
|
||||
# Bug #52160: crash and inconsistent results when grouping
|
||||
# by a function and column
|
||||
CREATE FUNCTION f1() RETURNS TINYBLOB RETURN 1;
|
||||
CREATE TABLE t1(a CHAR(1));
|
||||
INSERT INTO t1 VALUES ('0'), ('0');
|
||||
SELECT COUNT(*) FROM t1 GROUP BY f1(), a;
|
||||
COUNT(*)
|
||||
2
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
@ -1,20 +1,20 @@
|
||||
SET SESSION transaction_prealloc_size=1024*1024*1024*1;
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info
|
||||
<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
|
||||
<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
|
||||
SET SESSION transaction_prealloc_size=1024*1024*1024*2;
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info
|
||||
<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
|
||||
<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
|
||||
SET SESSION transaction_prealloc_size=1024*1024*1024*3;
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info
|
||||
<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
|
||||
<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
|
||||
SET SESSION transaction_prealloc_size=1024*1024*1024*4;
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info
|
||||
<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
|
||||
<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
|
||||
SET SESSION transaction_prealloc_size=1024*1024*1024*5;
|
||||
SHOW PROCESSLIST;
|
||||
Id User Host db Command Time State Info
|
||||
<Id> root localhost test Query <Time> NULL SHOW PROCESSLIST
|
||||
<Id> root <Host> test Query <Time> NULL SHOW PROCESSLIST
|
||||
|
95
mysql-test/std_data/bug57108.cnf
Normal file
95
mysql-test/std_data/bug57108.cnf
Normal file
@ -0,0 +1,95 @@
|
||||
[mysqld]
|
||||
open-files-limit=1024
|
||||
character-set-server=latin1
|
||||
connect-timeout=4711
|
||||
log-bin-trust-function-creators=1
|
||||
key_buffer_size=1M
|
||||
sort_buffer=256K
|
||||
max_heap_table_size=1M
|
||||
loose-innodb_data_file_path=ibdata1:10M:autoextend
|
||||
loose-innodb_buffer_pool_size=8M
|
||||
loose-innodb_write_io_threads=2
|
||||
loose-innodb_read_io_threads=2
|
||||
loose-innodb_log_buffer_size=1M
|
||||
loose-innodb_log_file_size=5M
|
||||
loose-innodb_additional_mem_pool_size=1M
|
||||
loose-innodb_log_files_in_group=2
|
||||
slave-net-timeout=120
|
||||
log-bin=mysqld-bin
|
||||
loose-enable-performance-schema
|
||||
loose-performance-schema-max-mutex-instances=10000
|
||||
loose-performance-schema-max-rwlock-instances=10000
|
||||
loose-performance-schema-max-table-instances=500
|
||||
loose-performance-schema-max-table-handles=1000
|
||||
binlog-direct-non-transactional-updates
|
||||
|
||||
[mysql]
|
||||
default-character-set=latin1
|
||||
|
||||
[mysqlshow]
|
||||
default-character-set=latin1
|
||||
|
||||
[mysqlimport]
|
||||
default-character-set=latin1
|
||||
|
||||
[mysqlcheck]
|
||||
default-character-set=latin1
|
||||
|
||||
[mysql_upgrade]
|
||||
default-character-set=latin1
|
||||
tmpdir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp
|
||||
|
||||
[mysqld.1]
|
||||
#!run-master-sh
|
||||
log-bin=master-bin
|
||||
loose-enable-performance-schema
|
||||
basedir=/home/bzr/bugs/b57108-5.5-bugteam
|
||||
tmpdir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1
|
||||
character-sets-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/charsets
|
||||
lc-messages-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/
|
||||
datadir=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/data
|
||||
pid-file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/run/mysqld.1.pid
|
||||
#host=localhost
|
||||
port=13000
|
||||
socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
|
||||
#log-error=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/log/mysqld.1.err
|
||||
general_log=1
|
||||
general_log_file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/mysqld.log
|
||||
slow_query_log=1
|
||||
slow_query_log_file=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/mysqld.1/mysqld-slow.log
|
||||
#user=root
|
||||
#password=
|
||||
server-id=1
|
||||
secure-file-priv=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var
|
||||
ssl-ca=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/cacert.pem
|
||||
ssl-cert=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/server-cert.pem
|
||||
ssl-key=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/server-key.pem
|
||||
|
||||
[mysqlbinlog]
|
||||
disable-force-if-open
|
||||
character-sets-dir=/home/bzr/bugs/b57108-5.5-bugteam/sql/share/charsets
|
||||
|
||||
[ENV]
|
||||
MASTER_MYPORT=13000
|
||||
MASTER_MYSOCK=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
|
||||
|
||||
[client]
|
||||
password=
|
||||
user=root
|
||||
port=13000
|
||||
host=localhost
|
||||
socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
|
||||
|
||||
[mysqltest]
|
||||
ssl-ca=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/cacert.pem
|
||||
ssl-cert=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/client-cert.pem
|
||||
ssl-key=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/std_data/client-key.pem
|
||||
skip-ssl=1
|
||||
|
||||
[client.1]
|
||||
password=
|
||||
user=root
|
||||
port=13000
|
||||
host=localhost
|
||||
socket=/home/bzr/bugs/b57108-5.5-bugteam/mysql-test/var/tmp/mysqld.1.sock
|
||||
|
1
mysql-test/suite/binlog/t/binlog_index-master.opt
Normal file
1
mysql-test/suite/binlog/t/binlog_index-master.opt
Normal file
@ -0,0 +1 @@
|
||||
--force-restart
|
@ -1 +1,2 @@
|
||||
--max_binlog_size=4096 --default-storage-engine=MyISAM
|
||||
--force-restart
|
||||
|
@ -1 +1,2 @@
|
||||
--binlog-do-db=b42829
|
||||
--force-restart
|
||||
|
5
mysql-test/suite/bugs/r/bug57108.result
Normal file
5
mysql-test/suite/bugs/r/bug57108.result
Normal file
@ -0,0 +1,5 @@
|
||||
INSTALL PLUGIN example SONAME 'ha_example.so';
|
||||
SELECT @@global.connect_timeout AS connect_timeout, @@global.local_infile AS local_infile;
|
||||
connect_timeout 4711
|
||||
local_infile 1
|
||||
UNINSTALL PLUGIN example;
|
2
mysql-test/suite/bugs/t/bug57108-master.opt
Normal file
2
mysql-test/suite/bugs/t/bug57108-master.opt
Normal file
@ -0,0 +1,2 @@
|
||||
--defaults-file=std_data/bug57108.cnf
|
||||
$EXAMPLE_PLUGIN_OPT
|
12
mysql-test/suite/bugs/t/bug57108.test
Normal file
12
mysql-test/suite/bugs/t/bug57108.test
Normal file
@ -0,0 +1,12 @@
|
||||
--source include/not_windows_embedded.inc
|
||||
--source include/have_example_plugin.inc
|
||||
|
||||
# Test that we can install a plugin despite the fact that we have
|
||||
# switched directory after starting the server and am using a relative
|
||||
# --defaults-file.
|
||||
--replace_regex /\.dll/.so/
|
||||
eval INSTALL PLUGIN example SONAME $HA_EXAMPLE_SO;
|
||||
|
||||
--query_vertical SELECT @@global.connect_timeout AS connect_timeout, @@global.local_infile AS local_infile
|
||||
|
||||
UNINSTALL PLUGIN example;
|
@ -134,11 +134,13 @@ def mysql procs_priv Routine_name 4 NO char 64 192 NULL NULL utf8 utf8_general_
|
||||
def mysql procs_priv Routine_type 5 NULL NO enum 9 27 NULL NULL utf8 utf8_bin enum('FUNCTION','PROCEDURE') PRI select,insert,update,references
|
||||
def mysql procs_priv Timestamp 8 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
|
||||
def mysql procs_priv User 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxy_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
|
||||
def mysql proxy_priv Proxied_Host 3 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxy_priv Proxied_User 4 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
|
||||
def mysql proxy_priv User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxy_priv With_Grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
|
||||
def mysql proxies_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL select,insert,update,references
|
||||
def mysql proxies_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
|
||||
def mysql proxies_priv Proxied_host 3 NO char 60 180 NULL NULL utf8 utf8_bin char(60) PRI select,insert,update,references
|
||||
def mysql proxies_priv Proxied_user 4 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxies_priv Timestamp 7 CURRENT_TIMESTAMP NO timestamp NULL NULL NULL NULL NULL NULL timestamp on update CURRENT_TIMESTAMP select,insert,update,references
|
||||
def mysql proxies_priv User 2 NO char 16 48 NULL NULL utf8 utf8_bin char(16) PRI select,insert,update,references
|
||||
def mysql proxies_priv With_grant 5 0 NO tinyint NULL NULL 3 0 NULL NULL tinyint(1) select,insert,update,references
|
||||
def mysql servers Db 3 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
|
||||
def mysql servers Host 2 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
|
||||
def mysql servers Owner 9 NO char 64 192 NULL NULL utf8 utf8_general_ci char(64) select,insert,update,references
|
||||
@ -425,11 +427,13 @@ NULL mysql proc modified timestamp NULL NULL NULL NULL timestamp
|
||||
3.0000 mysql procs_priv Grantor char 77 231 utf8 utf8_bin char(77)
|
||||
3.0000 mysql procs_priv Proc_priv set 27 81 utf8 utf8_general_ci set('Execute','Alter Routine','Grant')
|
||||
NULL mysql procs_priv Timestamp timestamp NULL NULL NULL NULL timestamp
|
||||
3.0000 mysql proxy_priv Host char 60 180 utf8 utf8_bin char(60)
|
||||
3.0000 mysql proxy_priv User char 16 48 utf8 utf8_bin char(16)
|
||||
3.0000 mysql proxy_priv Proxied_Host char 16 48 utf8 utf8_bin char(16)
|
||||
3.0000 mysql proxy_priv Proxied_User char 60 180 utf8 utf8_bin char(60)
|
||||
NULL mysql proxy_priv With_Grant tinyint NULL NULL NULL NULL tinyint(1)
|
||||
3.0000 mysql proxies_priv Host char 60 180 utf8 utf8_bin char(60)
|
||||
3.0000 mysql proxies_priv User char 16 48 utf8 utf8_bin char(16)
|
||||
3.0000 mysql proxies_priv Proxied_host char 60 180 utf8 utf8_bin char(60)
|
||||
3.0000 mysql proxies_priv Proxied_user char 16 48 utf8 utf8_bin char(16)
|
||||
NULL mysql proxies_priv With_grant tinyint NULL NULL NULL NULL tinyint(1)
|
||||
3.0000 mysql proxies_priv Grantor char 77 231 utf8 utf8_bin char(77)
|
||||
NULL mysql proxies_priv Timestamp timestamp NULL NULL NULL NULL timestamp
|
||||
3.0000 mysql servers Server_name char 64 192 utf8 utf8_general_ci char(64)
|
||||
3.0000 mysql servers Host char 64 192 utf8 utf8_general_ci char(64)
|
||||
3.0000 mysql servers Db char 64 192 utf8 utf8_general_ci char(64)
|
||||
|
@ -106,10 +106,10 @@ def mysql PRIMARY def mysql procs_priv Db
|
||||
def mysql PRIMARY def mysql procs_priv User
|
||||
def mysql PRIMARY def mysql procs_priv Routine_name
|
||||
def mysql PRIMARY def mysql procs_priv Routine_type
|
||||
def mysql PRIMARY def mysql proxy_priv Host
|
||||
def mysql PRIMARY def mysql proxy_priv User
|
||||
def mysql PRIMARY def mysql proxy_priv Proxied_Host
|
||||
def mysql PRIMARY def mysql proxy_priv Proxied_User
|
||||
def mysql PRIMARY def mysql proxies_priv Host
|
||||
def mysql PRIMARY def mysql proxies_priv User
|
||||
def mysql PRIMARY def mysql proxies_priv Proxied_host
|
||||
def mysql PRIMARY def mysql proxies_priv Proxied_user
|
||||
def mysql PRIMARY def mysql servers Server_name
|
||||
def mysql PRIMARY def mysql tables_priv Host
|
||||
def mysql PRIMARY def mysql tables_priv Db
|
||||
|
@ -118,10 +118,11 @@ def mysql procs_priv mysql PRIMARY
|
||||
def mysql procs_priv mysql PRIMARY
|
||||
def mysql procs_priv mysql PRIMARY
|
||||
def mysql procs_priv mysql Grantor
|
||||
def mysql proxy_priv mysql PRIMARY
|
||||
def mysql proxy_priv mysql PRIMARY
|
||||
def mysql proxy_priv mysql PRIMARY
|
||||
def mysql proxy_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql PRIMARY
|
||||
def mysql proxies_priv mysql Grantor
|
||||
def mysql servers mysql PRIMARY
|
||||
def mysql tables_priv mysql PRIMARY
|
||||
def mysql tables_priv mysql PRIMARY
|
||||
|
@ -40,10 +40,11 @@ def mysql procs_priv 0 mysql PRIMARY 2 Db A #CARD# NULL NULL BTREE
|
||||
def mysql procs_priv 0 mysql PRIMARY 3 User A #CARD# NULL NULL BTREE
|
||||
def mysql procs_priv 0 mysql PRIMARY 4 Routine_name A #CARD# NULL NULL BTREE
|
||||
def mysql procs_priv 0 mysql PRIMARY 5 Routine_type A #CARD# NULL NULL BTREE
|
||||
def mysql proxy_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
|
||||
def mysql proxy_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
|
||||
def mysql proxy_priv 0 mysql PRIMARY 3 Proxied_Host A #CARD# NULL NULL BTREE
|
||||
def mysql proxy_priv 0 mysql PRIMARY 4 Proxied_User A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 0 mysql PRIMARY 3 Proxied_host A #CARD# NULL NULL BTREE
|
||||
def mysql proxies_priv 0 mysql PRIMARY 4 Proxied_user A #CARD# NULL NULL BTREE
|
||||
def mysql servers 0 mysql PRIMARY 1 Server_name A #CARD# NULL NULL BTREE
|
||||
def mysql tables_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
|
||||
def mysql tables_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
|
||||
|
@ -73,7 +73,7 @@ def mysql PRIMARY mysql ndb_binlog_index
|
||||
def mysql PRIMARY mysql plugin
|
||||
def mysql PRIMARY mysql proc
|
||||
def mysql PRIMARY mysql procs_priv
|
||||
def mysql PRIMARY mysql proxy_priv
|
||||
def mysql PRIMARY mysql proxies_priv
|
||||
def mysql PRIMARY mysql servers
|
||||
def mysql PRIMARY mysql tables_priv
|
||||
def mysql PRIMARY mysql time_zone
|
||||
|
@ -23,7 +23,7 @@ def mysql PRIMARY mysql ndb_binlog_index PRIMARY KEY
|
||||
def mysql PRIMARY mysql plugin PRIMARY KEY
|
||||
def mysql PRIMARY mysql proc PRIMARY KEY
|
||||
def mysql PRIMARY mysql procs_priv PRIMARY KEY
|
||||
def mysql PRIMARY mysql proxy_priv PRIMARY KEY
|
||||
def mysql PRIMARY mysql proxies_priv PRIMARY KEY
|
||||
def mysql PRIMARY mysql servers PRIMARY KEY
|
||||
def mysql PRIMARY mysql tables_priv PRIMARY KEY
|
||||
def mysql PRIMARY mysql time_zone PRIMARY KEY
|
||||
|
@ -336,7 +336,7 @@ user_comment Procedure privileges
|
||||
Separator -----------------------------------------------------
|
||||
TABLE_CATALOG def
|
||||
TABLE_SCHEMA mysql
|
||||
TABLE_NAME proxy_priv
|
||||
TABLE_NAME proxies_priv
|
||||
TABLE_TYPE BASE TABLE
|
||||
ENGINE MyISAM
|
||||
VERSION 10
|
||||
|
@ -1,20 +0,0 @@
|
||||
# Check for IBM i 6.1 or later
|
||||
--disable_query_log
|
||||
system uname -rv > $MYSQLTEST_VARDIR/tmp/version;
|
||||
--disable_warnings
|
||||
drop table if exists uname_vr;
|
||||
--enable_warnings
|
||||
create temporary table uname_vr (r int, v int);
|
||||
--disable_warnings
|
||||
eval LOAD DATA INFILE "$MYSQLTEST_VARDIR/tmp/version" into table uname_vr fields terminated by ' ';
|
||||
--enable_warnings
|
||||
let $ok = `select count(*) from uname_vr where v = 5 and r = 4`;
|
||||
drop table uname_vr;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/version;
|
||||
--enable_query_log
|
||||
if (!$ok)
|
||||
{
|
||||
skip "Need IBM i 5.4 or later";
|
||||
}
|
||||
|
||||
|
@ -1,20 +0,0 @@
|
||||
# Check for IBM i 6.1 or later
|
||||
--disable_query_log
|
||||
system uname -rv > $MYSQLTEST_VARDIR/tmp/version;
|
||||
--disable_warnings
|
||||
drop table if exists uname_vr;
|
||||
--enable_warnings
|
||||
create temporary table uname_vr (r int, v int);
|
||||
--disable_warnings
|
||||
eval LOAD DATA INFILE "$MYSQLTEST_VARDIR/tmp/version" into table uname_vr fields terminated by ' ';
|
||||
--enable_warnings
|
||||
let $ok = `select count(*) from uname_vr where v > 5`;
|
||||
drop table uname_vr;
|
||||
remove_file $MYSQLTEST_VARDIR/tmp/version;
|
||||
--enable_query_log
|
||||
if (!$ok)
|
||||
{
|
||||
skip "Need IBM i 6.1 or later";
|
||||
}
|
||||
|
||||
|
@ -1,6 +0,0 @@
|
||||
if (!`SELECT count(*) FROM information_schema.engines WHERE
|
||||
(support = 'YES' OR support = 'DEFAULT') AND
|
||||
engine = 'ibmdb2i'`)
|
||||
{
|
||||
skip Need ibmdb2i engine;
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
create schema `A12345_@$#`;
|
||||
create table `A12345_@$#`.t1 (i int) engine=ibmdb2i;
|
||||
show create table `A12345_@$#`.t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`i` int(11) DEFAULT NULL
|
||||
) ENGINE=IBMDB2I DEFAULT CHARSET=latin1
|
||||
select * from `A12345_@$#`.t1;
|
||||
i
|
||||
drop table `A12345_@$#`.t1;
|
||||
drop schema `A12345_@$#`;
|
@ -1,4 +0,0 @@
|
||||
create table t1 (c char(10) collate utf8_swedish_ci, index(c)) engine=ibmdb2i;
|
||||
drop table t1;
|
||||
create table t1 (c char(10) collate ucs2_swedish_ci, index(c)) engine=ibmdb2i;
|
||||
drop table t1;
|
@ -1,4 +0,0 @@
|
||||
create table t1 (c char(1) character set armscii8) engine=ibmdb2i;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 2504)
|
||||
create table t1 (c char(1) character set eucjpms ) engine=ibmdb2i;
|
||||
ERROR HY000: Can't create table 'test.t1' (errno: 2504)
|
@ -1,18 +0,0 @@
|
||||
create table ABC (i int) engine=ibmdb2i;
|
||||
drop table ABC;
|
||||
create table `1234567890ABC` (i int) engine=ibmdb2i;
|
||||
drop table `1234567890ABC`;
|
||||
create table `!@#$%` (i int) engine=ibmdb2i;
|
||||
drop table `!@#$%`;
|
||||
create table `ABCD#########` (i int) engine=ibmdb2i;
|
||||
drop table `ABCD#########`;
|
||||
create table `_` (i int) engine=ibmdb2i;
|
||||
drop table `_`;
|
||||
create table `abc##def` (i int) engine=ibmdb2i;
|
||||
drop table `abc##def`;
|
||||
set names utf8;
|
||||
create table İ (s1 int) engine=ibmdb2i;
|
||||
drop table İ;
|
||||
create table İİ (s1 int) engine=ibmdb2i;
|
||||
drop table İİ;
|
||||
set names latin1;
|
@ -1,33 +0,0 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (c char(10), index(c)) collate ucs2_czech_ci engine=ibmdb2i;
|
||||
insert into t1 values ("ch"),("h"),("i");
|
||||
select * from t1 order by c;
|
||||
c
|
||||
h
|
||||
ch
|
||||
i
|
||||
drop table t1;
|
||||
create table t1 (c char(10), index(c)) collate utf8_czech_ci engine=ibmdb2i;
|
||||
insert into t1 values ("ch"),("h"),("i");
|
||||
select * from t1 order by c;
|
||||
c
|
||||
h
|
||||
ch
|
||||
i
|
||||
drop table t1;
|
||||
create table t1 (c char(10), index(c)) collate ucs2_danish_ci engine=ibmdb2i;
|
||||
insert into t1 values("abc"),("abcd"),("aaaa");
|
||||
select c from t1 order by c;
|
||||
c
|
||||
abc
|
||||
abcd
|
||||
aaaa
|
||||
drop table t1;
|
||||
create table t1 (c char(10), index(c)) collate utf8_danish_ci engine=ibmdb2i;
|
||||
insert into t1 values("abc"),("abcd"),("aaaa");
|
||||
select c from t1 order by c;
|
||||
c
|
||||
abc
|
||||
abcd
|
||||
aaaa
|
||||
drop table t1;
|
@ -1,7 +0,0 @@
|
||||
drop table if exists t1;
|
||||
create table t1 (c char(10), index(c)) charset macce engine=ibmdb2i;
|
||||
insert into t1 values ("test");
|
||||
select * from t1 order by c;
|
||||
c
|
||||
test
|
||||
drop table t1;
|
@ -1,20 +0,0 @@
|
||||
set ibmdb2i_create_index_option=1;
|
||||
drop schema if exists test1;
|
||||
create schema test1;
|
||||
use test1;
|
||||
CREATE TABLE t1 (f int primary key, index(f)) engine=ibmdb2i;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (f char(10) collate utf8_bin primary key, index(f)) engine=ibmdb2i;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (f char(10) collate latin1_swedish_ci primary key, index(f)) engine=ibmdb2i;
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (f char(10) collate latin1_swedish_ci primary key, i int, index i(i,f)) engine=ibmdb2i;
|
||||
drop table t1;
|
||||
create table fd (SQSSEQ CHAR(10)) engine=ibmdb2i;
|
||||
select * from fd;
|
||||
SQSSEQ
|
||||
*HEX
|
||||
*HEX
|
||||
*HEX
|
||||
*HEX
|
||||
drop table fd;
|
@ -1,9 +0,0 @@
|
||||
create table ABC (i int) engine=ibmdb2i;
|
||||
insert into ABC values(1);
|
||||
create table abc (i int) engine=ibmdb2i;
|
||||
insert into abc values (2);
|
||||
select * from ABC;
|
||||
i
|
||||
1
|
||||
drop table ABC;
|
||||
drop table abc;
|
File diff suppressed because it is too large
Load Diff
@ -1,9 +0,0 @@
|
||||
source suite/ibmdb2i/include/have_ibmdb2i.inc;
|
||||
source include/have_case_sensitive_file_system.inc;
|
||||
|
||||
create schema `A12345_@$#`;
|
||||
create table `A12345_@$#`.t1 (i int) engine=ibmdb2i;
|
||||
show create table `A12345_@$#`.t1;
|
||||
select * from `A12345_@$#`.t1;
|
||||
drop table `A12345_@$#`.t1;
|
||||
drop schema `A12345_@$#`;
|
@ -1,9 +0,0 @@
|
||||
source suite/ibmdb2i/include/have_ibmdb2i.inc;
|
||||
source suite/ibmdb2i/include/have_i61.inc;
|
||||
|
||||
|
||||
create table t1 (c char(10) collate utf8_swedish_ci, index(c)) engine=ibmdb2i;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (c char(10) collate ucs2_swedish_ci, index(c)) engine=ibmdb2i;
|
||||
drop table t1;
|
@ -1,8 +0,0 @@
|
||||
--source suite/ibmdb2i/include/have_ibmdb2i.inc
|
||||
--source suite/ibmdb2i/include/have_i54.inc
|
||||
|
||||
--error 1005
|
||||
create table t1 (c char(1) character set armscii8) engine=ibmdb2i;
|
||||
|
||||
--error 1005
|
||||
create table t1 (c char(1) character set eucjpms ) engine=ibmdb2i;
|
@ -1,28 +0,0 @@
|
||||
source suite/ibmdb2i/include/have_ibmdb2i.inc;
|
||||
|
||||
# Test RCDFMT generation for a variety of kinds of table names
|
||||
create table ABC (i int) engine=ibmdb2i;
|
||||
drop table ABC;
|
||||
|
||||
create table `1234567890ABC` (i int) engine=ibmdb2i;
|
||||
drop table `1234567890ABC`;
|
||||
|
||||
create table `!@#$%` (i int) engine=ibmdb2i;
|
||||
drop table `!@#$%`;
|
||||
|
||||
create table `ABCD#########` (i int) engine=ibmdb2i;
|
||||
drop table `ABCD#########`;
|
||||
|
||||
create table `_` (i int) engine=ibmdb2i;
|
||||
drop table `_`;
|
||||
|
||||
create table `abc##def` (i int) engine=ibmdb2i;
|
||||
drop table `abc##def`;
|
||||
|
||||
set names utf8;
|
||||
create table İ (s1 int) engine=ibmdb2i;
|
||||
drop table İ;
|
||||
|
||||
create table İİ (s1 int) engine=ibmdb2i;
|
||||
drop table İİ;
|
||||
set names latin1;
|
@ -1,26 +0,0 @@
|
||||
source suite/ibmdb2i/include/have_ibmdb2i.inc;
|
||||
source suite/ibmdb2i/include/have_i61.inc;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
create table t1 (c char(10), index(c)) collate ucs2_czech_ci engine=ibmdb2i;
|
||||
insert into t1 values ("ch"),("h"),("i");
|
||||
select * from t1 order by c;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (c char(10), index(c)) collate utf8_czech_ci engine=ibmdb2i;
|
||||
insert into t1 values ("ch"),("h"),("i");
|
||||
select * from t1 order by c;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (c char(10), index(c)) collate ucs2_danish_ci engine=ibmdb2i;
|
||||
insert into t1 values("abc"),("abcd"),("aaaa");
|
||||
select c from t1 order by c;
|
||||
drop table t1;
|
||||
|
||||
create table t1 (c char(10), index(c)) collate utf8_danish_ci engine=ibmdb2i;
|
||||
insert into t1 values("abc"),("abcd"),("aaaa");
|
||||
select c from t1 order by c;
|
||||
drop table t1;
|
@ -1,11 +0,0 @@
|
||||
source suite/ibmdb2i/include/have_ibmdb2i.inc;
|
||||
source suite/ibmdb2i/include/have_i61.inc;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
|
||||
create table t1 (c char(10), index(c)) charset macce engine=ibmdb2i;
|
||||
insert into t1 values ("test");
|
||||
select * from t1 order by c;
|
||||
drop table t1;
|
@ -1,47 +0,0 @@
|
||||
source suite/ibmdb2i/include/have_ibmdb2i.inc;
|
||||
|
||||
# Confirm that ibmdb2i_create_index_option causes additional *HEX sorted indexes to be created for all non-binary keys.
|
||||
|
||||
set ibmdb2i_create_index_option=1;
|
||||
--disable_warnings
|
||||
drop schema if exists test1;
|
||||
create schema test1;
|
||||
use test1;
|
||||
--enable_warnings
|
||||
|
||||
--disable_abort_on_error
|
||||
--error 0,255
|
||||
exec system "DLTF QGPL/FDOUT" > /dev/null;
|
||||
--enable_abort_on_error
|
||||
|
||||
#No additional index because no string fields in key
|
||||
CREATE TABLE t1 (f int primary key, index(f)) engine=ibmdb2i;
|
||||
--error 255
|
||||
exec system "DSPFD FILE(\"test1\"/PRIM0001) TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
--error 255
|
||||
exec system "DSPFD FILE(\"test1\"/\"f___H_t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
drop table t1;
|
||||
|
||||
#No additional index because binary sorting
|
||||
CREATE TABLE t1 (f char(10) collate utf8_bin primary key, index(f)) engine=ibmdb2i;
|
||||
--error 255
|
||||
exec system "DSPFD FILE(\"test1\"/PRIM0001) TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
--error 255
|
||||
exec system "DSPFD FILE(\"test1\"/\"f___H_t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
drop table t1;
|
||||
|
||||
CREATE TABLE t1 (f char(10) collate latin1_swedish_ci primary key, index(f)) engine=ibmdb2i;
|
||||
exec system "DSPFD FILE(\"test1\"/PRIM0001) TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
exec system "DSPFD FILE(\"test1\"/\"f___H_t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
drop table t1;
|
||||
|
||||
CREATE TABLE t1 (f char(10) collate latin1_swedish_ci primary key, i int, index i(i,f)) engine=ibmdb2i;
|
||||
exec system "DSPFD FILE(\"test1\"/PRIM0001) TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
exec system "DSPFD FILE(\"test1\"/\"i___H_t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
drop table t1;
|
||||
|
||||
|
||||
create table fd (SQSSEQ CHAR(10)) engine=ibmdb2i;
|
||||
system system "CPYF FROMFILE(QGPL/FDOUT) TOFILE(\"test1\"/\"fd\") mbropt(*replace) fmtopt(*drop *map)" > /dev/null;
|
||||
select * from fd;
|
||||
drop table fd;
|
@ -1,10 +0,0 @@
|
||||
source suite/ibmdb2i/include/have_ibmdb2i.inc;
|
||||
source include/have_case_sensitive_file_system.inc;
|
||||
|
||||
create table ABC (i int) engine=ibmdb2i;
|
||||
insert into ABC values(1);
|
||||
create table abc (i int) engine=ibmdb2i;
|
||||
insert into abc values (2);
|
||||
select * from ABC;
|
||||
drop table ABC;
|
||||
drop table abc;
|
@ -1,44 +0,0 @@
|
||||
source suite/ibmdb2i/include/have_ibmdb2i.inc;
|
||||
source suite/ibmdb2i/include/have_i61.inc;
|
||||
--disable_warnings
|
||||
drop table if exists t1, ffd, fd;
|
||||
--enable_warnings
|
||||
|
||||
--disable_abort_on_error
|
||||
--error 0,255
|
||||
exec system "DLTF QGPL/FFDOUT" > /dev/null;
|
||||
--error 0,255
|
||||
exec system "DLTF QGPL/FDOUT" > /dev/null;
|
||||
--enable_abort_on_error
|
||||
let $count= query_get_value(select count(*) from information_schema.COLLATIONS where COLLATION_NAME <> "binary", count(*),1);
|
||||
|
||||
while ($count)
|
||||
{
|
||||
let $collation = query_get_value(select COLLATION_NAME from information_schema.COLLATIONS where COLLATION_NAME <> "binary" order by COLLATION_NAME desc, COLLATION_NAME, $count);
|
||||
error 0,1005,2504,2028;
|
||||
eval CREATE TABLE t1 ($collation integer, c char(10), v varchar(20), index(c), index(v)) collate $collation engine=ibmdb2i;
|
||||
if (!$mysql_errno)
|
||||
{
|
||||
insert into t1 (c,v) values ("abc","def"),("abcd", "def"),("abcde","defg"),("aaaa","bbbb");
|
||||
insert into t1 select * from t1;
|
||||
explain select c,v from t1 force index(c) where c like "ab%";
|
||||
explain select c,v from t1 force index(v) where v like "de%";
|
||||
drop table t1;
|
||||
eval create table t1 ($collation char(10) primary key) collate $collation engine=ibmdb2i;
|
||||
system system "DSPFFD FILE(\"test\"/\"t1\") OUTPUT(*OUTFILE) OUTFILE(QGPL/FFDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
system system "DSPFD FILE(\"test\"/\"t1\") TYPE(*SEQ) OUTPUT(*OUTFILE) OUTFILE(QGPL/FDOUT) OUTMBR(*FIRST *ADD)" > /dev/null;
|
||||
drop table t1;
|
||||
}
|
||||
dec $count;
|
||||
}
|
||||
|
||||
create table ffd (WHCHD1 CHAR(20), WHCSID decimal(5,0)) engine=ibmdb2i;
|
||||
system system "CPYF FROMFILE(QGPL/FFDOUT) TOFILE(\"test\"/\"ffd\") mbropt(*replace) fmtopt(*drop *map)" > /dev/null;
|
||||
create table fd (SQSSEQ CHAR(10)) engine=ibmdb2i;
|
||||
system system "CPYF FROMFILE(QGPL/FDOUT) TOFILE(\"test\"/\"fd\") mbropt(*replace) fmtopt(*drop *map)" > /dev/null;
|
||||
create temporary table intermed (row integer key auto_increment, cs char(30), ccsid integer);
|
||||
insert into intermed (cs, ccsid) select * from ffd;
|
||||
create temporary table intermed2 (row integer key auto_increment, srtseq char(10));
|
||||
insert into intermed2 (srtseq) select * from fd;
|
||||
select ccsid, cs, srtseq from intermed inner join intermed2 on intermed.row = intermed2.row;
|
||||
drop table ffd, fd;
|
@ -105,6 +105,30 @@ OPTIMIZE TABLE t1;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
if (!$skip_update)
|
||||
{
|
||||
eval CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE=$engine;
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
SET INSERT_ID = 1;
|
||||
}
|
||||
|
||||
-- echo # Simple test with NULL
|
||||
eval CREATE TABLE t1 (
|
||||
c1 INT NOT NULL AUTO_INCREMENT,
|
||||
@ -831,5 +855,30 @@ SELECT * FROM t ORDER BY c1 ASC;
|
||||
|
||||
DROP TABLE t;
|
||||
|
||||
if (!$skip_update)
|
||||
{
|
||||
eval CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE=$engine
|
||||
PARTITION BY KEY(a) PARTITIONS 2;
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
SELECT * FROM t1;
|
||||
DROP TABLE t1;
|
||||
}
|
||||
|
||||
|
||||
--echo ##############################################################################
|
||||
}
|
||||
|
@ -120,6 +120,38 @@ t1 CREATE TABLE `t1` (
|
||||
PRIMARY KEY (`c1`)
|
||||
) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE='Blackhole';
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
DROP TABLE t1;
|
||||
SET INSERT_ID = 1;
|
||||
# Simple test with NULL
|
||||
CREATE TABLE t1 (
|
||||
c1 INT NOT NULL AUTO_INCREMENT,
|
||||
|
@ -136,6 +136,42 @@ t1 CREATE TABLE `t1` (
|
||||
PRIMARY KEY (`c1`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE='InnoDB';
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
DROP TABLE t1;
|
||||
SET INSERT_ID = 1;
|
||||
# Simple test with NULL
|
||||
CREATE TABLE t1 (
|
||||
c1 INT NOT NULL AUTO_INCREMENT,
|
||||
@ -1023,4 +1059,40 @@ c1 c2
|
||||
2 20
|
||||
127 40
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE='InnoDB'
|
||||
PARTITION BY KEY(a) PARTITIONS 2;
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
DROP TABLE t1;
|
||||
##############################################################################
|
||||
|
@ -136,6 +136,42 @@ t1 CREATE TABLE `t1` (
|
||||
PRIMARY KEY (`c1`)
|
||||
) ENGINE=MEMORY AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE='Memory';
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
DROP TABLE t1;
|
||||
SET INSERT_ID = 1;
|
||||
# Simple test with NULL
|
||||
CREATE TABLE t1 (
|
||||
c1 INT NOT NULL AUTO_INCREMENT,
|
||||
@ -1051,4 +1087,40 @@ c1 c2
|
||||
2 20
|
||||
127 40
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE='Memory'
|
||||
PARTITION BY KEY(a) PARTITIONS 2;
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
DROP TABLE t1;
|
||||
##############################################################################
|
||||
|
@ -136,6 +136,42 @@ t1 CREATE TABLE `t1` (
|
||||
PRIMARY KEY (`c1`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE='MyISAM';
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
DROP TABLE t1;
|
||||
SET INSERT_ID = 1;
|
||||
# Simple test with NULL
|
||||
CREATE TABLE t1 (
|
||||
c1 INT NOT NULL AUTO_INCREMENT,
|
||||
@ -1070,4 +1106,40 @@ c1 c2
|
||||
2 20
|
||||
127 40
|
||||
DROP TABLE t;
|
||||
CREATE TABLE t1
|
||||
(a INT NULL AUTO_INCREMENT,
|
||||
UNIQUE KEY (a))
|
||||
ENGINE='MyISAM'
|
||||
PARTITION BY KEY(a) PARTITIONS 2;
|
||||
SET LAST_INSERT_ID = 999;
|
||||
SET INSERT_ID = 0;
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
1
|
||||
INSERT INTO t1 SET a = 1 ON DUPLICATE KEY UPDATE a = NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = 1 WHERE a IS NULL;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
UPDATE t1 SET a = NULL WHERE a = 1;
|
||||
SELECT LAST_INSERT_ID();
|
||||
LAST_INSERT_ID()
|
||||
999
|
||||
SELECT * FROM t1;
|
||||
a
|
||||
0
|
||||
DROP TABLE t1;
|
||||
##############################################################################
|
||||
|
@ -17,12 +17,12 @@
|
||||
|
||||
RESET MASTER;
|
||||
|
||||
select count(*) > 0 from performance_schema.SETUP_INSTRUMENTS;
|
||||
select count(*) > 0 from performance_schema.setup_instruments;
|
||||
|
||||
update performance_schema.SETUP_INSTRUMENTS set enabled='NO'
|
||||
update performance_schema.setup_instruments set enabled='NO'
|
||||
where name like "wait/synch/rwlock/%";
|
||||
|
||||
select count(*) > 0 from performance_schema.EVENTS_WAITS_CURRENT;
|
||||
select count(*) > 0 from performance_schema.events_waits_current;
|
||||
|
||||
--disable_warnings
|
||||
drop table if exists test.t1;
|
||||
@ -33,16 +33,16 @@ create table test.t1 (thread_id integer);
|
||||
create table test.t2 (name varchar(128));
|
||||
|
||||
insert into test.t1
|
||||
select thread_id from performance_schema.EVENTS_WAITS_CURRENT;
|
||||
select thread_id from performance_schema.events_waits_current;
|
||||
|
||||
insert into test.t2
|
||||
select name from performance_schema.SETUP_INSTRUMENTS
|
||||
select name from performance_schema.setup_instruments
|
||||
where name like "wait/synch/rwlock/%";
|
||||
|
||||
drop table test.t1;
|
||||
drop table test.t2;
|
||||
|
||||
update performance_schema.SETUP_INSTRUMENTS set enabled='YES'
|
||||
update performance_schema.setup_instruments set enabled='YES'
|
||||
where name like "wait/synch/rwlock/%";
|
||||
|
||||
--source include/show_binlog_events.inc
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
# Tests for PERFORMANCE_SCHEMA
|
||||
|
||||
update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
|
||||
update performance_schema.setup_instruments set enabled='YES';
|
||||
|
||||
disconnect con1;
|
||||
disconnect con2;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user