Manual-merge from 5.5-bugfixing.
This commit is contained in:
commit
aab0c52976
@ -9,16 +9,20 @@
|
|||||||
*.core
|
*.core
|
||||||
*.d
|
*.d
|
||||||
*.da
|
*.da
|
||||||
|
*.dll
|
||||||
*.dylib
|
*.dylib
|
||||||
*.exe
|
*.exe
|
||||||
|
*.exp
|
||||||
*.gcda
|
*.gcda
|
||||||
*.gcno
|
*.gcno
|
||||||
*.gcov
|
*.gcov
|
||||||
*.idb
|
*.idb
|
||||||
|
*.ilk
|
||||||
*.la
|
*.la
|
||||||
*.lai
|
*.lai
|
||||||
*.lib
|
*.lib
|
||||||
*.lo
|
*.lo
|
||||||
|
*.manifest
|
||||||
*.map
|
*.map
|
||||||
*.o
|
*.o
|
||||||
*.obj
|
*.obj
|
||||||
@ -149,6 +153,7 @@ Makefile
|
|||||||
Makefile.in
|
Makefile.in
|
||||||
Makefile.in'
|
Makefile.in'
|
||||||
PENDING/*
|
PENDING/*
|
||||||
|
scripts/scripts
|
||||||
TAGS
|
TAGS
|
||||||
VC++Files/client/mysql_amd64.dsp
|
VC++Files/client/mysql_amd64.dsp
|
||||||
ac_available_languages_fragment
|
ac_available_languages_fragment
|
||||||
@ -1983,6 +1988,7 @@ sql-bench/test-transactions
|
|||||||
sql-bench/test-wisconsin
|
sql-bench/test-wisconsin
|
||||||
sql/*.cpp
|
sql/*.cpp
|
||||||
sql/*.ds?
|
sql/*.ds?
|
||||||
|
sql/*.def
|
||||||
sql/*.vcproj
|
sql/*.vcproj
|
||||||
sql/.deps/client.Po
|
sql/.deps/client.Po
|
||||||
sql/.deps/derror.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
|
||||||
sql/.libs/udf_example.so.0.0.0
|
sql/.libs/udf_example.so.0.0.0
|
||||||
sql/client.c
|
sql/client.c
|
||||||
|
sql/cmake_dummy.cc
|
||||||
sql/Doxyfile
|
sql/Doxyfile
|
||||||
sql/f.c
|
sql/f.c
|
||||||
sql/gen_lex_hash
|
sql/gen_lex_hash
|
||||||
@ -3048,6 +3055,7 @@ vio/viotest.cpp
|
|||||||
win/configure.data
|
win/configure.data
|
||||||
win/vs71cache.txt
|
win/vs71cache.txt
|
||||||
win/vs8cache.txt
|
win/vs8cache.txt
|
||||||
|
win/nmake_cache.txt
|
||||||
ylwrap
|
ylwrap
|
||||||
zlib/*.ds?
|
zlib/*.ds?
|
||||||
zlib/*.vcproj
|
zlib/*.vcproj
|
||||||
|
@ -115,18 +115,27 @@ ENDIF()
|
|||||||
# Control aspects of the development environment which are
|
# Control aspects of the development environment which are
|
||||||
# specific to MySQL maintainers and developers.
|
# specific to MySQL maintainers and developers.
|
||||||
#
|
#
|
||||||
|
INCLUDE (CheckCCompilerFlag)
|
||||||
OPTION(MYSQL_MAINTAINER_MODE "MySQL maintainer-specific development environment" OFF)
|
OPTION(MYSQL_MAINTAINER_MODE "MySQL maintainer-specific development environment" OFF)
|
||||||
# Whether the maintainer mode should be enabled.
|
# Whether the maintainer mode should be enabled.
|
||||||
IF(MYSQL_MAINTAINER_MODE)
|
IF(MYSQL_MAINTAINER_MODE)
|
||||||
IF(CMAKE_COMPILER_IS_GNUCC)
|
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
|
SET(MY_MAINTAINER_C_WARNINGS
|
||||||
"-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror"
|
"-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror")
|
||||||
CACHE STRING "C warning options used in maintainer builds.")
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
SET(MY_MAINTAINER_CXX_WARNINGS "${MY_MAINTAINER_C_WARNINGS} -Wno-unused-parameter"
|
SET(MY_MAINTAINER_CXX_WARNINGS "${MY_MAINTAINER_C_WARNINGS} -Wno-unused-parameter"
|
||||||
CACHE STRING "C++ warning options used in maintainer builds.")
|
CACHE STRING "C++ warning options used in maintainer builds.")
|
||||||
ENDIF()
|
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.
|
# Do not make warnings in checks into errors.
|
||||||
IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX)
|
IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_COMPILER_IS_GNUCXX)
|
||||||
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Wno-error")
|
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Wno-error")
|
||||||
@ -322,23 +331,33 @@ ELSE()
|
|||||||
SET(CPACK_GENERATOR "TGZ")
|
SET(CPACK_GENERATOR "TGZ")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ADD_SUBDIRECTORY(packaging/WiX)
|
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)
|
INCLUDE(CPack)
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL)
|
INSTALL(FILES Docs/mysql.info DESTINATION ${INSTALL_INFODIR} OPTIONAL COMPONENT Info)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
#
|
#
|
||||||
# RPM installs documentation directly from the source tree
|
# RPM installs documentation directly from the source tree
|
||||||
#
|
#
|
||||||
IF(NOT INSTALL_LAYOUT MATCHES "RPM")
|
IF(NOT INSTALL_LAYOUT MATCHES "RPM")
|
||||||
INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql DESTINATION ${INSTALL_DOCREADMEDIR} OPTIONAL)
|
INSTALL(FILES COPYING EXCEPTIONS-CLIENT LICENSE.mysql
|
||||||
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR})
|
DESTINATION ${INSTALL_DOCREADMEDIR}
|
||||||
|
COMPONENT Readme
|
||||||
|
OPTIONAL
|
||||||
|
)
|
||||||
|
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR})
|
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
# MYSQL_DOCS_LOCATON is used in "make dist", points to the documentation directory
|
# 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")
|
SET(MYSQL_DOCS_LOCATION "" CACHE PATH "Location from where documentation is copied")
|
||||||
MARK_AS_ADVANCED(MYSQL_DOCS_LOCATION)
|
MARK_AS_ADVANCED(MYSQL_DOCS_LOCATION)
|
||||||
INSTALL(DIRECTORY Docs/ DESTINATION ${INSTALL_DOCDIR}
|
INSTALL(DIRECTORY Docs/ DESTINATION ${INSTALL_DOCDIR}
|
||||||
|
COMPONENT Documentation
|
||||||
PATTERN "INSTALL-BINARY" EXCLUDE
|
PATTERN "INSTALL-BINARY" EXCLUDE
|
||||||
PATTERN "Makefile.*" EXCLUDE
|
PATTERN "Makefile.*" EXCLUDE
|
||||||
PATTERN "glibc*" 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 "
|
"row-based events; 'decode-rows' decodes row events into commented SQL "
|
||||||
"statements if the --verbose option is also given; 'auto' prints base64 "
|
"statements if the --verbose option is also given; 'auto' prints base64 "
|
||||||
"only when necessary (i.e., for row-based events and format description "
|
"only when necessary (i.e., for row-based events and format description "
|
||||||
"events); 'always' prints base64 whenever possible. 'always' is for "
|
"events); 'always' prints base64 whenever possible. 'always' is "
|
||||||
"debugging only and should not be used in a production system. If this "
|
"deprecated, will be removed in a future version, and should not be used "
|
||||||
"argument is not given, the default is 'auto'; if it is given with no "
|
"in a production system. --base64-output with no 'name' argument is "
|
||||||
"argument, 'always' is used.",
|
"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,
|
&opt_base64_output_mode_str, &opt_base64_output_mode_str,
|
||||||
0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
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)
|
if (opt_base64_output_mode == BASE64_OUTPUT_UNSPEC)
|
||||||
opt_base64_output_mode= BASE64_OUTPUT_AUTO;
|
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);
|
my_set_max_open_files(open_files_limit);
|
||||||
|
|
||||||
|
@ -185,6 +185,11 @@ foreach my $option (@ARGV)
|
|||||||
($option =~ /enable/ ? "1" : "0");
|
($option =~ /enable/ ? "1" : "0");
|
||||||
next;
|
next;
|
||||||
}
|
}
|
||||||
|
if ($option =~ /with-comment=/)
|
||||||
|
{
|
||||||
|
$cmakeargs = $cmakeargs." \"-DWITH_COMMENT=".substr($option,13)."\"";
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
|
||||||
$option = uc($option);
|
$option = uc($option);
|
||||||
$option =~ s/-/_/g;
|
$option =~ s/-/_/g;
|
||||||
|
@ -86,7 +86,7 @@ IF(UNIX)
|
|||||||
SET(CMAKE_INSTALL_PREFIX ${default_prefix}
|
SET(CMAKE_INSTALL_PREFIX ${default_prefix}
|
||||||
CACHE PATH "install prefix" FORCE)
|
CACHE PATH "install prefix" FORCE)
|
||||||
ENDIF()
|
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)
|
LIST(FIND VALID_INSTALL_LAYOUTS "${INSTALL_LAYOUT}" ind)
|
||||||
IF(ind EQUAL -1)
|
IF(ind EQUAL -1)
|
||||||
MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
|
MESSAGE(FATAL_ERROR "Invalid INSTALL_LAYOUT parameter:${INSTALL_LAYOUT}."
|
||||||
|
@ -78,7 +78,9 @@ FUNCTION(INSTALL_MANPAGE file)
|
|||||||
ELSE()
|
ELSE()
|
||||||
SET(SECTION man8)
|
SET(SECTION man8)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
INSTALL(FILES "${MANPAGE}" DESTINATION "${INSTALL_MANDIR}/${SECTION}")
|
MESSAGE("huj!")
|
||||||
|
INSTALL(FILES "${MANPAGE}" DESTINATION "${INSTALL_MANDIR}/${SECTION}"
|
||||||
|
COMPONENT ManPages)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDFUNCTION()
|
ENDFUNCTION()
|
||||||
|
|
||||||
@ -137,12 +139,7 @@ IF(UNIX)
|
|||||||
STRING(REPLACE "${CMAKE_CFG_INTDIR}"
|
STRING(REPLACE "${CMAKE_CFG_INTDIR}"
|
||||||
"\${CMAKE_INSTALL_CONFIG_NAME}" output ${output})
|
"\${CMAKE_INSTALL_CONFIG_NAME}" output ${output})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(component)
|
INSTALL(FILES ${output} DESTINATION ${destination} COMPONENT ${component})
|
||||||
SET(COMP COMPONENT ${component})
|
|
||||||
ELSE()
|
|
||||||
SET(COMP)
|
|
||||||
ENDIF()
|
|
||||||
INSTALL(FILES ${output} DESTINATION ${destination} ${COMP})
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDMACRO()
|
ENDMACRO()
|
||||||
|
|
||||||
@ -224,8 +221,6 @@ FUNCTION(MYSQL_INSTALL_TARGETS)
|
|||||||
IF(SIGNCODE AND SIGNCODE_ENABLED)
|
IF(SIGNCODE AND SIGNCODE_ENABLED)
|
||||||
SIGN_TARGET(${target})
|
SIGN_TARGET(${target})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
# For Windows, add version info to executables
|
|
||||||
ADD_VERSION_INFO(${target})
|
|
||||||
# Install man pages on Unix
|
# Install man pages on Unix
|
||||||
IF(UNIX)
|
IF(UNIX)
|
||||||
GET_TARGET_PROPERTY(target_location ${target} LOCATION)
|
GET_TARGET_PROPERTY(target_location ${target} LOCATION)
|
||||||
|
@ -250,6 +250,9 @@ MACRO(MERGE_LIBRARIES)
|
|||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
CREATE_EXPORT_FILE(SRC ${TARGET} "${ARG_EXPORTS}")
|
CREATE_EXPORT_FILE(SRC ${TARGET} "${ARG_EXPORTS}")
|
||||||
|
IF(NOT ARG_NOINSTALL)
|
||||||
|
ADD_VERSION_INFO(${TARGET} SHARED SRC)
|
||||||
|
ENDIF()
|
||||||
ADD_LIBRARY(${TARGET} ${LIBTYPE} ${SRC})
|
ADD_LIBRARY(${TARGET} ${LIBTYPE} ${SRC})
|
||||||
TARGET_LINK_LIBRARIES(${TARGET} ${LIBS})
|
TARGET_LINK_LIBRARIES(${TARGET} ${LIBS})
|
||||||
IF(ARG_OUTPUT_NAME)
|
IF(ARG_OUTPUT_NAME)
|
||||||
|
@ -37,7 +37,7 @@ FUNCTION (MYSQL_ADD_EXECUTABLE)
|
|||||||
LIST(REMOVE_AT ARG_DEFAULT_ARGS 0)
|
LIST(REMOVE_AT ARG_DEFAULT_ARGS 0)
|
||||||
|
|
||||||
SET(sources ${ARG_DEFAULT_ARGS})
|
SET(sources ${ARG_DEFAULT_ARGS})
|
||||||
|
ADD_VERSION_INFO(${target} EXECUTABLE sources)
|
||||||
ADD_EXECUTABLE(${target} ${ARG_WIN32} ${ARG_MACOSX_BUNDLE} ${ARG_EXCLUDE_FROM_ALL} ${sources})
|
ADD_EXECUTABLE(${target} ${ARG_WIN32} ${ARG_MACOSX_BUNDLE} ${ARG_EXCLUDE_FROM_ALL} ${sources})
|
||||||
# tell CPack where to install
|
# tell CPack where to install
|
||||||
IF(NOT ARG_EXCLUDE_FROM_ALL)
|
IF(NOT ARG_EXCLUDE_FROM_ALL)
|
||||||
|
@ -42,6 +42,9 @@ MACRO(GET_MYSQL_VERSION)
|
|||||||
IF(NOT VERSION_STRING)
|
IF(NOT VERSION_STRING)
|
||||||
FILE(STRINGS configure.in str REGEX "AC_INIT\\(")
|
FILE(STRINGS configure.in str REGEX "AC_INIT\\(")
|
||||||
STRING(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+[-][a-zAZ0-9]+" VERSION_STRING "${str}")
|
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()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
@ -130,9 +133,8 @@ ENDIF()
|
|||||||
# Refer to http://msdn.microsoft.com/en-us/library/aa381058(VS.85).aspx
|
# Refer to http://msdn.microsoft.com/en-us/library/aa381058(VS.85).aspx
|
||||||
# for more info.
|
# for more info.
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
GET_TARGET_PROPERTY(location gen_versioninfo LOCATION)
|
|
||||||
IF(NOT location)
|
|
||||||
GET_FILENAME_COMPONENT(MYSQL_CMAKE_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
|
GET_FILENAME_COMPONENT(MYSQL_CMAKE_SCRIPT_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
|
||||||
|
|
||||||
SET(FILETYPE VFT_APP)
|
SET(FILETYPE VFT_APP)
|
||||||
CONFIGURE_FILE(${MYSQL_CMAKE_SCRIPT_DIR}/versioninfo.rc.in
|
CONFIGURE_FILE(${MYSQL_CMAKE_SCRIPT_DIR}/versioninfo.rc.in
|
||||||
${CMAKE_BINARY_DIR}/versioninfo_exe.rc)
|
${CMAKE_BINARY_DIR}/versioninfo_exe.rc)
|
||||||
@ -140,31 +142,14 @@ IF(MSVC)
|
|||||||
SET(FILETYPE VFT_DLL)
|
SET(FILETYPE VFT_DLL)
|
||||||
CONFIGURE_FILE(${MYSQL_CMAKE_SCRIPT_DIR}/versioninfo.rc.in
|
CONFIGURE_FILE(${MYSQL_CMAKE_SCRIPT_DIR}/versioninfo.rc.in
|
||||||
${CMAKE_BINARY_DIR}/versioninfo_dll.rc)
|
${CMAKE_BINARY_DIR}/versioninfo_dll.rc)
|
||||||
|
|
||||||
ADD_CUSTOM_COMMAND(
|
FUNCTION(ADD_VERSION_INFO target target_type sources_var)
|
||||||
OUTPUT ${CMAKE_BINARY_DIR}/versioninfo_exe.res
|
IF("${target_type}" MATCHES "SHARED" OR "${target_type}" MATCHES "MODULE")
|
||||||
${CMAKE_BINARY_DIR}/versioninfo_dll.res
|
SET(rcfile ${CMAKE_BINARY_DIR}/versioninfo_dll.rc)
|
||||||
COMMAND ${CMAKE_RC_COMPILER} versioninfo_exe.rc
|
ELSEIF("${target_type}" MATCHES "EXE")
|
||||||
COMMAND ${CMAKE_RC_COMPILER} versioninfo_dll.rc
|
SET(rcfile ${CMAKE_BINARY_DIR}/versioninfo_exe.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\"")
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
SET(${sources_var} ${${sources_var}} ${rcfile} PARENT_SCOPE)
|
||||||
ENDFUNCTION()
|
ENDFUNCTION()
|
||||||
ELSE()
|
ELSE()
|
||||||
FUNCTION(ADD_VERSION_INFO)
|
FUNCTION(ADD_VERSION_INFO)
|
||||||
|
@ -151,6 +151,7 @@ MACRO(MYSQL_ADD_PLUGIN)
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
ADD_VERSION_INFO(${target} MODULE SOURCES)
|
||||||
ADD_LIBRARY(${target} MODULE ${SOURCES})
|
ADD_LIBRARY(${target} MODULE ${SOURCES})
|
||||||
DTRACE_INSTRUMENT(${target})
|
DTRACE_INSTRUMENT(${target})
|
||||||
SET_TARGET_PROPERTIES (${target} PROPERTIES PREFIX ""
|
SET_TARGET_PROPERTIES (${target} PROPERTIES PREFIX ""
|
||||||
|
@ -855,7 +855,7 @@ _rl_read_init_file (filename, include_level)
|
|||||||
{
|
{
|
||||||
register int i;
|
register int i;
|
||||||
char *buffer, *openname, *line, *end;
|
char *buffer, *openname, *line, *end;
|
||||||
size_t file_size;
|
size_t file_size = 0;
|
||||||
|
|
||||||
current_readline_init_file = filename;
|
current_readline_init_file = filename;
|
||||||
current_readline_init_include_level = include_level;
|
current_readline_init_include_level = include_level;
|
||||||
|
@ -19,6 +19,7 @@ AC_DEFUN([MY_MAINTAINER_MODE_WARNINGS], [
|
|||||||
AS_IF([test "$GCC" = "yes"], [
|
AS_IF([test "$GCC" = "yes"], [
|
||||||
C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror"
|
C_WARNINGS="-Wall -Wextra -Wunused -Wwrite-strings -Wno-strict-aliasing -Werror"
|
||||||
CXX_WARNINGS="${C_WARNINGS} -Wno-unused-parameter"
|
CXX_WARNINGS="${C_WARNINGS} -Wno-unused-parameter"
|
||||||
|
C_WARNINGS="${C_WARNINGS} -Wdeclaration-after-statement"
|
||||||
])
|
])
|
||||||
|
|
||||||
# Test whether the warning options work.
|
# Test whether the warning options work.
|
||||||
|
@ -27,7 +27,7 @@ dnl
|
|||||||
dnl When changing the major version number please also check the switch
|
dnl When changing the major version number please also check the switch
|
||||||
dnl statement in mysqlbinlog::check_master_version(). You may also need
|
dnl statement in mysqlbinlog::check_master_version(). You may also need
|
||||||
dnl to update version.c in ndb.
|
dnl to update version.c in ndb.
|
||||||
AC_INIT([MySQL Server], [5.5.8-rc], [], [mysql])
|
AC_INIT([MySQL Server], [5.5.8], [], [mysql])
|
||||||
|
|
||||||
AC_CONFIG_SRCDIR([sql/mysqld.cc])
|
AC_CONFIG_SRCDIR([sql/mysqld.cc])
|
||||||
AC_CANONICAL_SYSTEM
|
AC_CANONICAL_SYSTEM
|
||||||
|
@ -76,7 +76,9 @@ extern "C" {
|
|||||||
extern void *(*my_str_malloc)(size_t);
|
extern void *(*my_str_malloc)(size_t);
|
||||||
extern void (*my_str_free)(void *);
|
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))
|
#define strmov(A,B) stpcpy((A),(B))
|
||||||
#ifndef stpcpy
|
#ifndef stpcpy
|
||||||
extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */
|
extern char *stpcpy(char *, const char *); /* For AIX with gcc 2.95.3 */
|
||||||
|
@ -76,6 +76,11 @@
|
|||||||
/**
|
/**
|
||||||
Generic (compiler-independent) features.
|
Generic (compiler-independent) features.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef MY_GNUC_PREREQ
|
||||||
|
# define MY_GNUC_PREREQ(maj, min) (0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef MY_ALIGNOF
|
#ifndef MY_ALIGNOF
|
||||||
# ifdef __cplusplus
|
# ifdef __cplusplus
|
||||||
template<typename type> struct my_alignof_helper { char m1; type m2; };
|
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 char wild_many,wild_one,wild_prefix;
|
||||||
extern const char *charsets_dir;
|
extern const char *charsets_dir;
|
||||||
/* from default.c */
|
/* 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_group_suffix;
|
||||||
extern const char *my_defaults_file;
|
extern const char *my_defaults_file;
|
||||||
|
|
||||||
|
@ -79,8 +79,7 @@ struct st_mysql_client_plugin_AUTHENTICATION
|
|||||||
/**
|
/**
|
||||||
loads a plugin and initializes it
|
loads a plugin and initializes it
|
||||||
|
|
||||||
@param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
|
@param mysql MYSQL structure.
|
||||||
and last_errno/last_error, for error reporting
|
|
||||||
@param name a name of the plugin to load
|
@param name a name of the plugin to load
|
||||||
@param type type of plugin that should be loaded, -1 to disable type check
|
@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
|
@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
|
This is the same as mysql_load_plugin, but take va_list instead of
|
||||||
a list of arguments.
|
a list of arguments.
|
||||||
|
|
||||||
@param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
|
@param mysql MYSQL structure.
|
||||||
and last_errno/last_error, for error reporting
|
|
||||||
@param name a name of the plugin to load
|
@param name a name of the plugin to load
|
||||||
@param type type of plugin that should be loaded, -1 to disable type check
|
@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
|
@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
|
finds an already loaded plugin by name, or loads it, if necessary
|
||||||
|
|
||||||
@param mysql MYSQL structure. only MYSQL_PLUGIN_DIR option value is used,
|
@param mysql MYSQL structure.
|
||||||
and last_errno/last_error, for error reporting
|
|
||||||
@param name a name of the plugin to load
|
@param name a name of the plugin to load
|
||||||
@param type type of plugin that should be loaded
|
@param type type of plugin that should be loaded
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ IF(UNIX)
|
|||||||
SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
|
SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDMACRO()
|
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()
|
ENDIF()
|
||||||
|
|
||||||
IF(NOT DISABLE_SHARED)
|
IF(NOT DISABLE_SHARED)
|
||||||
@ -210,7 +210,7 @@ IF(NOT DISABLE_SHARED)
|
|||||||
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||||
""
|
""
|
||||||
linkname)
|
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}")
|
SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}")
|
||||||
LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
|
LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS)
|
||||||
FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
|
FOREACH(ver ${OS_SHARED_LIB_SYMLINKS})
|
||||||
@ -219,7 +219,7 @@ IF(NOT DISABLE_SHARED)
|
|||||||
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
"${CMAKE_SHARED_LIBRARY_SUFFIX}"
|
||||||
"${ver}"
|
"${ver}"
|
||||||
linkname)
|
linkname)
|
||||||
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} COMPONENT SharedLibraries)
|
INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries)
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -506,7 +506,8 @@ int init_embedded_server(int argc, char **argv, char **groups)
|
|||||||
|
|
||||||
orig_argc= *argcp;
|
orig_argc= *argcp;
|
||||||
orig_argv= *argvp;
|
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_argc= *argcp;
|
||||||
defaults_argv= *argvp;
|
defaults_argv= *argvp;
|
||||||
remaining_argc= argc;
|
remaining_argc= argc;
|
||||||
|
@ -22,4 +22,4 @@ SET(MYSQLSERVICES_SOURCES
|
|||||||
my_thread_scheduler_service.c)
|
my_thread_scheduler_service.c)
|
||||||
|
|
||||||
ADD_LIBRARY(mysqlservices ${MYSQLSERVICES_SOURCES})
|
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)
|
IF(MAN1_EXCLUDE)
|
||||||
LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE})
|
LIST(REMOVE_ITEM MAN1_FILES ${MAN1_EXCLUDE})
|
||||||
ENDIF()
|
ENDIF()
|
||||||
INSTALL(FILES ${MAN1_FILES} DESTINATION ${INSTALL_MANDIR}/man1)
|
INSTALL(FILES ${MAN1_FILES} DESTINATION ${INSTALL_MANDIR}/man1
|
||||||
|
COMPONENT ManPages)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(MAN8_FILES)
|
IF(MAN8_FILES)
|
||||||
INSTALL(FILES ${MAN8_FILES} DESTINATION ${INSTALL_MANDIR}/man8)
|
INSTALL(FILES ${MAN8_FILES} DESTINATION ${INSTALL_MANDIR}/man8
|
||||||
|
COMPONENT ManPages)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -53,7 +53,8 @@ IF(UNIX)
|
|||||||
IF(INSTALL_MYSQLTESTDIR)
|
IF(INSTALL_MYSQLTESTDIR)
|
||||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mtr
|
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/mtr
|
||||||
${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run
|
${CMAKE_CURRENT_BINARY_DIR}/mysql-test-run
|
||||||
DESTINATION ${INSTALL_MYSQLTESTDIR})
|
DESTINATION ${INSTALL_MYSQLTESTDIR}
|
||||||
|
COMPONENT Test)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
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_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_heartbeat_2slaves # BUG#43828 2009-10-22 luis fails sporadically
|
||||||
rpl.rpl_innodb_bug28430* # Bug#46029
|
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.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
|
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=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)
|
if ( $opt_reorder && !$quick_collect)
|
||||||
{
|
{
|
||||||
# Reorder the test cases in an order that will make them faster to run
|
# 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
|
# 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
|
# should be sorted among the other tests. Put the most important criterion
|
||||||
# first, then a sub-criterion, then sub-sub-criterion, etc.
|
# 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.
|
# Append the criteria for sorting, in order of importance.
|
||||||
#
|
#
|
||||||
push(@criteria, "ndb=" . ($tinfo->{'ndb_test'} ? "A" : "B"));
|
push(@criteria, "ndb=" . ($tinfo->{'ndb_test'} ? "A" : "B"));
|
||||||
|
push(@criteria, $tinfo->{template_path});
|
||||||
# Group test with equal options together.
|
# Group test with equal options together.
|
||||||
# Ending with "~" makes empty sort later than filled
|
# Ending with "~" makes empty sort later than filled
|
||||||
my $opts= $tinfo->{'master_opt'} ? $tinfo->{'master_opt'} : [];
|
my $opts= $tinfo->{'master_opt'} ? $tinfo->{'master_opt'} : [];
|
||||||
push(@criteria, join("!", sort @{$opts}) . "~");
|
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 {
|
@$cases = sort {$a->{criteria} cmp $b->{criteria}; } @$cases;
|
||||||
$sort_criteria{$a->{'name'}} . $a->{'name'} cmp
|
|
||||||
$sort_criteria{$b->{'name'}} . $b->{'name'}; } @$cases;
|
|
||||||
|
|
||||||
# For debugging the sort-order
|
# For debugging the sort-order
|
||||||
# foreach my $tinfo (@$cases)
|
# 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){
|
if (defined $print_testcases){
|
||||||
|
@ -704,22 +704,40 @@ sub run_test_server ($$$) {
|
|||||||
next;
|
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
|
# Second best choice is the first that does not fulfill
|
||||||
# any of the above conditions
|
# any of the above conditions
|
||||||
if (!defined $second_best){
|
if (!defined $second_best){
|
||||||
#mtr_report("Setting second_best to $i");
|
#mtr_report("Setting second_best to $i");
|
||||||
$second_best= $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
|
# 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)")
|
mtr_error("Internal error, second best too large($second_best)")
|
||||||
if $second_best > $#$tests;
|
if $second_best > $#$tests;
|
||||||
$next= splice(@$tests, $second_best, 1);
|
$next= splice(@$tests, $second_best, 1);
|
||||||
|
delete $next->{reserved};
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($next) {
|
if ($next) {
|
||||||
#$next->print_test();
|
# We don't need this any more
|
||||||
|
delete $next->{criteria};
|
||||||
$next->write_test($sock, 'TESTCASE');
|
$next->write_test($sock, 'TESTCASE');
|
||||||
$running{$next->key()}= $next;
|
$running{$next->key()}= $next;
|
||||||
$num_ndb_tests++ if ($next->{ndb_test});
|
$num_ndb_tests++ if ($next->{ndb_test});
|
||||||
@ -816,6 +836,11 @@ sub run_worker ($) {
|
|||||||
delete($test->{'comment'});
|
delete($test->{'comment'});
|
||||||
delete($test->{'logfile'});
|
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;
|
$test->{worker} = $thread_num if $opt_parallel > 1;
|
||||||
|
|
||||||
run_testcase($test);
|
run_testcase($test);
|
||||||
@ -894,7 +919,7 @@ sub command_line_setup {
|
|||||||
'ssl|with-openssl' => \$opt_ssl,
|
'ssl|with-openssl' => \$opt_ssl,
|
||||||
'skip-ssl' => \$opt_skip_ssl,
|
'skip-ssl' => \$opt_skip_ssl,
|
||||||
'compress' => \$opt_compress,
|
'compress' => \$opt_compress,
|
||||||
'vs-config' => \$opt_vs_config,
|
'vs-config=s' => \$opt_vs_config,
|
||||||
|
|
||||||
# Max number of parallel threads to use
|
# Max number of parallel threads to use
|
||||||
'parallel=s' => \$opt_parallel,
|
'parallel=s' => \$opt_parallel,
|
||||||
@ -4463,7 +4488,13 @@ sub mysqld_arguments ($$$) {
|
|||||||
my $mysqld= shift;
|
my $mysqld= shift;
|
||||||
my $extra_opts= 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
|
# 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
|
# 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;
|
my $found_skip_core= 0;
|
||||||
foreach my $arg ( @$extra_opts )
|
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
|
# Allow --skip-core-file to be set in <testname>-[master|slave].opt file
|
||||||
if ($arg eq "--skip-core-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());
|
my $is_mysqld= grep ($server eq $_, mysqlds());
|
||||||
if ($is_mysqld)
|
if ($is_mysqld)
|
||||||
{
|
{
|
||||||
@ -5317,8 +5340,7 @@ sub gdb_arguments {
|
|||||||
"break mysql_parse\n" .
|
"break mysql_parse\n" .
|
||||||
"commands 1\n" .
|
"commands 1\n" .
|
||||||
"disable 1\n" .
|
"disable 1\n" .
|
||||||
"end\n" .
|
"end\n");
|
||||||
"run");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( $opt_manual_gdb )
|
if ( $opt_manual_gdb )
|
||||||
|
@ -21,7 +21,7 @@ ndb_binlog_index
|
|||||||
plugin
|
plugin
|
||||||
proc
|
proc
|
||||||
procs_priv
|
procs_priv
|
||||||
proxy_priv
|
proxies_priv
|
||||||
servers
|
servers
|
||||||
slow_log
|
slow_log
|
||||||
tables_priv
|
tables_priv
|
||||||
|
@ -15,7 +15,7 @@ ndb_binlog_index
|
|||||||
plugin
|
plugin
|
||||||
proc
|
proc
|
||||||
procs_priv
|
procs_priv
|
||||||
proxy_priv
|
proxies_priv
|
||||||
servers
|
servers
|
||||||
slow_log
|
slow_log
|
||||||
tables_priv
|
tables_priv
|
||||||
@ -49,7 +49,7 @@ ndb_binlog_index
|
|||||||
plugin
|
plugin
|
||||||
proc
|
proc
|
||||||
procs_priv
|
procs_priv
|
||||||
proxy_priv
|
proxies_priv
|
||||||
servers
|
servers
|
||||||
slow_log
|
slow_log
|
||||||
tables_priv
|
tables_priv
|
||||||
@ -91,7 +91,7 @@ ndb_binlog_index
|
|||||||
plugin
|
plugin
|
||||||
proc
|
proc
|
||||||
procs_priv
|
procs_priv
|
||||||
proxy_priv
|
proxies_priv
|
||||||
servers
|
servers
|
||||||
slow_log
|
slow_log
|
||||||
tables_priv
|
tables_priv
|
||||||
|
@ -1425,7 +1425,7 @@ create table t1 as select concat(time_to_sec('10:11:12')) as c1;
|
|||||||
show create table t1;
|
show create table t1;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE `t1` (
|
t1 CREATE TABLE `t1` (
|
||||||
`c1` varbinary(10) NOT NULL DEFAULT ''
|
`c1` varbinary(10) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
select hex(concat(extract(year from 20090702)));
|
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;
|
show create table t1;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE `t1` (
|
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
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
select hex(concat(extract(year from 20090702)));
|
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;
|
show create table t1;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE `t1` (
|
t1 CREATE TABLE `t1` (
|
||||||
`c1` varchar(10) NOT NULL DEFAULT ''
|
`c1` varchar(10) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
select hex(concat(extract(year from 20090702)));
|
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;
|
show create table t1;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE `t1` (
|
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
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
select hex(concat(extract(year from 20090702)));
|
select hex(concat(extract(year from 20090702)));
|
||||||
|
@ -2071,6 +2071,20 @@ predicted_order hex(utf8_encoding)
|
|||||||
100 E0B78AE2808DE0B6BA
|
100 E0B78AE2808DE0B6BA
|
||||||
101 E0B78AE2808DE0B6BB
|
101 E0B78AE2808DE0B6BB
|
||||||
DROP TABLE t1;
|
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
|
End of 5.4 tests
|
||||||
#
|
#
|
||||||
# Start of 5.5 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;
|
show create table t1;
|
||||||
Table Create Table
|
Table Create Table
|
||||||
t1 CREATE TABLE `t1` (
|
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
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||||
drop table t1;
|
drop table t1;
|
||||||
select hex(concat(extract(year from 20090702)));
|
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');
|
INSERT INTO t1 VALUES ('abc\0\0');
|
||||||
ERROR 23000: Duplicate entry 'abc\x00\x00' for key 'PRIMARY'
|
ERROR 23000: Duplicate entry 'abc\x00\x00' for key 'PRIMARY'
|
||||||
DROP TABLE t1;
|
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;
|
as foo;
|
||||||
foo
|
foo
|
||||||
2
|
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
|
||||||
1
|
1
|
||||||
DROP TABLE t1;
|
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
|
End of 5.1 tests
|
||||||
#
|
#
|
||||||
# Bug#57039: constant subtime expression returns incorrect result.
|
# Bug#57039: constant subtime expression returns incorrect result.
|
||||||
|
@ -30,6 +30,7 @@ FILES TABLE_SCHEMA
|
|||||||
GLOBAL_STATUS VARIABLE_NAME
|
GLOBAL_STATUS VARIABLE_NAME
|
||||||
GLOBAL_VARIABLES VARIABLE_NAME
|
GLOBAL_VARIABLES VARIABLE_NAME
|
||||||
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
||||||
|
PARAMETERS SPECIFIC_SCHEMA
|
||||||
PARTITIONS TABLE_SCHEMA
|
PARTITIONS TABLE_SCHEMA
|
||||||
PLUGINS PLUGIN_NAME
|
PLUGINS PLUGIN_NAME
|
||||||
PROCESSLIST ID
|
PROCESSLIST ID
|
||||||
@ -42,6 +43,7 @@ SESSION_STATUS VARIABLE_NAME
|
|||||||
SESSION_VARIABLES VARIABLE_NAME
|
SESSION_VARIABLES VARIABLE_NAME
|
||||||
STATISTICS TABLE_SCHEMA
|
STATISTICS TABLE_SCHEMA
|
||||||
TABLES TABLE_SCHEMA
|
TABLES TABLE_SCHEMA
|
||||||
|
TABLESPACES TABLESPACE_NAME
|
||||||
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
||||||
TABLE_PRIVILEGES TABLE_SCHEMA
|
TABLE_PRIVILEGES TABLE_SCHEMA
|
||||||
TRIGGERS TRIGGER_SCHEMA
|
TRIGGERS TRIGGER_SCHEMA
|
||||||
@ -74,6 +76,7 @@ FILES TABLE_SCHEMA
|
|||||||
GLOBAL_STATUS VARIABLE_NAME
|
GLOBAL_STATUS VARIABLE_NAME
|
||||||
GLOBAL_VARIABLES VARIABLE_NAME
|
GLOBAL_VARIABLES VARIABLE_NAME
|
||||||
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
KEY_COLUMN_USAGE CONSTRAINT_SCHEMA
|
||||||
|
PARAMETERS SPECIFIC_SCHEMA
|
||||||
PARTITIONS TABLE_SCHEMA
|
PARTITIONS TABLE_SCHEMA
|
||||||
PLUGINS PLUGIN_NAME
|
PLUGINS PLUGIN_NAME
|
||||||
PROCESSLIST ID
|
PROCESSLIST ID
|
||||||
@ -86,6 +89,7 @@ SESSION_STATUS VARIABLE_NAME
|
|||||||
SESSION_VARIABLES VARIABLE_NAME
|
SESSION_VARIABLES VARIABLE_NAME
|
||||||
STATISTICS TABLE_SCHEMA
|
STATISTICS TABLE_SCHEMA
|
||||||
TABLES TABLE_SCHEMA
|
TABLES TABLE_SCHEMA
|
||||||
|
TABLESPACES TABLESPACE_NAME
|
||||||
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
TABLE_CONSTRAINTS CONSTRAINT_SCHEMA
|
||||||
TABLE_PRIVILEGES TABLE_SCHEMA
|
TABLE_PRIVILEGES TABLE_SCHEMA
|
||||||
TRIGGERS TRIGGER_SCHEMA
|
TRIGGERS TRIGGER_SCHEMA
|
||||||
|
@ -88,7 +88,7 @@ host
|
|||||||
plugin
|
plugin
|
||||||
proc
|
proc
|
||||||
procs_priv
|
procs_priv
|
||||||
proxy_priv
|
proxies_priv
|
||||||
servers
|
servers
|
||||||
slow_log
|
slow_log
|
||||||
tables_priv
|
tables_priv
|
||||||
|
@ -45,3 +45,227 @@ p1
|
|||||||
max=1
|
max=1
|
||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
drop table t1;
|
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
|
TIMESTAMP 1 1 SELECT SQL_NO_CACHE 'Bug#31700 - PK', f1,f2,f3,SLEEP(1.1) FROM t1 WHERE f1=2
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
TRUNCATE TABLE mysql.slow_log;
|
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 @@session.long_query_time= @old_long_query_time;
|
||||||
SET @@global.log_output= @old_log_output;
|
SET @@global.log_output= @old_log_output;
|
||||||
SET @@global.slow_query_log= @old_slow_query_log;
|
SET @@global.slow_query_log= @old_slow_query_log;
|
||||||
|
@ -27,7 +27,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.renamed_general_log OK
|
mysql.renamed_general_log OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log OK
|
mysql.slow_log OK
|
||||||
|
@ -15,7 +15,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log OK
|
mysql.slow_log OK
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
@ -44,7 +44,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log OK
|
mysql.slow_log OK
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
@ -73,7 +73,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log OK
|
mysql.slow_log OK
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
@ -104,7 +104,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log OK
|
mysql.slow_log OK
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
@ -139,7 +139,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log OK
|
mysql.slow_log OK
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
@ -177,7 +177,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log OK
|
mysql.slow_log OK
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
|
@ -17,7 +17,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log OK
|
mysql.slow_log OK
|
||||||
mysql.tables_priv OK
|
mysql.tables_priv OK
|
||||||
|
@ -879,3 +879,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
|||||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||||
End of 5.0 tests
|
End of 5.0 tests
|
||||||
End of 5.1 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.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log
|
mysql.slow_log
|
||||||
note : The storage engine for the table doesn't support analyze
|
note : The storage engine for the table doesn't support analyze
|
||||||
@ -46,7 +46,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log
|
mysql.slow_log
|
||||||
note : The storage engine for the table doesn't support optimize
|
note : The storage engine for the table doesn't support optimize
|
||||||
@ -72,7 +72,7 @@ mysql.ndb_binlog_index OK
|
|||||||
mysql.plugin OK
|
mysql.plugin OK
|
||||||
mysql.proc OK
|
mysql.proc OK
|
||||||
mysql.procs_priv OK
|
mysql.procs_priv OK
|
||||||
mysql.proxy_priv OK
|
mysql.proxies_priv OK
|
||||||
mysql.servers OK
|
mysql.servers OK
|
||||||
mysql.slow_log
|
mysql.slow_log
|
||||||
note : The storage engine for the table doesn't support analyze
|
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.plugin Table is already up to date
|
||||||
mysql.proc Table is already up to date
|
mysql.proc Table is already up to date
|
||||||
mysql.procs_priv 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.servers Table is already up to date
|
||||||
mysql.slow_log
|
mysql.slow_log
|
||||||
note : The storage engine for the table doesn't support optimize
|
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[=#]
|
--auto-increment-offset[=#]
|
||||||
Offset added to Auto-increment columns. Used when
|
Offset added to Auto-increment columns. Used when
|
||||||
auto-increment-increment != 1
|
auto-increment-increment != 1
|
||||||
|
--autocommit Set default value for autocommit (0 or 1)
|
||||||
--automatic-sp-privileges
|
--automatic-sp-privileges
|
||||||
Creating and dropping stored procedures alters ACLs
|
Creating and dropping stored procedures alters ACLs
|
||||||
(Defaults to on; use --skip-automatic-sp-privileges to disable.)
|
(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[=#]
|
--auto-increment-offset[=#]
|
||||||
Offset added to Auto-increment columns. Used when
|
Offset added to Auto-increment columns. Used when
|
||||||
auto-increment-increment != 1
|
auto-increment-increment != 1
|
||||||
|
--autocommit Set default value for autocommit (0 or 1)
|
||||||
--automatic-sp-privileges
|
--automatic-sp-privileges
|
||||||
Creating and dropping stored procedures alters ACLs
|
Creating and dropping stored procedures alters ACLs
|
||||||
(Defaults to on; use --skip-automatic-sp-privileges to disable.)
|
(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
|
ERROR HY000: Table 'host' was not locked with LOCK TABLES
|
||||||
unlock tables;
|
unlock tables;
|
||||||
drop table t1;
|
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;
|
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):
|
# Bug#57113: ha_partition::extra(ha_extra_function):
|
||||||
# Assertion `m_extra_cache' failed
|
# Assertion `m_extra_cache' failed
|
||||||
CREATE TABLE t1
|
CREATE TABLE t1
|
||||||
|
@ -11,6 +11,26 @@ test_plugin_server plug_dest
|
|||||||
## test plugin auth
|
## test plugin auth
|
||||||
ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
|
ERROR 28000: Access denied for user 'plug'@'localhost' (using password: YES)
|
||||||
GRANT PROXY ON plug_dest TO plug;
|
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();
|
select USER(),CURRENT_USER();
|
||||||
USER() CURRENT_USER()
|
USER() CURRENT_USER()
|
||||||
plug@localhost plug_dest@%
|
plug@localhost plug_dest@%
|
||||||
@ -146,8 +166,8 @@ Grants for test_drop@localhost
|
|||||||
GRANT USAGE ON *.* TO 'test_drop'@'localhost'
|
GRANT USAGE ON *.* TO 'test_drop'@'localhost'
|
||||||
GRANT PROXY ON 'future_user'@'%' TO 'test_drop'@'localhost'
|
GRANT PROXY ON 'future_user'@'%' TO 'test_drop'@'localhost'
|
||||||
DROP USER test_drop@localhost;
|
DROP USER test_drop@localhost;
|
||||||
SELECT * FROM mysql.proxy_priv WHERE Host = 'test_drop' AND User = 'localhost';
|
SELECT * FROM mysql.proxies_priv WHERE Host = 'test_drop' AND User = 'localhost';
|
||||||
Host User Proxied_Host Proxied_User With_Grant
|
Host User Proxied_host Proxied_user With_grant Grantor Timestamp
|
||||||
DROP USER proxy_admin;
|
DROP USER proxy_admin;
|
||||||
DROP USER grant_plug,grant_plug_dest,grant_plug_dest2;
|
DROP USER grant_plug,grant_plug_dest,grant_plug_dest2;
|
||||||
## END GRANT PROXY tests
|
## END GRANT PROXY tests
|
||||||
|
@ -3202,6 +3202,510 @@ test1
|
|||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP PROCEDURE p2;
|
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.
|
# End of WL#4435.
|
||||||
#
|
#
|
||||||
# WL#4284: Transactional DDL locking
|
# WL#4284: Transactional DDL locking
|
||||||
|
@ -75,4 +75,40 @@ CALL p1 ();
|
|||||||
ERROR HY000: Trigger does not exist
|
ERROR HY000: Trigger does not exist
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
DROP PROCEDURE p1;
|
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
|
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));
|
ORDER BY (SELECT * FROM t1 WHERE MATCH(a) AGAINST ('+abc' IN BOOLEAN MODE));
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
End of 5.1 tests
|
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
|
plugin
|
||||||
proc
|
proc
|
||||||
procs_priv
|
procs_priv
|
||||||
proxy_priv
|
proxies_priv
|
||||||
servers
|
servers
|
||||||
slow_log
|
slow_log
|
||||||
tables_priv
|
tables_priv
|
||||||
|
@ -975,4 +975,14 @@ SELECT LENGTH(c) FROM t2;
|
|||||||
LENGTH(c)
|
LENGTH(c)
|
||||||
65535
|
65535
|
||||||
DROP TABLE t1, t2;
|
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
|
End of 5.1 tests
|
||||||
|
@ -1,20 +1,20 @@
|
|||||||
SET SESSION transaction_prealloc_size=1024*1024*1024*1;
|
SET SESSION transaction_prealloc_size=1024*1024*1024*1;
|
||||||
SHOW PROCESSLIST;
|
SHOW PROCESSLIST;
|
||||||
Id User Host db Command Time State Info
|
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;
|
SET SESSION transaction_prealloc_size=1024*1024*1024*2;
|
||||||
SHOW PROCESSLIST;
|
SHOW PROCESSLIST;
|
||||||
Id User Host db Command Time State Info
|
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;
|
SET SESSION transaction_prealloc_size=1024*1024*1024*3;
|
||||||
SHOW PROCESSLIST;
|
SHOW PROCESSLIST;
|
||||||
Id User Host db Command Time State Info
|
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;
|
SET SESSION transaction_prealloc_size=1024*1024*1024*4;
|
||||||
SHOW PROCESSLIST;
|
SHOW PROCESSLIST;
|
||||||
Id User Host db Command Time State Info
|
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;
|
SET SESSION transaction_prealloc_size=1024*1024*1024*5;
|
||||||
SHOW PROCESSLIST;
|
SHOW PROCESSLIST;
|
||||||
Id User Host db Command Time State Info
|
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
|
--max_binlog_size=4096 --default-storage-engine=MyISAM
|
||||||
|
--force-restart
|
||||||
|
@ -1 +1,2 @@
|
|||||||
--binlog-do-db=b42829
|
--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 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 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 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 proxies_priv Grantor 6 NO char 77 231 NULL NULL utf8 utf8_bin char(77) MUL 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 proxies_priv Host 1 NO char 60 180 NULL NULL utf8 utf8_bin char(60) 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 proxies_priv Proxied_host 3 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 proxies_priv Proxied_user 4 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 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 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 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
|
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 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')
|
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
|
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 proxies_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 proxies_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 proxies_priv Proxied_host char 60 180 utf8 utf8_bin char(60)
|
||||||
3.0000 mysql proxy_priv Proxied_User 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 proxy_priv With_Grant tinyint NULL NULL NULL NULL tinyint(1)
|
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 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 Host char 64 192 utf8 utf8_general_ci char(64)
|
||||||
3.0000 mysql servers Db 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 User
|
||||||
def mysql PRIMARY def mysql procs_priv Routine_name
|
def mysql PRIMARY def mysql procs_priv Routine_name
|
||||||
def mysql PRIMARY def mysql procs_priv Routine_type
|
def mysql PRIMARY def mysql procs_priv Routine_type
|
||||||
def mysql PRIMARY def mysql proxy_priv Host
|
def mysql PRIMARY def mysql proxies_priv Host
|
||||||
def mysql PRIMARY def mysql proxy_priv User
|
def mysql PRIMARY def mysql proxies_priv User
|
||||||
def mysql PRIMARY def mysql proxy_priv Proxied_Host
|
def mysql PRIMARY def mysql proxies_priv Proxied_host
|
||||||
def mysql PRIMARY def mysql proxy_priv Proxied_User
|
def mysql PRIMARY def mysql proxies_priv Proxied_user
|
||||||
def mysql PRIMARY def mysql servers Server_name
|
def mysql PRIMARY def mysql servers Server_name
|
||||||
def mysql PRIMARY def mysql tables_priv Host
|
def mysql PRIMARY def mysql tables_priv Host
|
||||||
def mysql PRIMARY def mysql tables_priv Db
|
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 PRIMARY
|
def mysql procs_priv mysql PRIMARY
|
||||||
def mysql procs_priv mysql Grantor
|
def mysql procs_priv mysql Grantor
|
||||||
def mysql proxy_priv mysql PRIMARY
|
def mysql proxies_priv mysql PRIMARY
|
||||||
def mysql proxy_priv mysql PRIMARY
|
def mysql proxies_priv mysql PRIMARY
|
||||||
def mysql proxy_priv mysql PRIMARY
|
def mysql proxies_priv mysql PRIMARY
|
||||||
def mysql proxy_priv mysql PRIMARY
|
def mysql proxies_priv mysql PRIMARY
|
||||||
|
def mysql proxies_priv mysql Grantor
|
||||||
def mysql servers mysql PRIMARY
|
def mysql servers mysql PRIMARY
|
||||||
def mysql tables_priv mysql PRIMARY
|
def mysql tables_priv 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 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 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 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 proxies_priv 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
|
||||||
def mysql proxy_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
|
def mysql proxies_priv 0 mysql PRIMARY 1 Host A #CARD# NULL NULL BTREE
|
||||||
def mysql proxy_priv 0 mysql PRIMARY 3 Proxied_Host A #CARD# NULL NULL BTREE
|
def mysql proxies_priv 0 mysql PRIMARY 2 User A #CARD# NULL NULL BTREE
|
||||||
def mysql proxy_priv 0 mysql PRIMARY 4 Proxied_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 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 1 mysql Grantor 1 Grantor A #CARD# NULL NULL BTREE
|
||||||
def mysql tables_priv 0 mysql PRIMARY 1 Host 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 plugin
|
||||||
def mysql PRIMARY mysql proc
|
def mysql PRIMARY mysql proc
|
||||||
def mysql PRIMARY mysql procs_priv
|
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 servers
|
||||||
def mysql PRIMARY mysql tables_priv
|
def mysql PRIMARY mysql tables_priv
|
||||||
def mysql PRIMARY mysql time_zone
|
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 plugin PRIMARY KEY
|
||||||
def mysql PRIMARY mysql proc PRIMARY KEY
|
def mysql PRIMARY mysql proc PRIMARY KEY
|
||||||
def mysql PRIMARY mysql procs_priv 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 servers PRIMARY KEY
|
||||||
def mysql PRIMARY mysql tables_priv PRIMARY KEY
|
def mysql PRIMARY mysql tables_priv PRIMARY KEY
|
||||||
def mysql PRIMARY mysql time_zone PRIMARY KEY
|
def mysql PRIMARY mysql time_zone PRIMARY KEY
|
||||||
|
@ -336,7 +336,7 @@ user_comment Procedure privileges
|
|||||||
Separator -----------------------------------------------------
|
Separator -----------------------------------------------------
|
||||||
TABLE_CATALOG def
|
TABLE_CATALOG def
|
||||||
TABLE_SCHEMA mysql
|
TABLE_SCHEMA mysql
|
||||||
TABLE_NAME proxy_priv
|
TABLE_NAME proxies_priv
|
||||||
TABLE_TYPE BASE TABLE
|
TABLE_TYPE BASE TABLE
|
||||||
ENGINE MyISAM
|
ENGINE MyISAM
|
||||||
VERSION 10
|
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;
|
SHOW CREATE TABLE t1;
|
||||||
DROP 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
|
-- echo # Simple test with NULL
|
||||||
eval CREATE TABLE t1 (
|
eval CREATE TABLE t1 (
|
||||||
c1 INT NOT NULL AUTO_INCREMENT,
|
c1 INT NOT NULL AUTO_INCREMENT,
|
||||||
@ -831,5 +855,30 @@ SELECT * FROM t ORDER BY c1 ASC;
|
|||||||
|
|
||||||
DROP TABLE t;
|
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 ##############################################################################
|
--echo ##############################################################################
|
||||||
}
|
}
|
||||||
|
@ -120,6 +120,38 @@ t1 CREATE TABLE `t1` (
|
|||||||
PRIMARY KEY (`c1`)
|
PRIMARY KEY (`c1`)
|
||||||
) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1
|
) ENGINE=BLACKHOLE DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1;
|
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
|
# Simple test with NULL
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
c1 INT NOT NULL AUTO_INCREMENT,
|
c1 INT NOT NULL AUTO_INCREMENT,
|
||||||
|
@ -136,6 +136,42 @@ t1 CREATE TABLE `t1` (
|
|||||||
PRIMARY KEY (`c1`)
|
PRIMARY KEY (`c1`)
|
||||||
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
|
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1;
|
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
|
# Simple test with NULL
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
c1 INT NOT NULL AUTO_INCREMENT,
|
c1 INT NOT NULL AUTO_INCREMENT,
|
||||||
@ -1023,4 +1059,40 @@ c1 c2
|
|||||||
2 20
|
2 20
|
||||||
127 40
|
127 40
|
||||||
DROP TABLE t;
|
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`)
|
PRIMARY KEY (`c1`)
|
||||||
) ENGINE=MEMORY AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
|
) ENGINE=MEMORY AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1;
|
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
|
# Simple test with NULL
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
c1 INT NOT NULL AUTO_INCREMENT,
|
c1 INT NOT NULL AUTO_INCREMENT,
|
||||||
@ -1051,4 +1087,40 @@ c1 c2
|
|||||||
2 20
|
2 20
|
||||||
127 40
|
127 40
|
||||||
DROP TABLE t;
|
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`)
|
PRIMARY KEY (`c1`)
|
||||||
) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
|
) ENGINE=MyISAM AUTO_INCREMENT=102 DEFAULT CHARSET=latin1
|
||||||
DROP TABLE t1;
|
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
|
# Simple test with NULL
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
c1 INT NOT NULL AUTO_INCREMENT,
|
c1 INT NOT NULL AUTO_INCREMENT,
|
||||||
@ -1070,4 +1106,40 @@ c1 c2
|
|||||||
2 20
|
2 20
|
||||||
127 40
|
127 40
|
||||||
DROP TABLE t;
|
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;
|
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/%";
|
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
|
--disable_warnings
|
||||||
drop table if exists test.t1;
|
drop table if exists test.t1;
|
||||||
@ -33,16 +33,16 @@ create table test.t1 (thread_id integer);
|
|||||||
create table test.t2 (name varchar(128));
|
create table test.t2 (name varchar(128));
|
||||||
|
|
||||||
insert into test.t1
|
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
|
insert into test.t2
|
||||||
select name from performance_schema.SETUP_INSTRUMENTS
|
select name from performance_schema.setup_instruments
|
||||||
where name like "wait/synch/rwlock/%";
|
where name like "wait/synch/rwlock/%";
|
||||||
|
|
||||||
drop table test.t1;
|
drop table test.t1;
|
||||||
drop table test.t2;
|
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/%";
|
where name like "wait/synch/rwlock/%";
|
||||||
|
|
||||||
--source include/show_binlog_events.inc
|
--source include/show_binlog_events.inc
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
# Tests for PERFORMANCE_SCHEMA
|
# Tests for PERFORMANCE_SCHEMA
|
||||||
|
|
||||||
update performance_schema.SETUP_INSTRUMENTS set enabled='YES';
|
update performance_schema.setup_instruments set enabled='YES';
|
||||||
|
|
||||||
disconnect con1;
|
disconnect con1;
|
||||||
disconnect con2;
|
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