mirror of
https://github.com/MariaDB/server.git
synced 2026-05-16 20:07:13 +02:00
Merge mysql-5.5 -> mysql-5.5-innodb
This commit is contained in:
commit
e84efcaf3f
227 changed files with 4363 additions and 1784 deletions
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2006, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -317,6 +317,24 @@ CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/include/mysql_version.h.in
|
|||
${CMAKE_BINARY_DIR}/include/mysql_version.h )
|
||||
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/sql/sql_builtin.cc.in
|
||||
${CMAKE_BINARY_DIR}/sql/sql_builtin.cc)
|
||||
CONFIGURE_FILE(
|
||||
${CMAKE_SOURCE_DIR}/cmake/info_macros.cmake.in ${CMAKE_BINARY_DIR}/info_macros.cmake @ONLY)
|
||||
|
||||
# Handle the "INFO_*" files.
|
||||
INCLUDE(${CMAKE_BINARY_DIR}/info_macros.cmake)
|
||||
# Source: This can be done during the cmake phase, all information is
|
||||
# available, but should be repeated on each "make" just in case someone
|
||||
# does "cmake ; make ; bzr pull ; make".
|
||||
CREATE_INFO_SRC(${CMAKE_BINARY_DIR}/Docs)
|
||||
ADD_CUSTOM_TARGET(INFO_SRC ALL
|
||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/info_src.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
# Build flags: This must be postponed to the make phase.
|
||||
ADD_CUSTOM_TARGET(INFO_BIN ALL
|
||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_SOURCE_DIR}/cmake/info_bin.cmake
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
# Packaging
|
||||
IF(WIN32)
|
||||
|
|
@ -344,6 +362,7 @@ IF(NOT INSTALL_LAYOUT MATCHES "RPM")
|
|||
OPTIONAL
|
||||
)
|
||||
INSTALL(FILES README DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
|
||||
INSTALL(FILES ${CMAKE_BINARY_DIR}/Docs/INFO_SRC ${CMAKE_BINARY_DIR}/Docs/INFO_BIN DESTINATION ${INSTALL_DOCDIR})
|
||||
IF(UNIX)
|
||||
INSTALL(FILES Docs/INSTALL-BINARY DESTINATION ${INSTALL_DOCREADMEDIR} COMPONENT Readme)
|
||||
ENDIF()
|
||||
|
|
|
|||
23
README
23
README
|
|
@ -3,18 +3,29 @@ MySQL Server
|
|||
This is a release of MySQL, a dual-license SQL database server.
|
||||
For the avoidance of doubt, this particular copy of the software
|
||||
is released under the version 2 of the GNU General Public License.
|
||||
MySQL is brought to you by the MySQL team at Oracle.
|
||||
MySQL is brought to you by Oracle.
|
||||
|
||||
Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
License information can be found in the COPYING file.
|
||||
|
||||
MySQL FOSS License Exception
|
||||
We want free and open source software applications under certain
|
||||
licenses to be able to use specified GPL-licensed MySQL client
|
||||
libraries despite the fact that not all such FOSS licenses are
|
||||
compatible with version 2 of the GNU General Public License.
|
||||
Therefore there are special exceptions to the terms and conditions
|
||||
of the GPLv2 as applied to these client libraries, which are
|
||||
identified and described in more detail in the FOSS License
|
||||
Exception at
|
||||
<http://www.mysql.com/about/legal/licensing/foss-exception.html>.
|
||||
|
||||
This distribution may include materials developed by third
|
||||
parties. For license and attribution notices for these
|
||||
materials, please refer to the documentation that accompanies
|
||||
this distribution (see the Licenses for Third-Party Components
|
||||
appendix). A copy of the license/notices is also reproduced
|
||||
below.
|
||||
this distribution (see the "Licenses for Third-Party Components"
|
||||
appendix) or view the online documentation at
|
||||
<http://dev.mysql.com/doc/>.
|
||||
|
||||
GPLv2 Disclaimer
|
||||
For the avoidance of doubt, except that if any license choice
|
||||
|
|
@ -38,8 +49,6 @@ Some Reference Manual sections of special interest:
|
|||
chapter.
|
||||
- For the new features/bugfix history, see the MySQL Change History
|
||||
appendix.
|
||||
- For currently known bugs, see the Errors and Common Problems
|
||||
appendix.
|
||||
|
||||
You can browse the MySQL Reference Manual online or download it
|
||||
in any of several formats at the URL given earlier in this file.
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1,4 +1,4 @@
|
|||
MYSQL_VERSION_MAJOR=5
|
||||
MYSQL_VERSION_MINOR=5
|
||||
MYSQL_VERSION_PATCH=10
|
||||
MYSQL_VERSION_PATCH=11
|
||||
MYSQL_VERSION_EXTRA=
|
||||
|
|
|
|||
|
|
@ -50,9 +50,6 @@ enum options_client
|
|||
OPT_OPEN_FILES_LIMIT, OPT_SET_CHARSET, OPT_SERVER_ARG,
|
||||
OPT_STOP_POSITION, OPT_START_DATETIME, OPT_STOP_DATETIME,
|
||||
OPT_SIGINT_IGNORE, OPT_HEXBLOB, OPT_ORDER_BY_PRIMARY, OPT_COUNT,
|
||||
#ifdef HAVE_NDBCLUSTER_DB
|
||||
OPT_NDBCLUSTER, OPT_NDB_CONNECTSTRING,
|
||||
#endif
|
||||
OPT_TRIGGERS,
|
||||
OPT_MYSQL_ONLY_PRINT,
|
||||
OPT_MYSQL_LOCK_DIRECTORY,
|
||||
|
|
|
|||
|
|
@ -28,11 +28,13 @@ typedef struct st_line_buffer
|
|||
uint eof;
|
||||
ulong max_size;
|
||||
ulong read_length; /* Length of last read string */
|
||||
int error;
|
||||
bool truncated;
|
||||
} LINE_BUFFER;
|
||||
|
||||
extern LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file);
|
||||
extern LINE_BUFFER *batch_readline_command(LINE_BUFFER *buffer, char * str);
|
||||
extern char *batch_readline(LINE_BUFFER *buffer, bool *truncated);
|
||||
extern char *batch_readline(LINE_BUFFER *buffer);
|
||||
extern void batch_readline_end(LINE_BUFFER *buffer);
|
||||
|
||||
#endif /* CLIENT_MY_READLINE_INCLUDED */
|
||||
|
|
|
|||
|
|
@ -1127,6 +1127,8 @@ int main(int argc,char *argv[])
|
|||
if (status.batch && !status.line_buff &&
|
||||
!(status.line_buff= batch_readline_init(MAX_BATCH_BUFFER_SIZE, stdin)))
|
||||
{
|
||||
put_info("Can't initialize batch_readline - may be the input source is "
|
||||
"a directory or a block device.", INFO_ERROR, 0);
|
||||
free_defaults(defaults_argv);
|
||||
my_end(0);
|
||||
exit(1);
|
||||
|
|
@ -1839,14 +1841,13 @@ static int read_and_execute(bool interactive)
|
|||
ulong line_number=0;
|
||||
bool ml_comment= 0;
|
||||
COMMANDS *com;
|
||||
bool truncated= 0;
|
||||
status.exit_status=1;
|
||||
|
||||
for (;;)
|
||||
{
|
||||
if (!interactive)
|
||||
{
|
||||
line=batch_readline(status.line_buff, &truncated);
|
||||
line=batch_readline(status.line_buff);
|
||||
/*
|
||||
Skip UTF8 Byte Order Marker (BOM) 0xEFBBBF.
|
||||
Editors like "notepad" put this marker in
|
||||
|
|
@ -1909,9 +1910,13 @@ static int read_and_execute(bool interactive)
|
|||
if (opt_outfile && line)
|
||||
fprintf(OUTFILE, "%s\n", line);
|
||||
}
|
||||
if (!line) // End of file
|
||||
// End of file or system error
|
||||
if (!line)
|
||||
{
|
||||
status.exit_status=0;
|
||||
if (status.line_buff && status.line_buff->error)
|
||||
status.exit_status= 1;
|
||||
else
|
||||
status.exit_status= 0;
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -1932,7 +1937,8 @@ static int read_and_execute(bool interactive)
|
|||
#endif
|
||||
continue;
|
||||
}
|
||||
if (add_line(glob_buffer,line,&in_string,&ml_comment, truncated))
|
||||
if (add_line(glob_buffer, line, &in_string, &ml_comment,
|
||||
status.line_buff ? status.line_buff->truncated : 0))
|
||||
break;
|
||||
}
|
||||
/* if in batch mode, send last query even if it doesn't end with \g or go */
|
||||
|
|
|
|||
|
|
@ -1153,6 +1153,9 @@ static int switch_db_collation(FILE *sql_file,
|
|||
{
|
||||
if (strcmp(current_db_cl_name, required_db_cl_name) != 0)
|
||||
{
|
||||
char quoted_db_buf[NAME_LEN * 2 + 3];
|
||||
char *quoted_db_name= quote_name(db_name, quoted_db_buf, FALSE);
|
||||
|
||||
CHARSET_INFO *db_cl= get_charset_by_name(required_db_cl_name, MYF(0));
|
||||
|
||||
if (!db_cl)
|
||||
|
|
@ -1160,7 +1163,7 @@ static int switch_db_collation(FILE *sql_file,
|
|||
|
||||
fprintf(sql_file,
|
||||
"ALTER DATABASE %s CHARACTER SET %s COLLATE %s %s\n",
|
||||
(const char *) db_name,
|
||||
(const char *) quoted_db_name,
|
||||
(const char *) db_cl->csname,
|
||||
(const char *) db_cl->name,
|
||||
(const char *) delimiter);
|
||||
|
|
@ -1181,6 +1184,9 @@ static int restore_db_collation(FILE *sql_file,
|
|||
const char *delimiter,
|
||||
const char *db_cl_name)
|
||||
{
|
||||
char quoted_db_buf[NAME_LEN * 2 + 3];
|
||||
char *quoted_db_name= quote_name(db_name, quoted_db_buf, FALSE);
|
||||
|
||||
CHARSET_INFO *db_cl= get_charset_by_name(db_cl_name, MYF(0));
|
||||
|
||||
if (!db_cl)
|
||||
|
|
@ -1188,7 +1194,7 @@ static int restore_db_collation(FILE *sql_file,
|
|||
|
||||
fprintf(sql_file,
|
||||
"ALTER DATABASE %s CHARACTER SET %s COLLATE %s %s\n",
|
||||
(const char *) db_name,
|
||||
(const char *) quoted_db_name,
|
||||
(const char *) db_cl->csname,
|
||||
(const char *) db_cl->name,
|
||||
(const char *) delimiter);
|
||||
|
|
|
|||
|
|
@ -18,18 +18,28 @@
|
|||
#include <my_global.h>
|
||||
#include <my_sys.h>
|
||||
#include <m_string.h>
|
||||
#include <my_dir.h>
|
||||
#include "my_readline.h"
|
||||
|
||||
static bool init_line_buffer(LINE_BUFFER *buffer,File file,ulong size,
|
||||
ulong max_size);
|
||||
static bool init_line_buffer_from_string(LINE_BUFFER *buffer,char * str);
|
||||
static size_t fill_buffer(LINE_BUFFER *buffer);
|
||||
static char *intern_read_line(LINE_BUFFER *buffer, ulong *out_length, bool *truncated);
|
||||
static char *intern_read_line(LINE_BUFFER *buffer, ulong *out_length);
|
||||
|
||||
|
||||
LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file)
|
||||
{
|
||||
LINE_BUFFER *line_buff;
|
||||
MY_STAT input_file_stat;
|
||||
|
||||
#ifndef __WIN__
|
||||
if (my_fstat(fileno(file), &input_file_stat, MYF(MY_WME)) ||
|
||||
MY_S_ISDIR(input_file_stat.st_mode) ||
|
||||
MY_S_ISBLK(input_file_stat.st_mode))
|
||||
return 0;
|
||||
#endif
|
||||
|
||||
if (!(line_buff=(LINE_BUFFER*)
|
||||
my_malloc(sizeof(*line_buff),MYF(MY_WME | MY_ZEROFILL))))
|
||||
return 0;
|
||||
|
|
@ -42,13 +52,12 @@ LINE_BUFFER *batch_readline_init(ulong max_size,FILE *file)
|
|||
}
|
||||
|
||||
|
||||
char *batch_readline(LINE_BUFFER *line_buff, bool *truncated)
|
||||
char *batch_readline(LINE_BUFFER *line_buff)
|
||||
{
|
||||
char *pos;
|
||||
ulong out_length;
|
||||
DBUG_ASSERT(truncated != NULL);
|
||||
|
||||
if (!(pos=intern_read_line(line_buff,&out_length, truncated)))
|
||||
if (!(pos=intern_read_line(line_buff, &out_length)))
|
||||
return 0;
|
||||
if (out_length && pos[out_length-1] == '\n')
|
||||
if (--out_length && pos[out_length-1] == '\r') /* Remove '\n' */
|
||||
|
|
@ -162,7 +171,10 @@ static size_t fill_buffer(LINE_BUFFER *buffer)
|
|||
if (!(buffer->buffer = (char*) my_realloc(buffer->buffer,
|
||||
buffer->bufread+1,
|
||||
MYF(MY_WME | MY_FAE))))
|
||||
return (uint) -1;
|
||||
{
|
||||
buffer->error= my_errno;
|
||||
return (size_t) -1;
|
||||
}
|
||||
buffer->start_of_line=buffer->buffer+start_offset;
|
||||
buffer->end=buffer->buffer+bufbytes;
|
||||
}
|
||||
|
|
@ -177,7 +189,10 @@ static size_t fill_buffer(LINE_BUFFER *buffer)
|
|||
/* Read in new stuff. */
|
||||
if ((read_count= my_read(buffer->file, (uchar*) buffer->end, read_count,
|
||||
MYF(MY_WME))) == MY_FILE_ERROR)
|
||||
{
|
||||
buffer->error= my_errno;
|
||||
return (size_t) -1;
|
||||
}
|
||||
|
||||
DBUG_PRINT("fill_buff", ("Got %lu bytes", (ulong) read_count));
|
||||
|
||||
|
|
@ -198,8 +213,7 @@ static size_t fill_buffer(LINE_BUFFER *buffer)
|
|||
}
|
||||
|
||||
|
||||
|
||||
char *intern_read_line(LINE_BUFFER *buffer, ulong *out_length, bool *truncated)
|
||||
char *intern_read_line(LINE_BUFFER *buffer, ulong *out_length)
|
||||
{
|
||||
char *pos;
|
||||
size_t length;
|
||||
|
|
@ -214,22 +228,25 @@ char *intern_read_line(LINE_BUFFER *buffer, ulong *out_length, bool *truncated)
|
|||
if (pos == buffer->end)
|
||||
{
|
||||
/*
|
||||
fill_buffer() can return 0 either on EOF in which case we abort
|
||||
or when the internal buffer has hit the size limit. In the latter case
|
||||
return what we have read so far and signal string truncation.
|
||||
fill_buffer() can return NULL on EOF (in which case we abort),
|
||||
on error, or when the internal buffer has hit the size limit.
|
||||
In the latter case return what we have read so far and signal
|
||||
string truncation.
|
||||
*/
|
||||
if (!(length=fill_buffer(buffer)) || length == (uint) -1)
|
||||
if (!(length= fill_buffer(buffer)))
|
||||
{
|
||||
if (buffer->eof)
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
else if (length == (size_t) -1)
|
||||
DBUG_RETURN(NULL);
|
||||
else
|
||||
continue;
|
||||
pos--; /* break line here */
|
||||
*truncated= 1;
|
||||
buffer->truncated= 1;
|
||||
}
|
||||
else
|
||||
*truncated= 0;
|
||||
buffer->truncated= 0;
|
||||
buffer->end_of_line=pos+1;
|
||||
*out_length=(ulong) (pos + 1 - buffer->eof - buffer->start_of_line);
|
||||
DBUG_RETURN(buffer->start_of_line);
|
||||
|
|
|
|||
30
cmake/info_bin.cmake
Normal file
30
cmake/info_bin.cmake
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
# The sole purpose of this cmake control file is to create the "INFO_BIN" file.
|
||||
|
||||
# By having a separate cmake file for this, it is ensured this happens
|
||||
# only in the build (Unix: "make") phase, not when cmake runs.
|
||||
# This, in turn, avoids creating stuff in the source directory -
|
||||
# it should get into the binary directory only.
|
||||
|
||||
|
||||
# Get the macros which the "INFO_*" files.
|
||||
INCLUDE(${CMAKE_BINARY_DIR}/info_macros.cmake)
|
||||
|
||||
# Here is where the action is.
|
||||
CREATE_INFO_BIN()
|
||||
|
||||
132
cmake/info_macros.cmake.in
Normal file
132
cmake/info_macros.cmake.in
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
# Handle/create the "INFO_*" files describing a MySQL (server) binary.
|
||||
# This is part of the fix for bug#42969.
|
||||
|
||||
|
||||
# Several of cmake's variables need to be translated from '@' notation
|
||||
# to '${}', this is done by the "configure" call in top level "CMakeLists.txt".
|
||||
# If further variables are used in this file, add them to this list.
|
||||
|
||||
SET(VERSION "@VERSION@")
|
||||
SET(CMAKE_SOURCE_DIR "@CMAKE_SOURCE_DIR@")
|
||||
SET(CMAKE_BINARY_DIR "@CMAKE_BINARY_DIR@")
|
||||
SET(CMAKE_GENERATOR "@CMAKE_GENERATOR@")
|
||||
SET(CMAKE_SIZEOF_VOID_P "@CMAKE_SIZEOF_VOID_P@")
|
||||
SET(BZR_EXECUTABLE "@BZR_EXECUTABLE@")
|
||||
SET(CMAKE_CROSSCOMPILING "@CMAKE_CROSSCOMPILING@")
|
||||
SET(CMAKE_HOST_SYSTEM "@CMAKE_HOST_SYSTEM@")
|
||||
SET(CMAKE_HOST_SYSTEM_PROCESSOR "@CMAKE_HOST_SYSTEM_PROCESSOR@")
|
||||
SET(CMAKE_SYSTEM "@CMAKE_SYSTEM@")
|
||||
SET(CMAKE_SYSTEM_PROCESSOR "@CMAKE_SYSTEM_PROCESSOR@")
|
||||
|
||||
|
||||
# Create an "INFO_SRC" file with information about the source (only).
|
||||
# We use "bzr version-info", if possible, and the "VERSION" contents.
|
||||
#
|
||||
# Outside development (BZR tree), the "INFO_SRC" file will not be modified
|
||||
# provided it exists (from "make dist" or a source tarball creation).
|
||||
|
||||
MACRO(CREATE_INFO_SRC target_dir)
|
||||
SET(INFO_SRC "${target_dir}/INFO_SRC")
|
||||
|
||||
IF(EXISTS ${CMAKE_SOURCE_DIR}/.bzr)
|
||||
# Sources are in a BZR repository: Always update.
|
||||
EXECUTE_PROCESS(
|
||||
COMMAND ${BZR_EXECUTABLE} version-info ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE VERSION_INFO
|
||||
RESULT_VARIABLE RESULT
|
||||
)
|
||||
FILE(WRITE ${INFO_SRC} "${VERSION_INFO}\n")
|
||||
# to debug, add: FILE(APPEND ${INFO_SRC} "\nResult ${RESULT}\n")
|
||||
# For better readability ...
|
||||
FILE(APPEND ${INFO_SRC} "\nMySQL source ${VERSION}\n")
|
||||
ELSEIF(EXISTS ${INFO_SRC})
|
||||
# Outside a BZR tree, there is no need to change an existing "INFO_SRC",
|
||||
# it cannot be improved.
|
||||
ELSEIF(EXISTS ${CMAKE_SOURCE_DIR}/Docs/INFO_SRC)
|
||||
# If we are building from a source distribution, it also contains "INFO_SRC".
|
||||
# Similar, the export used for a release build already has the file.
|
||||
FILE(READ ${CMAKE_SOURCE_DIR}/Docs/INFO_SRC SOURCE_INFO)
|
||||
FILE(WRITE ${INFO_SRC} "${SOURCE_INFO}\n")
|
||||
ELSEIF(EXISTS ${CMAKE_SOURCE_DIR}/INFO_SRC)
|
||||
# This is not the proper location, but who knows ...
|
||||
FILE(READ ${CMAKE_SOURCE_DIR}/INFO_SRC SOURCE_INFO)
|
||||
FILE(WRITE ${INFO_SRC} "${SOURCE_INFO}\n")
|
||||
ELSE()
|
||||
# This is a fall-back.
|
||||
FILE(WRITE ${INFO_SRC} "\nMySQL source ${VERSION}\n")
|
||||
ENDIF()
|
||||
ENDMACRO(CREATE_INFO_SRC)
|
||||
|
||||
|
||||
# This is for the "real" build, must be run again with each cmake run
|
||||
# to make sure we report the current flags (not those of some previous run).
|
||||
|
||||
MACRO(CREATE_INFO_BIN)
|
||||
SET(INFO_BIN "Docs/INFO_BIN")
|
||||
|
||||
FILE(WRITE ${INFO_BIN} "===== Information about the build process: =====\n")
|
||||
IF (WIN32)
|
||||
EXECUTE_PROCESS(COMMAND cmd /c date /T OUTPUT_VARIABLE TMP_DATE)
|
||||
ELSEIF(UNIX)
|
||||
EXECUTE_PROCESS(COMMAND date "+%Y-%m-%d %H:%M:%S" OUTPUT_VARIABLE TMP_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
ELSE()
|
||||
SET(TMP_DATE "(no date command known for this platform)")
|
||||
ENDIF()
|
||||
SITE_NAME(HOSTNAME)
|
||||
FILE(APPEND ${INFO_BIN} "Build was run at ${TMP_DATE} on host '${HOSTNAME}'\n\n")
|
||||
|
||||
# According to the cmake docs, these variables should always be set.
|
||||
# However, they are empty in my tests, using cmake 2.6.4 on Linux, various Unix, and Windows.
|
||||
# Still, include this code, so we will profit if a build environment does provide that info.
|
||||
IF(CMAKE_HOST_SYSTEM)
|
||||
FILE(APPEND ${INFO_BIN} "Build was done on ${CMAKE_HOST_SYSTEM} using ${CMAKE_HOST_SYSTEM_PROCESSOR}\n")
|
||||
ENDIF()
|
||||
IF(CMAKE_CROSSCOMPILING)
|
||||
FILE(APPEND ${INFO_BIN} "Build was done for ${CMAKE_SYSTEM} using ${CMAKE_SYSTEM_PROCESSOR}\n")
|
||||
ENDIF()
|
||||
|
||||
# ${CMAKE_VERSION} doesn't work in 2.6.0, use the separate components.
|
||||
FILE(APPEND ${INFO_BIN} "Build was done using cmake ${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION} \n\n")
|
||||
|
||||
IF (WIN32)
|
||||
FILE(APPEND ${INFO_BIN} "===== Compiler / generator used: =====\n")
|
||||
FILE(APPEND ${INFO_BIN} ${CMAKE_GENERATOR} "\n\n")
|
||||
ELSEIF(UNIX)
|
||||
FILE(APPEND ${INFO_BIN} "===== Compiler flags used (from the 'sql/' subdirectory): =====\n")
|
||||
IF(EXISTS sql/CMakeFiles/sql.dir/flags.make)
|
||||
EXECUTE_PROCESS(COMMAND egrep "^# compile|^C_|^CXX_" sql/CMakeFiles/sql.dir/flags.make OUTPUT_VARIABLE COMPILE_FLAGS)
|
||||
FILE(APPEND ${INFO_BIN} ${COMPILE_FLAGS} "\n")
|
||||
ELSE()
|
||||
FILE(APPEND ${INFO_BIN} "File 'sql/CMakeFiles/sql.dir/flags.make' is not yet found.\n\n")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
FILE(APPEND ${INFO_BIN} "Pointer size: ${CMAKE_SIZEOF_VOID_P}\n\n")
|
||||
|
||||
FILE(APPEND ${INFO_BIN} "===== Feature flags used: =====\n")
|
||||
IF(EXISTS ${CMAKE_BINARY_DIR}/CMakeCache.txt)
|
||||
# Attention: "-N" prevents cmake from entering a recursion, and it must be a separate flag from "-L".
|
||||
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -N -L ${CMAKE_BINARY_DIR} OUTPUT_VARIABLE FEATURE_FLAGS)
|
||||
FILE(APPEND ${INFO_BIN} ${FEATURE_FLAGS} "\n")
|
||||
ELSE()
|
||||
FILE(APPEND ${INFO_BIN} "File 'CMakeCache.txt' is not yet found.\n\n")
|
||||
ENDIF()
|
||||
|
||||
FILE(APPEND ${INFO_BIN} "===== EOF =====\n")
|
||||
ENDMACRO(CREATE_INFO_BIN)
|
||||
|
||||
31
cmake/info_src.cmake
Normal file
31
cmake/info_src.cmake
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; version 2 of the License.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
|
||||
# The sole purpose of this cmake control file is to create the "INFO_SRC" file.
|
||||
|
||||
# As long as and "bzr pull" (or "bzr commit") is followed by a "cmake",
|
||||
# the call in top level "CMakeLists.txt" is sufficient.
|
||||
# This file is to provide a separate target for the "make" phase,
|
||||
# to ensure the BZR revision-id is correct even after a sequence
|
||||
# cmake ; make ; bzr pull ; make
|
||||
|
||||
|
||||
# Get the macros which handle the "INFO_*" files.
|
||||
INCLUDE(${CMAKE_BINARY_DIR}/info_macros.cmake)
|
||||
|
||||
# Here is where the action is.
|
||||
CREATE_INFO_SRC(${CMAKE_BINARY_DIR}/Docs)
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
# Copyright (C) 2009 Sun Microsystems, Inc
|
||||
# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -106,6 +106,12 @@ IF(MYSQL_DOCS_LOCATION)
|
|||
EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -E copy_directory "${MYSQL_DOCS_LOCATION}" "${PACKAGE_DIR}")
|
||||
ENDIF()
|
||||
|
||||
# Ensure there is an "INFO_SRC" file.
|
||||
INCLUDE(${CMAKE_BINARY_DIR}/info_macros.cmake)
|
||||
IF(NOT EXISTS ${PACKAGE_DIR}/Docs/INFO_SRC)
|
||||
CREATE_INFO_SRC(${PACKAGE_DIR}/Docs)
|
||||
ENDIF()
|
||||
|
||||
# In case we used CPack, it could have copied some
|
||||
# extra files that are not usable on different machines.
|
||||
FILE(REMOVE ${PACKAGE_DIR}/CMakeCache.txt)
|
||||
|
|
|
|||
|
|
@ -614,4 +614,9 @@
|
|||
#define PROTOCOL_VERSION 10
|
||||
|
||||
|
||||
/* time_t related defines */
|
||||
|
||||
#cmakedefine SIZEOF_TIME_T @SIZEOF_TIME_T@
|
||||
#cmakedefine TIME_T_UNSIGNED @TIME_T_UNSIGNED@
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -574,6 +574,7 @@ MY_CHECK_TYPE_SIZE(uint32 UINT32)
|
|||
MY_CHECK_TYPE_SIZE(u_int32_t U_INT32_T)
|
||||
MY_CHECK_TYPE_SIZE(int64 INT64)
|
||||
MY_CHECK_TYPE_SIZE(uint64 UINT64)
|
||||
MY_CHECK_TYPE_SIZE(time_t TIME_T)
|
||||
SET (CMAKE_EXTRA_INCLUDE_FILES sys/types.h)
|
||||
MY_CHECK_TYPE_SIZE(bool BOOL)
|
||||
SET(CMAKE_EXTRA_INCLUDE_FILES)
|
||||
|
|
@ -593,6 +594,16 @@ ENDIF()
|
|||
# Code tests
|
||||
#
|
||||
|
||||
# check whether time_t is unsigned
|
||||
CHECK_C_SOURCE_COMPILES("
|
||||
int main()
|
||||
{
|
||||
int array[(((time_t)-1) > 0) ? 1 : -1];
|
||||
return 0;
|
||||
}"
|
||||
TIME_T_UNSIGNED)
|
||||
|
||||
|
||||
CHECK_C_SOURCE_COMPILES("
|
||||
#ifdef _WIN32
|
||||
#include <winsock2.h>
|
||||
|
|
|
|||
|
|
@ -219,14 +219,13 @@ static void print_escaped_string(FILE *f, const char *str)
|
|||
|
||||
static int create_header_files(struct errors *error_head)
|
||||
{
|
||||
uint er_last;
|
||||
uint er_last= 0;
|
||||
FILE *er_definef, *sql_statef, *er_namef;
|
||||
struct errors *tmp_error;
|
||||
struct message *er_msg;
|
||||
const char *er_text;
|
||||
|
||||
DBUG_ENTER("create_header_files");
|
||||
LINT_INIT(er_last);
|
||||
|
||||
if (!(er_definef= my_fopen(HEADERFILE, O_WRONLY, MYF(MY_WME))))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,3 +1,18 @@
|
|||
/* Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; version 2 of the License.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
|
||||
|
||||
#ifndef MY_BIT_INCLUDED
|
||||
#define MY_BIT_INCLUDED
|
||||
|
||||
|
|
@ -44,9 +59,12 @@ static inline uint my_count_bits(ulonglong v)
|
|||
#endif
|
||||
}
|
||||
|
||||
static inline uint my_count_bits_ushort(ushort v)
|
||||
static inline uint my_count_bits_uint32(uint32 v)
|
||||
{
|
||||
return _my_bits_nbits[v];
|
||||
return (uint) (uchar) (_my_bits_nbits[(uchar) v] +
|
||||
_my_bits_nbits[(uchar) (v >> 8)] +
|
||||
_my_bits_nbits[(uchar) (v >> 16)] +
|
||||
_my_bits_nbits[(uchar) (v >> 24)]);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 2000 MySQL AB, 2009 Sun Microsystems, Inc
|
||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -125,9 +125,10 @@ bitmap_is_set(const MY_BITMAP *map,uint bit)
|
|||
|
||||
static inline my_bool bitmap_cmp(const MY_BITMAP *map1, const MY_BITMAP *map2)
|
||||
{
|
||||
*(map1)->last_word_ptr|= (map1)->last_word_mask;
|
||||
*(map2)->last_word_ptr|= (map2)->last_word_mask;
|
||||
return memcmp((map1)->bitmap, (map2)->bitmap, 4*no_words_in_map((map1)))==0;
|
||||
if (memcmp(map1->bitmap, map2->bitmap, 4*(no_words_in_map(map1)-1)) != 0)
|
||||
return FALSE;
|
||||
return ((*map1->last_word_ptr | map1->last_word_mask) ==
|
||||
(*map2->last_word_ptr | map2->last_word_mask));
|
||||
}
|
||||
|
||||
#define bitmap_clear_all(MAP) \
|
||||
|
|
|
|||
|
|
@ -1476,7 +1476,6 @@ static inline double rint(double x)
|
|||
|
||||
#undef HAVE_OPENSSL
|
||||
#undef HAVE_SMEM /* No shared memory */
|
||||
#undef HAVE_NDBCLUSTER_DB /* No NDB cluster */
|
||||
|
||||
#endif /* EMBEDDED_LIBRARY */
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (C) 2000-2008 MySQL AB, 2008-2009 Sun Microsystems, Inc.
|
||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -806,8 +806,7 @@ extern pthread_mutexattr_t my_errorcheck_mutexattr;
|
|||
typedef ulong my_thread_id;
|
||||
|
||||
extern my_bool my_thread_global_init(void);
|
||||
extern my_bool my_thread_basic_global_init(void);
|
||||
extern void my_thread_basic_global_reinit(void);
|
||||
extern void my_thread_global_reinit(void);
|
||||
extern void my_thread_global_end(void);
|
||||
extern my_bool my_thread_init(void);
|
||||
extern void my_thread_end(void);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
/* Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
/* Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -104,7 +104,7 @@ typedef struct my_aio_result {
|
|||
#define ME_HOLDTANG 8 /* Don't delete last keys */
|
||||
#define ME_WAITTOT 16 /* Wait for errtime secs of for a action */
|
||||
#define ME_WAITTANG 32 /* Wait for a user action */
|
||||
#define ME_NOREFRESH 64 /* Dont refresh screen */
|
||||
#define ME_NOREFRESH 64 /* Write the error message to error log */
|
||||
#define ME_NOINPUT 128 /* Dont use the input libary */
|
||||
#define ME_COLOUR1 ((1 << ME_HIGHBYTE)) /* Possibly error-colours */
|
||||
#define ME_COLOUR2 ((2 << ME_HIGHBYTE))
|
||||
|
|
@ -641,7 +641,6 @@ extern int my_error_register(const char** (*get_errmsgs) (),
|
|||
extern const char **my_error_unregister(int first, int last);
|
||||
extern void my_message(uint my_err, const char *str,myf MyFlags);
|
||||
extern void my_message_stderr(uint my_err, const char *str, myf MyFlags);
|
||||
extern my_bool my_basic_init(void);
|
||||
extern my_bool my_init(void);
|
||||
extern void my_end(int infoflag);
|
||||
extern int my_redel(const char *from, const char *to, int MyFlags);
|
||||
|
|
|
|||
|
|
@ -50,6 +50,19 @@ typedef long my_time_t;
|
|||
/* two-digit years < this are 20..; >= this are 19.. */
|
||||
#define YY_PART_YEAR 70
|
||||
|
||||
/*
|
||||
check for valid times only if the range of time_t is greater than
|
||||
the range of my_time_t
|
||||
*/
|
||||
#if SIZEOF_TIME_T > 4 || defined(TIME_T_UNSIGNED)
|
||||
# define IS_TIME_T_VALID_FOR_TIMESTAMP(x) \
|
||||
((x) <= TIMESTAMP_MAX_VALUE && \
|
||||
(x) >= TIMESTAMP_MIN_VALUE)
|
||||
#else
|
||||
# define IS_TIME_T_VALID_FOR_TIMESTAMP(x) \
|
||||
((x) >= TIMESTAMP_MIN_VALUE)
|
||||
#endif
|
||||
|
||||
/* Flags to str_to_datetime */
|
||||
#define TIME_FUZZY_DATE 1
|
||||
#define TIME_DATETIME_ONLY 2
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
|
||||
#undef HAVE_DLOPEN /* No udf functions */
|
||||
#undef HAVE_SMEM /* No shared memory */
|
||||
#undef HAVE_NDBCLUSTER_DB /* No NDB cluster */
|
||||
|
||||
#endif /* EMBEDDED_LIBRARY */
|
||||
#endif /* MYSQL_EMBED_INCLUDED */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,15 @@
|
|||
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
|
||||
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=normal --vardir=var-normal --report-features
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=row --vardir=var-row --mysqld=--binlog-format=row
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps_row --vardir=var-ps_row --mysqld=--binlog-format=row --ps-protocol
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-embedded --embedded
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps --vardir=var-ps --ps-protocol
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=ps_funcs1 --vardir=var-ps_funcs_1 --suite=funcs_1 --ps-protocol
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=funcs2 --vardir=var-funcs2 --suite=funcs_2
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=partitions --vardir=var-parts --suite=parts
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=stress --vardir=var-stress --suite=stress
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=jp --vardir=var-jp --suite=jp
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=nist --vardir=var-nist --suite=nist
|
||||
perl mysql-test-run.pl --force --timer --debug-server --parallel=auto --experimental=collections/default.experimental --comment=nist+ps --vardir=var-ps_nist --suite=nist --ps-protocol
|
||||
|
|
|
|||
|
|
@ -6,7 +6,6 @@ binlog.binlog_multi_engine # joro : NDB tests marked as experiment
|
|||
funcs_1.charset_collation_1 # depends on compile-time decisions
|
||||
|
||||
main.func_math @freebsd # Bug#43020 2010-05-04 alik main.func_math fails on FreeBSD in PB2
|
||||
main.gis # Bug#52208 2010-11-24 alik gis fails on some platforms (Solaris, HP-UX, Linux)
|
||||
main.gis-rtree @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server
|
||||
main.lock_multi_bug38499 # Bug#47448 2009-09-19 alik main.lock_multi_bug38499 times out sporadically
|
||||
main.outfile_loaddata @solaris # Bug#46895 2010-01-20 alik Test "outfile_loaddata" fails (reproducible)
|
||||
|
|
@ -15,14 +14,17 @@ main.sp @solaris # Bug#47791 2010-01-20 alik Several tes
|
|||
main.type_float @freebsd # Bug#38965 2010-05-04 alik test cases gis-rtree, type_float, type_newdecimal fail in embedded server
|
||||
main.wait_timeout @solaris # Bug#51244 2010-04-26 alik wait_timeout fails on OpenSolaris
|
||||
|
||||
rpl.rpl_heartbeat_basic # BUG#54820 2010-06-26 alik rpl.rpl_heartbeat_basic fails sporadically again
|
||||
rpl.rpl_heartbeat_2slaves # BUG#43828 2009-10-22 luis fails sporadically
|
||||
rpl.rpl_innodb_bug28430 # Bug#46029
|
||||
|
||||
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.plugin_dir_basic # Bug#52223 2010-11-24 alik Test "plugin_dir_basic" does not support RPM build (test) directory structure
|
||||
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.wait_timeout_func # Bug#41255 2010-04-26 alik wait_timeout_func fails
|
||||
sys_vars.sys_vars # Bug #59148 2011-01-10 joro 'INSTALL PLUGIN rpl_semi_sync_master' fails in release build with debug binaries
|
||||
sys_vars.rpl_semi_sync_master_enabled_basic # Bug #59148 2011-01-10 joro 'INSTALL PLUGIN rpl_semi_sync_master' fails in release build with debug binaries
|
||||
sys_vars.rpl_semi_sync_master_timeout_basic # Bug #59148 2011-01-10 joro 'INSTALL PLUGIN rpl_semi_sync_master' fails in release build with debug binaries
|
||||
sys_vars.rpl_semi_sync_master_trace_level_basic # Bug #59148 2011-01-10 joro 'INSTALL PLUGIN rpl_semi_sync_master' fails in release build with debug binaries
|
||||
sys_vars.rpl_semi_sync_master_wait_no_slave_basic # Bug #59148 2011-01-10 joro 'INSTALL PLUGIN rpl_semi_sync_master' fails in release build with debug binaries
|
||||
|
||||
# BUG #59055 : All ndb tests should be removed from the repository
|
||||
# Leaving the sys_vars tests for now. sys_vars.all_vars.test fails on removing ndb tests
|
||||
|
|
|
|||
11
mysql-test/collections/default.release
Normal file
11
mysql-test/collections/default.release
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=debug --vardir=var-debug --skip-ndbcluster --skip-rpl --report-features --debug-server
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=normal --vardir=var-normal --skip-ndbcluster --report-features
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=ps --vardir=var-ps --skip-ndbcluster --ps-protocol
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=funcs1+ps --vardir=var-funcs_1_ps --suite=funcs_1 --ps-protocol
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=funcs2 --vardir=var-funcs2 --suite=funcs_2
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=partitions --vardir=var-parts --suite=parts
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=stress --vardir=var-stress --suite=stress
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=jp --vardir=var-jp --suite=jp
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-embedded --embedded-server --skip-rpl --skip-ndbcluster
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=nist --vardir=var-nist --suite=nist
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --experimental=collections/default.experimental --comment=nist+ps --vardir=var-nist_ps --suite=nist --ps-protocol
|
||||
|
|
@ -1,8 +1,7 @@
|
|||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=1st --experimental=collections/default.experimental 1st
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=big-tests --experimental=collections/default.experimental --vardir=var-big-tests --big-test --testcase-timeout=60 --suite-timeout=600 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_2_innodb parts.partition_alter2_1_1_innodb parts.partition_alter2_1_2_innodb parts.partition_alter2_2_2_innodb parts.partition_alter4_innodb funcs_1.myisam_views-big
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=eits-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=eits-rpl-binlog-row-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=row
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=eits-rpl-binlog-mixed-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-binlog-mixed-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=mixed
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=eits-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=eits-rpl-binlog-row-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --do-test=rpl --mysqld=--binlog-format=row
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=eits-rpl-binlog-mixed-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-binlog-mixed-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --do-test=rpl --mysqld=--binlog-format=mixed
|
||||
perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=big-tests --experimental=collections/default.experimental --vardir=var-big-tests --big-test --testcase-timeout=60 --suite-timeout=600 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_2_innodb parts.partition_alter2_1_1_innodb parts.partition_alter2_1_2_innodb parts.partition_alter2_2_2_innodb parts.partition_alter4_innodb funcs_1.myisam_views-big
|
||||
perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam
|
||||
perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-row-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=row
|
||||
perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-mixed-tests-myisam-engine --experimental=collections/default.experimental --vardir=var-binlog-mixed-eits-tests-myisam-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=myisam --do-test=rpl --mysqld=--binlog-format=mixed
|
||||
perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-stmt-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb
|
||||
perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-row-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-binlog-row-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --do-test=rpl --mysqld=--binlog-format=row
|
||||
perl mysql-test-run.pl --timer --force --debug-server --parallel=auto --comment=eits-rpl-binlog-mixed-tests-innodb-engine --experimental=collections/default.experimental --vardir=var-binlog-mixed-eits-tests-innodb-engine --suite=engines/iuds,engines/funcs --suite-timeout=500 --max-test-fail=0 --retry-failure=0 --mysqld=--default-storage-engine=innodb --mysqld=--innodb --do-test=rpl --mysqld=--binlog-format=mixed
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
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=ps_row --vardir=var-ps_row --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=embedded --vardir=var-emebbed --embedded --experimental=collections/default.experimental --skip-ndb
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --suite=rpl,binlog --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=funcs_1 --vardir=var-funcs_1 --suite=funcs_1 --experimental=collections/default.experimental --skip-ndb
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
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=ps_row --vardir=var-ps_row --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=embedded --vardir=var-emebbed --embedded --experimental=collections/default.experimental --skip-ndb
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --comment=rpl_binlog_row --vardir=var-rpl_binlog_row --suite=rpl,binlog --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=funcs_1 --vardir=var-funcs_1 --suite=funcs_1 --experimental=collections/default.experimental --skip-ndb
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
|
||||
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 --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema
|
||||
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-test-list=collections/disabled-per-push.list
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --suite=main,binlog,innodb,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
|
||||
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 --suite=main,binlog,innodb,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded --suite=main,binlog,innodb,rpl,sys_vars,perfschema
|
||||
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-test-list=collections/disabled-per-push.list
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=n_mix --vardir=var-n_mix --mysqld=--binlog-format=mixed --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
|
||||
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 --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema --skip-test-list=collections/disabled-per-push.list
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=embedded --vardir=var-emebbed --embedded --suite=main,binlog,innodb,federated,rpl,sys_vars,perfschema
|
||||
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-test-list=collections/disabled-per-push.list
|
||||
perl mysql-test-run.pl --timer --force --parallel=auto --experimental=collections/default.experimental --comment=funcs_1 --vardir=var-funcs_1 --suite=funcs_1
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=normal --skip-ndbcluster --report-features --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=ps --skip-ndbcluster --ps-protocol --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=funcs1+ps --suite=funcs_1 --ps-protocol --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=funcs2 --suite=funcs_2 --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=partitions --suite=parts --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=stress --suite=stress --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=jp --suite=jp --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=embedded --embedded-server --skip-rpl --skip-ndbcluster --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=nist --suite=nist --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=nist+ps --suite=nist --ps-protocol --experimental=collections/default.experimental
|
||||
|
|
@ -1 +0,0 @@
|
|||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=debug --skip-ndbcluster --skip-rpl --report-features --experimental=collections/default.experimental
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=ps --skip-ndbcluster --ps-protocol --report-features --experimental=collections/default.experimental
|
||||
perl mysql-test-run.pl --force --timer --parallel=auto --comment=stress --suite=stress --experimental=collections/default.experimental
|
||||
|
|
@ -2,22 +2,24 @@
|
|||
|
||||
#
|
||||
# BUG#5551 "Failed OPTIMIZE TABLE is logged to binary log"
|
||||
# Replication should work when OPTIMIZE TABLE timeouts, and
|
||||
# when OPTIMIZE TABLE is executed on a non-existing table
|
||||
# Replication should work when when OPTIMIZE TABLE is
|
||||
# executed on a non-existing table.
|
||||
#
|
||||
# Due to patch for BUG#989, checking that an OPTIMIZE
|
||||
# that fails due to a lock wait timeout on an InnoDB table
|
||||
# is not valid anymore, as an mdl lock is hit before,
|
||||
# thence no timeout occurs, but instead a deadlock.
|
||||
#
|
||||
|
||||
|
||||
eval CREATE TABLE t1 ( a int ) ENGINE=$engine_type;
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
connection master1;
|
||||
OPTIMIZE TABLE t1;
|
||||
|
||||
OPTIMIZE TABLE non_existing;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
connection master;
|
||||
select * from t1;
|
||||
commit;
|
||||
|
|
|
|||
59
mysql-test/extra/rpl_tests/rpl_insert_duplicate.test
Normal file
59
mysql-test/extra/rpl_tests/rpl_insert_duplicate.test
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
# BUG#59338 Inconsistency in binlog for statements that don't change any rows STATEMENT SBR
|
||||
# In SBR, if a statement does not fail, it is always written to the binary log,
|
||||
# regardless if rows are changed or not. If there is a failure, a statement is
|
||||
# only written to the binary log if a non-transactional (.e.g. MyIsam) engine
|
||||
# is updated. INSERT ON DUPLICATE KEY UPDATE was not following the rule above
|
||||
# and was not written to the binary log, if then engine was Innodb.
|
||||
#
|
||||
# In this test case, we check if INSERT ON DUPLICATE KEY UPDATE that does not
|
||||
# change anything is still written to the binary log.
|
||||
|
||||
# Prepare environment
|
||||
--connection master
|
||||
|
||||
eval CREATE TABLE t1 (
|
||||
a INT UNSIGNED NOT NULL PRIMARY KEY
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
eval CREATE TABLE t2 (
|
||||
a INT UNSIGNED
|
||||
) ENGINE=$engine_type;
|
||||
|
||||
INSERT INTO t1 VALUES (1);
|
||||
INSERT INTO t2 VALUES (1);
|
||||
|
||||
# An insert duplicate that does not update anything must be written to the binary
|
||||
# log in SBR and MIXED modes. We check this property by summing a before and after
|
||||
# the update and comparing the binlog positions. The sum should be the same at both
|
||||
# points and the statement should be in the binary log.
|
||||
--let $binlog_file= query_get_value("SHOW MASTER STATUS", File, 1)
|
||||
--let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1)
|
||||
--let $statement_file=INSERT INTO t1 SELECT t2.a FROM t2 ORDER BY t2.a ON DUPLICATE KEY UPDATE t1.a= t1.a
|
||||
--eval $statement_file
|
||||
|
||||
--let $assert_cond= SUM(a) = 1 FROM t1
|
||||
--let $assert_text= Sum of elements in t1 should be 1.
|
||||
--source include/assert.inc
|
||||
|
||||
if (`SELECT @@BINLOG_FORMAT = 'ROW'`)
|
||||
{
|
||||
--let $binlog_position_cmp= =
|
||||
--let $assert_cond= [SHOW MASTER STATUS, Position, 1] $binlog_position_cmp $binlog_start
|
||||
--let $assert_text= In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.
|
||||
}
|
||||
if (`SELECT @@BINLOG_FORMAT != 'ROW'`)
|
||||
{
|
||||
--let $assert_cond= \'[\'SHOW BINLOG EVENTS IN "$binlog_file" FROM $binlog_start LIMIT 1, 1\', Info, 1]\' LIKE \'%$statement_file\'
|
||||
--let $assert_text= In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.
|
||||
}
|
||||
--source include/assert.inc
|
||||
|
||||
# Compare master and slave
|
||||
--sync_slave_with_master
|
||||
--let $diff_tables= master:test.t1 , slave:test.t1
|
||||
--source include/diff_tables.inc
|
||||
|
||||
# Clean up
|
||||
--connection master
|
||||
drop table t1, t2;
|
||||
--sync_slave_with_master
|
||||
|
|
@ -5,6 +5,7 @@
|
|||
# Slave needs to be started with --innodb to store table in InnoDB.
|
||||
# Same test for MyISAM (which had no bug).
|
||||
|
||||
--connection master
|
||||
eval CREATE TABLE t1 (
|
||||
a int unsigned not null auto_increment primary key,
|
||||
b int unsigned,
|
||||
|
|
@ -32,40 +33,44 @@ INSERT INTO t2 VALUES (5, 4);
|
|||
INSERT INTO t2 VALUES (6, 6);
|
||||
|
||||
INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
|
||||
--let $assert_cond= COUNT(*) = 6 FROM t1
|
||||
--let $assert_text= Count of elements in t1 should be 6.
|
||||
--source include/assert.inc
|
||||
|
||||
# Compare results
|
||||
# Compare master and slave
|
||||
--sync_slave_with_master
|
||||
--let $diff_tables= master:test.t1 , slave:test.t1
|
||||
--source include/diff_tables.inc
|
||||
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
# BUG#59338 Inconsistency in binlog for statements that don't change any rows STATEMENT SBR
|
||||
# An insert ignore that does not update anything must be written to the binary log in SBR
|
||||
# and MIXED modes. We check this property by counting occurrences in t1 before and after
|
||||
# the insert and comparing the binlog positions. The count should be the same in both points
|
||||
# and the statement should be in the binary log.
|
||||
--connection master
|
||||
--let $binlog_file= query_get_value("SHOW MASTER STATUS", File, 1)
|
||||
--let $binlog_start= query_get_value("SHOW MASTER STATUS", Position, 1)
|
||||
--let $statement_file=INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a
|
||||
--eval $statement_file
|
||||
|
||||
sync_slave_with_master;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
--let $assert_cond= COUNT(*) = 6 FROM t1
|
||||
--let $assert_text= Count of elements in t1 should be 6.
|
||||
--source include/assert.inc
|
||||
|
||||
# Now do the same for MyISAM
|
||||
if (`SELECT @@BINLOG_FORMAT = 'ROW'`)
|
||||
{
|
||||
--let $binlog_position_cmp= =
|
||||
--let $assert_cond= [SHOW MASTER STATUS, Position, 1] $binlog_position_cmp $binlog_start
|
||||
--let $assert_text= In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.
|
||||
}
|
||||
if (`SELECT @@BINLOG_FORMAT != 'ROW'`)
|
||||
{
|
||||
--let $assert_cond= \'[\'SHOW BINLOG EVENTS IN "$binlog_file" FROM $binlog_start LIMIT 2, 1\', Info, 1]\' LIKE \'%$statement_file\'
|
||||
--let $assert_text= In SBR or MIXED modes, the event in the binlog should be the same that was executed. In RBR mode, binlog position should stay unchanged.
|
||||
}
|
||||
--source include/assert.inc
|
||||
|
||||
connection master;
|
||||
drop table t1;
|
||||
eval CREATE TABLE t1 (
|
||||
a int unsigned not null auto_increment primary key,
|
||||
b int unsigned,
|
||||
unique (b)
|
||||
) ENGINE=$engine_type2;
|
||||
|
||||
INSERT INTO t1 VALUES (1, 1);
|
||||
INSERT INTO t1 VALUES (2, 2);
|
||||
INSERT INTO t1 VALUES (3, 3);
|
||||
INSERT INTO t1 VALUES (4, 4);
|
||||
|
||||
--disable_warnings
|
||||
INSERT IGNORE INTO t1 SELECT NULL, t2.b FROM t2 ORDER BY t2.a;
|
||||
--enable_warnings
|
||||
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
|
||||
sync_slave_with_master;
|
||||
SELECT * FROM t1 ORDER BY a;
|
||||
|
||||
connection master;
|
||||
# Clean up
|
||||
--connection master
|
||||
drop table t1, t2;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
--sync_slave_with_master
|
||||
|
|
|
|||
|
|
@ -502,16 +502,16 @@ call p_verify_status_increment(2, 2, 2, 2);
|
|||
--echo # 12. Read-write statement: IODKU, change 0 rows.
|
||||
--echo #
|
||||
insert t1 set a=2 on duplicate key update a=2;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 1, 0);
|
||||
commit;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 1, 0);
|
||||
|
||||
--echo # 13. Read-write statement: INSERT IGNORE, change 0 rows.
|
||||
--echo #
|
||||
insert ignore t1 set a=2;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 1, 0);
|
||||
commit;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 1, 0);
|
||||
|
||||
--echo # 14. Read-write statement: INSERT IGNORE, change 1 row.
|
||||
--echo #
|
||||
|
|
|
|||
|
|
@ -1737,6 +1737,35 @@ EXPLAIN SELECT * FROM t1 WHERE date_column BETWEEN '2010-09-01' AND '2010-10-01'
|
|||
DROP TABLE t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug #31384 DATE_ADD() and DATE_SUB() return binary data
|
||||
--echo #
|
||||
SELECT @@collation_connection, @@character_set_results;
|
||||
CREATE TABLE t1 AS
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
SHOW CREATE TABLE t1;
|
||||
DROP TABLE t1;
|
||||
--enable_metadata
|
||||
# PS protocol gives different "Max length" value for DATETIME.
|
||||
--disable_ps_protocol
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
--disable_metadata
|
||||
--enable_ps_protocol
|
||||
SELECT
|
||||
HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
|
||||
HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
|
||||
HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
|
||||
HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Bug#52159 returning time type from function and empty left join causes debug assertion
|
||||
--echo #
|
||||
|
|
|
|||
|
|
@ -44,3 +44,19 @@ SELECT COUNT(*) FROM t2 IGNORE INDEX(p) WHERE p=POINTFROMTEXT('POINT(1 2)');
|
|||
DROP TABLE t1, t2;
|
||||
|
||||
--echo End of 5.0 tests
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # Test for bug #58650 "Failing assertion: primary_key_no == -1 ||
|
||||
--echo # primary_key_no == 0".
|
||||
--echo #
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
--echo # The minimal test case.
|
||||
create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a));
|
||||
drop table t1;
|
||||
--echo # The original test case.
|
||||
create table t1 (a int not null, b linestring not null, unique key b (b(12)));
|
||||
create unique index a on t1(a);
|
||||
drop table t1;
|
||||
|
|
|
|||
|
|
@ -183,9 +183,6 @@ INSERT INTO global_suppressions VALUES
|
|||
("The slave I.O thread stops because a fatal error is encountered when it try to get the value of SERVER_ID variable from master."),
|
||||
(".SELECT UNIX_TIMESTAMP... failed on master, do not trust column Seconds_Behind_Master of SHOW SLAVE STATUS"),
|
||||
|
||||
/* Test case for Bug#31590 in order_by.test produces the following error */
|
||||
("Out of sort memory; increase server sort buffer size"),
|
||||
|
||||
/* Special case for Bug #26402 in show_check.test
|
||||
- Question marks are not valid file name parts on Windows. Ignore
|
||||
this error message.
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ DROP DATABASE hotcopy_save;
|
|||
--replace_result $MYSQLD_DATADIR MYSQLD_DATADIR
|
||||
--list_files $MYSQLD_DATADIR/hotcopy_save
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--error 9,2304
|
||||
--error 9,11,2304
|
||||
--exec $MYSQLHOTCOPY --quiet -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
|
||||
--replace_result $MASTER_MYSOCK MASTER_MYSOCK
|
||||
--exec $MYSQLHOTCOPY --quiet --allowold -S $MASTER_MYSOCK -u root hotcopy_test hotcopy_save
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
# with name1, name2 etc from the comma separated list of plugin names
|
||||
# in the optional 4th argument.
|
||||
|
||||
auth_test_plugin plugin/auth PLUGIN_AUTH test_plugin_server
|
||||
auth_test_plugin plugin/auth PLUGIN_AUTH test_plugin_server,cleartext_plugin_server
|
||||
qa_auth_interface plugin/auth PLUGIN_AUTH_INTERFACE qa_auth_interface
|
||||
qa_auth_server plugin/auth PLUGIN_AUTH_SERVER qa_auth_server
|
||||
qa_auth_client plugin/auth PLUGIN_AUTH_CLIENT qa_auth_client
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ while ($_rpl_i) {
|
|||
{
|
||||
--echo Sync IO: $_rpl_slave_io_running; Sync SQL: $_rpl_slave_sql_running
|
||||
}
|
||||
--let $_rpl_slave_io_running= `SELECT IF('$_rpl_slave_io_running' = 'Yes', 1, '')`
|
||||
--let $_rpl_slave_io_running= `SELECT IF('$_rpl_slave_io_running' != 'No', 1, '')`
|
||||
--let $_rpl_slave_sql_running= `SELECT IF('$_rpl_slave_sql_running' = 'Yes', 1, '')`
|
||||
if ($_rpl_slave_io_running)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ let $_show_status_value= query_get_value("SHOW $status_type STATUS LIKE '$status
|
|||
|
||||
# Set way of comparing
|
||||
let $_query= SELECT NOT('$_show_status_value' $_status_var_comparsion '$status_var_value');
|
||||
if ($is_number)
|
||||
if ($_is_number)
|
||||
{
|
||||
let $_query= SELECT NOT($_show_status_value $_status_var_comparsion $status_var_value);
|
||||
}
|
||||
|
|
@ -70,7 +70,7 @@ while (`$_query`)
|
|||
{
|
||||
if (!$_status_timeout_counter)
|
||||
{
|
||||
--echo **** ERROR: failed while waiting for $status_type $status_var $_status_var_comparison $status_var_value ****
|
||||
--echo **** ERROR: failed while waiting for $status_type $status_var $_status_var_comparsion $status_var_value ****
|
||||
--echo Note: the following output may have changed since the failure was detected
|
||||
--echo **** Showing STATUS, PROCESSLIST ****
|
||||
eval SHOW $status_type STATUS LIKE '$status_var';
|
||||
|
|
|
|||
|
|
@ -191,6 +191,7 @@ my $opt_view_protocol;
|
|||
our $opt_debug;
|
||||
my $debug_d= "d";
|
||||
my $opt_debug_common;
|
||||
our $opt_debug_server;
|
||||
our @opt_cases; # The test cases names in argv
|
||||
our $opt_embedded_server;
|
||||
|
||||
|
|
@ -979,6 +980,7 @@ sub command_line_setup {
|
|||
# Debugging
|
||||
'debug' => \$opt_debug,
|
||||
'debug-common' => \$opt_debug_common,
|
||||
'debug-server' => \$opt_debug_server,
|
||||
'gdb' => \$opt_gdb,
|
||||
'client-gdb' => \$opt_client_gdb,
|
||||
'manual-gdb' => \$opt_manual_gdb,
|
||||
|
|
@ -1135,6 +1137,9 @@ sub command_line_setup {
|
|||
|
||||
($auth_plugin)= find_plugin("auth_test_plugin", "plugin/auth");
|
||||
|
||||
# --debug[-common] implies we run debug server
|
||||
$opt_debug_server= 1 if $opt_debug || $opt_debug_common;
|
||||
|
||||
if (using_extern())
|
||||
{
|
||||
# Connect to the running mysqld and find out what it supports
|
||||
|
|
@ -1555,12 +1560,6 @@ sub command_line_setup {
|
|||
$debug_d= "d,query,info,error,enter,exit";
|
||||
}
|
||||
|
||||
if ($opt_debug && $opt_debug ne "1")
|
||||
{
|
||||
$debug_d= "d,$opt_debug";
|
||||
$debug_d= "d,query,info,error,enter,exit" if $opt_debug eq "std";
|
||||
}
|
||||
|
||||
mtr_report("Checking supported features...");
|
||||
|
||||
check_ndbcluster_support(\%mysqld_variables);
|
||||
|
|
@ -1787,7 +1786,7 @@ sub find_mysqld {
|
|||
my @mysqld_names= ("mysqld", "mysqld-max-nt", "mysqld-max",
|
||||
"mysqld-nt");
|
||||
|
||||
if ( $opt_debug ){
|
||||
if ( $opt_debug_server ){
|
||||
# Put mysqld-debug first in the list of binaries to look for
|
||||
mtr_verbose("Adding mysqld-debug first in list of binaries to look for");
|
||||
unshift(@mysqld_names, "mysqld-debug");
|
||||
|
|
@ -1884,9 +1883,12 @@ sub executable_setup () {
|
|||
sub client_debug_arg($$) {
|
||||
my ($args, $client_name)= @_;
|
||||
|
||||
# Workaround for Bug #50627: drop any debug opt
|
||||
return if $client_name =~ /^mysqlbinlog/;
|
||||
|
||||
if ( $opt_debug ) {
|
||||
mtr_add_arg($args,
|
||||
"--debug=$debug_d:t:A,%s/log/%s.trace",
|
||||
"--loose-debug=$debug_d:t:A,%s/log/%s.trace",
|
||||
$path_vardir_trace, $client_name)
|
||||
}
|
||||
}
|
||||
|
|
@ -2013,8 +2015,8 @@ sub read_plugin_defs($)
|
|||
or mtr_error("Can't read plugin defintions file $defs_file");
|
||||
|
||||
# Need to check if we will be running mysqld-debug
|
||||
if ($opt_debug) {
|
||||
$running_debug= 1 if find_mysqld($basedir) =~ /-debug$/;
|
||||
if ($opt_debug_server) {
|
||||
$running_debug= 1 if find_mysqld($basedir) =~ /mysqld-debug/;
|
||||
}
|
||||
|
||||
while (<PLUGDEF>) {
|
||||
|
|
@ -2158,9 +2160,20 @@ sub environment_setup {
|
|||
$ENV{'MYSQL_TMP_DIR'}= $opt_tmpdir;
|
||||
$ENV{'MYSQLTEST_VARDIR'}= $opt_vardir;
|
||||
$ENV{'MYSQL_LIBDIR'}= "$basedir/lib";
|
||||
$ENV{'MYSQL_BINDIR'}= "$bindir";
|
||||
$ENV{'MYSQL_SHAREDIR'}= $path_language;
|
||||
$ENV{'MYSQL_CHARSETSDIR'}= $path_charsetsdir;
|
||||
|
||||
if (IS_WINDOWS)
|
||||
{
|
||||
$ENV{'SECURE_LOAD_PATH'}= $glob_mysql_test_dir."\\std_data";
|
||||
}
|
||||
else
|
||||
{
|
||||
$ENV{'SECURE_LOAD_PATH'}= $glob_mysql_test_dir."/std_data";
|
||||
}
|
||||
|
||||
|
||||
# ----------------------------------------------------
|
||||
# Setup env for NDB
|
||||
# ----------------------------------------------------
|
||||
|
|
@ -2513,9 +2526,9 @@ sub check_debug_support ($) {
|
|||
#mtr_report(" - binaries are not debug compiled");
|
||||
$debug_compiled_binaries= 0;
|
||||
|
||||
if ( $opt_debug )
|
||||
if ( $opt_debug_server )
|
||||
{
|
||||
mtr_error("Can't use --debug, binaries does not support it");
|
||||
mtr_error("Can't use --debug[-server], binary does not support it");
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
|
@ -5757,6 +5770,8 @@ Options for debugging the product
|
|||
debug Dump trace output for all servers and client programs
|
||||
debug-common Same as debug, but sets 'd' debug flags to
|
||||
"query,info,error,enter,exit"
|
||||
debug-server Use debug version of server, but without turning on
|
||||
tracing
|
||||
debugger=NAME Start mysqld in the selected debugger
|
||||
gdb Start the mysqld(s) in gdb
|
||||
manual-debug Let user manually start mysqld in debugger, before
|
||||
|
|
|
|||
|
|
@ -1383,3 +1383,11 @@ ALTER TABLE t1 CHANGE a id INT;
|
|||
affected rows: 0
|
||||
info: Records: 0 Duplicates: 0 Warnings: 0
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#11754461 CANNOT ALTER TABLE WHEN KEY PREFIX TOO LONG
|
||||
#
|
||||
DROP DATABASE IF EXISTS db1;
|
||||
CREATE DATABASE db1 CHARACTER SET utf8;
|
||||
CREATE TABLE db1.t1 (bar TINYTEXT, KEY (bar(100)));
|
||||
ALTER TABLE db1.t1 ADD baz INT;
|
||||
DROP DATABASE db1;
|
||||
|
|
|
|||
|
|
@ -519,21 +519,21 @@ SUCCESS
|
|||
# 12. Read-write statement: IODKU, change 0 rows.
|
||||
#
|
||||
insert t1 set a=2 on duplicate key update a=2;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 1, 0);
|
||||
SUCCESS
|
||||
|
||||
commit;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 1, 0);
|
||||
SUCCESS
|
||||
|
||||
# 13. Read-write statement: INSERT IGNORE, change 0 rows.
|
||||
#
|
||||
insert ignore t1 set a=2;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 1, 0);
|
||||
SUCCESS
|
||||
|
||||
commit;
|
||||
call p_verify_status_increment(1, 0, 1, 0);
|
||||
call p_verify_status_increment(2, 2, 1, 0);
|
||||
SUCCESS
|
||||
|
||||
# 14. Read-write statement: INSERT IGNORE, change 1 row.
|
||||
|
|
|
|||
|
|
@ -19,13 +19,16 @@ INSERT INTO t1 VALUES();
|
|||
SELECT * FROM t1;
|
||||
a b c d e f
|
||||
0 foo 0000-00-00
|
||||
INSERT INTO t1 VALUES(default,default,default,default,default,default);
|
||||
SELECT * FROM t1;
|
||||
a b c d e f
|
||||
0 foo 0000-00-00
|
||||
0 foo 0000-00-00
|
||||
INSERT INTO t1 VALUES(0,'abc','def','ghi','bar','1999-12-31');
|
||||
SELECT * FROM t1;
|
||||
a b c d e f
|
||||
0 foo 0000-00-00
|
||||
0 foo 0000-00-00
|
||||
0 abc def ghi bar 1999-12-31
|
||||
# === insert failures ===
|
||||
INSERT INTO t1 VALUES(NULL,'ab','a','b','foo','2007-01-01');
|
||||
|
|
|
|||
|
|
@ -2767,6 +2767,46 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 range date_column date_column 9 NULL 1 Using where
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
|
||||
#
|
||||
SELECT @@collation_connection, @@character_set_results;
|
||||
@@collation_connection @@character_set_results
|
||||
binary binary
|
||||
CREATE TABLE t1 AS
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`field_str1` varbinary(29) DEFAULT NULL,
|
||||
`field1_str2` varbinary(29) DEFAULT NULL,
|
||||
`field_date` date DEFAULT NULL,
|
||||
`field_datetime` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def field_str1 254 29 10 Y 128 31 63
|
||||
def field1_str2 254 29 19 Y 128 31 63
|
||||
def field_date 10 29 10 Y 128 31 63
|
||||
def field_datetime 12 29 19 Y 128 31 63
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
|
||||
SELECT
|
||||
HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
|
||||
HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
|
||||
HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
|
||||
HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
323030372D30382D30322032333A35393A3030 323030372D30382D30332031373A33323A3030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
|
||||
#
|
||||
# Bug#52159 returning time type from function and empty left join causes debug assertion
|
||||
#
|
||||
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
|
||||
|
|
|
|||
|
|
@ -238,3 +238,6 @@ select a from t1 where a like "abcdefgh
|
|||
a
|
||||
abcdefghá
|
||||
drop table t1;
|
||||
set global LC_MESSAGES=convert((@@global.log_bin_trust_function_creators)
|
||||
using cp1250);
|
||||
ERROR HY000: Unknown locale: '1'
|
||||
|
|
|
|||
|
|
@ -386,6 +386,8 @@ FD FD FD D18D FD
|
|||
FE FE FE D18E FE
|
||||
FF FF FF D18F FF
|
||||
DROP TABLE t1;
|
||||
set global LC_TIME_NAMES=convert((-8388608) using cp1251);
|
||||
ERROR HY000: Unknown locale: '-8388608'
|
||||
#
|
||||
# End of 5.1 tests
|
||||
#
|
||||
|
|
@ -3157,6 +3159,46 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 range date_column date_column 9 NULL 1 Using where
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
|
||||
#
|
||||
SELECT @@collation_connection, @@character_set_results;
|
||||
@@collation_connection @@character_set_results
|
||||
cp1251_general_ci cp1251
|
||||
CREATE TABLE t1 AS
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`field_str1` varchar(29) CHARACTER SET cp1251 DEFAULT NULL,
|
||||
`field1_str2` varchar(29) CHARACTER SET cp1251 DEFAULT NULL,
|
||||
`field_date` date DEFAULT NULL,
|
||||
`field_datetime` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def field_str1 254 29 10 Y 0 31 51
|
||||
def field1_str2 254 29 19 Y 0 31 51
|
||||
def field_date 10 29 10 Y 128 31 63
|
||||
def field_datetime 12 29 19 Y 128 31 63
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
|
||||
SELECT
|
||||
HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
|
||||
HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
|
||||
HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
|
||||
HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
323030372D30382D30322032333A35393A3030 323030372D30382D30332031373A33323A3030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
|
||||
#
|
||||
# Bug#52159 returning time type from function and empty left join causes debug assertion
|
||||
#
|
||||
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
|
||||
|
|
@ -3177,5 +3219,20 @@ maketime(`a`,`a`,`a`)
|
|||
DROP TABLE t1;
|
||||
SET sql_mode=default;
|
||||
#
|
||||
# Bug#60101 COALESCE with cp1251 tables causes [Err] 1267 - Illegal mix of collations
|
||||
#
|
||||
CREATE TABLE t1 (test1 INT, test2 VARCHAR(255));
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`test1` int(11) DEFAULT NULL,
|
||||
`test2` varchar(255) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
SELECT COALESCE(IF(test1=1, 1, NULL), test2) FROM t1;
|
||||
COALESCE(IF(test1=1, 1, NULL), test2)
|
||||
SELECT COALESCE(IF(test1=1, NULL, 1), test2) FROM t1;
|
||||
COALESCE(IF(test1=1, NULL, 1), test2)
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
|
|
|||
|
|
@ -9859,6 +9859,8 @@ hex(convert(_eucjpms 0xA5FE41 using ucs2))
|
|||
select hex(convert(_eucjpms 0x8FABF841 using ucs2));
|
||||
hex(convert(_eucjpms 0x8FABF841 using ucs2))
|
||||
003F0041
|
||||
set global LC_TIME_NAMES=convert((convert((0x63) using eucjpms)) using utf8);
|
||||
ERROR HY000: Unknown locale: 'c'
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
#
|
||||
|
|
|
|||
|
|
@ -3186,6 +3186,46 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 range date_column date_column 9 NULL 1 Using where
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
|
||||
#
|
||||
SELECT @@collation_connection, @@character_set_results;
|
||||
@@collation_connection @@character_set_results
|
||||
latin1_swedish_ci latin1
|
||||
CREATE TABLE t1 AS
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`field_str1` varchar(29) DEFAULT NULL,
|
||||
`field1_str2` varchar(29) DEFAULT NULL,
|
||||
`field_date` date DEFAULT NULL,
|
||||
`field_datetime` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def field_str1 254 29 10 Y 0 31 8
|
||||
def field1_str2 254 29 19 Y 0 31 8
|
||||
def field_date 10 29 10 Y 128 31 63
|
||||
def field_datetime 12 29 19 Y 128 31 63
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
|
||||
SELECT
|
||||
HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
|
||||
HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
|
||||
HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
|
||||
HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
323030372D30382D30322032333A35393A3030 323030372D30382D30332031373A33323A3030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
|
||||
#
|
||||
# Bug#52159 returning time type from function and empty left join causes debug assertion
|
||||
#
|
||||
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
|
||||
|
|
|
|||
|
|
@ -4009,6 +4009,46 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 ALL NULL NULL NULL NULL 2 Using where
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
|
||||
#
|
||||
SELECT @@collation_connection, @@character_set_results;
|
||||
@@collation_connection @@character_set_results
|
||||
ucs2_general_ci latin1
|
||||
CREATE TABLE t1 AS
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`field_str1` varchar(29) CHARACTER SET ucs2 DEFAULT NULL,
|
||||
`field1_str2` varchar(29) CHARACTER SET ucs2 DEFAULT NULL,
|
||||
`field_date` date DEFAULT NULL,
|
||||
`field_datetime` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def field_str1 254 29 10 Y 0 31 8
|
||||
def field1_str2 254 29 19 Y 0 31 8
|
||||
def field_date 10 29 10 Y 128 31 63
|
||||
def field_datetime 12 29 19 Y 128 31 63
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
|
||||
SELECT
|
||||
HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
|
||||
HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
|
||||
HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
|
||||
HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
0032003000300037002D00300038002D00300032002000320033003A00350039003A00300030 0032003000300037002D00300038002D00300033002000310037003A00330032003A00300030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
|
||||
#
|
||||
# Bug#52159 returning time type from function and empty left join causes debug assertion
|
||||
#
|
||||
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
|
||||
|
|
|
|||
|
|
@ -30,13 +30,13 @@ binary 'a a' > 'a' binary 'a \0' > 'a' binary 'a\0' > 'a'
|
|||
1 1 1
|
||||
select hex(_utf16 0x44);
|
||||
hex(_utf16 0x44)
|
||||
00000044
|
||||
0044
|
||||
select hex(_utf16 0x3344);
|
||||
hex(_utf16 0x3344)
|
||||
3344
|
||||
select hex(_utf16 0x113344);
|
||||
hex(_utf16 0x113344)
|
||||
000000113344
|
||||
00113344
|
||||
CREATE TABLE t1 (word VARCHAR(64), word2 CHAR(64)) CHARACTER SET utf16;
|
||||
INSERT INTO t1 VALUES (_koi8r 0xF2, _koi8r 0xF2), (X'2004',X'2004');
|
||||
SELECT hex(word) FROM t1 ORDER BY word;
|
||||
|
|
@ -434,10 +434,10 @@ aardvarz
|
|||
DROP TABLE t1;
|
||||
SELECT hex(cast(0xAA as char character set utf16));
|
||||
hex(cast(0xAA as char character set utf16))
|
||||
000000AA
|
||||
00AA
|
||||
SELECT hex(convert(0xAA using utf16));
|
||||
hex(convert(0xAA using utf16))
|
||||
000000AA
|
||||
00AA
|
||||
CREATE TABLE t1 (a char(10) character set utf16);
|
||||
INSERT INTO t1 VALUES (0x1),(0x11),(0x111),(0x1111),(0x11111);
|
||||
SELECT HEX(a) FROM t1;
|
||||
|
|
@ -1102,5 +1102,20 @@ t2 CREATE TABLE `t2` (
|
|||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Bug#11753363 (Bug#44793) Character sets: case clause, ucs2 or utf32, failure
|
||||
#
|
||||
SELECT CASE _latin1'a' WHEN _utf16'a' THEN 'A' END;
|
||||
CASE _latin1'a' WHEN _utf16'a' THEN 'A' END
|
||||
A
|
||||
SELECT CASE _utf16'a' WHEN _latin1'a' THEN 'A' END;
|
||||
CASE _utf16'a' WHEN _latin1'a' THEN 'A' END
|
||||
A
|
||||
CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET utf16);
|
||||
INSERT INTO t1 VALUES ('a');
|
||||
SELECT CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END FROM t1;
|
||||
CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END
|
||||
b
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
|
|
|||
|
|
@ -1152,5 +1152,20 @@ d
|
|||
f
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#11753363 (Bug#44793) Character sets: case clause, ucs2 or utf32, failure
|
||||
#
|
||||
SELECT CASE _latin1'a' WHEN _utf32'a' THEN 'A' END;
|
||||
CASE _latin1'a' WHEN _utf32'a' THEN 'A' END
|
||||
A
|
||||
SELECT CASE _utf32'a' WHEN _latin1'a' THEN 'A' END;
|
||||
CASE _utf32'a' WHEN _latin1'a' THEN 'A' END
|
||||
A
|
||||
CREATE TABLE t1 (s1 CHAR(5) CHARACTER SET utf32);
|
||||
INSERT INTO t1 VALUES ('a');
|
||||
SELECT CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END FROM t1;
|
||||
CASE s1 WHEN 'a' THEN 'b' ELSE 'c' END
|
||||
b
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.5 tests
|
||||
#
|
||||
|
|
|
|||
|
|
@ -4898,6 +4898,46 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 range date_column date_column 9 NULL 1 Using where
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #31384 DATE_ADD() and DATE_SUB() return binary data
|
||||
#
|
||||
SELECT @@collation_connection, @@character_set_results;
|
||||
@@collation_connection @@character_set_results
|
||||
utf8_general_ci utf8
|
||||
CREATE TABLE t1 AS
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 MINUTE) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`field_str1` varchar(29) CHARACTER SET utf8 DEFAULT NULL,
|
||||
`field1_str2` varchar(29) CHARACTER SET utf8 DEFAULT NULL,
|
||||
`field_date` date DEFAULT NULL,
|
||||
`field_datetime` datetime DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
DROP TABLE t1;
|
||||
SELECT
|
||||
DATE_SUB('2007-08-03', INTERVAL 1 DAY) AS field_str1,
|
||||
DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE) AS field1_str2,
|
||||
DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY) AS field_date,
|
||||
DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE) AS field_datetime;
|
||||
Catalog Database Table Table_alias Column Column_alias Type Length Max length Is_null Flags Decimals Charsetnr
|
||||
def field_str1 254 87 10 Y 0 31 33
|
||||
def field1_str2 254 87 19 Y 0 31 33
|
||||
def field_date 10 29 10 Y 128 31 63
|
||||
def field_datetime 12 29 19 Y 128 31 63
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
2007-08-02 2007-08-03 17:32:00 2007-08-02 2007-08-03 17:32:00
|
||||
SELECT
|
||||
HEX(DATE_SUB('2007-08-03', INTERVAL 1 MINUTE)) AS field_str1,
|
||||
HEX(DATE_SUB('2007-08-03 17:33:00', INTERVAL 1 MINUTE)) AS field1_str2,
|
||||
HEX(DATE_SUB(DATE('2007-08-03'), INTERVAL 1 DAY)) AS field_date,
|
||||
HEX(DATE_SUB(CAST('2007-08-03 17:33:00' AS DATETIME), INTERVAL 1 MINUTE)) AS field_datetime;
|
||||
field_str1 field1_str2 field_date field_datetime
|
||||
323030372D30382D30322032333A35393A3030 323030372D30382D30332031373A33323A3030 323030372D30382D3032 323030372D30382D30332031373A33323A3030
|
||||
#
|
||||
# Bug#52159 returning time type from function and empty left join causes debug assertion
|
||||
#
|
||||
CREATE FUNCTION f1() RETURNS TIME RETURN 1;
|
||||
|
|
|
|||
|
|
@ -724,7 +724,7 @@ utf8_general_ci utf8_general_ci
|
|||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
|
||||
|
||||
USE `mysqltest1`;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -757,8 +757,8 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -791,7 +791,7 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
|
||||
---> Dumping mysqltest1 to ddl_i18n_koi8r.sp.mysqltest1.sql
|
||||
|
||||
|
|
@ -800,7 +800,7 @@ ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
|||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
|
||||
|
||||
USE `mysqltest2`;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -833,8 +833,8 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -867,7 +867,7 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
|
||||
---> Dumping mysqltest2 to ddl_i18n_koi8r.sp.mysqltest2.sql
|
||||
|
||||
|
|
@ -1742,7 +1742,7 @@ CREATE TABLE `t1` (
|
|||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
INSERT INTO `t1` VALUES (1),(0),(1);
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -1770,8 +1770,8 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -1799,7 +1799,7 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
|
||||
---> Dumping mysqltest1 to ddl_i18n_koi8r.triggers.mysqltest1.sql
|
||||
|
||||
|
|
@ -1821,7 +1821,7 @@ CREATE TABLE `t1` (
|
|||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
INSERT INTO `t1` VALUES (1),(0),(1);
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -1849,8 +1849,8 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -1878,7 +1878,7 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
|
||||
---> Dumping mysqltest2 to ddl_i18n_koi8r.triggers.mysqltest2.sql
|
||||
|
||||
|
|
@ -2486,7 +2486,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER
|
|||
USE `mysqltest1`;
|
||||
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
|
||||
DELIMITER ;;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
||||
|
|
@ -2512,9 +2512,9 @@ END */ ;;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
DELIMITER ;;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
||||
|
|
@ -2540,7 +2540,7 @@ END */ ;;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
DELIMITER ;
|
||||
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
|
||||
|
||||
|
|
@ -2553,7 +2553,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER
|
|||
USE `mysqltest2`;
|
||||
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
|
||||
DELIMITER ;;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
||||
|
|
@ -2579,9 +2579,9 @@ END */ ;;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
DELIMITER ;;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
||||
|
|
@ -2607,7 +2607,7 @@ END */ ;;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
DELIMITER ;
|
||||
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
|
||||
|
||||
|
|
|
|||
|
|
@ -724,7 +724,7 @@ utf8_general_ci utf8_general_ci
|
|||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 */;
|
||||
|
||||
USE `mysqltest1`;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -757,8 +757,8 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -791,7 +791,7 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
|
||||
---> Dumping mysqltest1 to ddl_i18n_utf8sp.mysqltest1.sql
|
||||
|
||||
|
|
@ -800,7 +800,7 @@ ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
|||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 */;
|
||||
|
||||
USE `mysqltest2`;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -833,8 +833,8 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -867,7 +867,7 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
|
||||
---> Dumping mysqltest2 to ddl_i18n_utf8sp.mysqltest2.sql
|
||||
|
||||
|
|
@ -1742,7 +1742,7 @@ CREATE TABLE `t1` (
|
|||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
INSERT INTO `t1` VALUES (1),(0),(1);
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -1770,8 +1770,8 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -1799,7 +1799,7 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
|
||||
---> Dumping mysqltest1 to ddl_i18n_utf8triggers.mysqltest1.sql
|
||||
|
||||
|
|
@ -1821,7 +1821,7 @@ CREATE TABLE `t1` (
|
|||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
INSERT INTO `t1` VALUES (1),(0),(1);
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -1849,8 +1849,8 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
|
|
@ -1878,7 +1878,7 @@ DELIMITER ;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
||||
|
||||
---> Dumping mysqltest2 to ddl_i18n_utf8triggers.mysqltest2.sql
|
||||
|
||||
|
|
@ -2486,7 +2486,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER
|
|||
USE `mysqltest1`;
|
||||
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
|
||||
DELIMITER ;;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
||||
|
|
@ -2512,9 +2512,9 @@ END */ ;;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
DELIMITER ;;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
||||
|
|
@ -2540,7 +2540,7 @@ END */ ;;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
||||
ALTER DATABASE mysqltest1 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
DELIMITER ;
|
||||
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
|
||||
|
||||
|
|
@ -2553,7 +2553,7 @@ CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER
|
|||
USE `mysqltest2`;
|
||||
/*!50106 SET @save_time_zone= @@TIME_ZONE */ ;
|
||||
DELIMITER ;;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
||||
|
|
@ -2579,9 +2579,9 @@ END */ ;;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
DELIMITER ;;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;;
|
||||
|
|
@ -2607,7 +2607,7 @@ END */ ;;
|
|||
/*!50003 SET character_set_client = @saved_cs_client */ ;;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;;
|
||||
ALTER DATABASE mysqltest2 CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
ALTER DATABASE `mysqltest2` CHARACTER SET cp866 COLLATE cp866_general_ci ;;
|
||||
DELIMITER ;
|
||||
/*!50106 SET TIME_ZONE= @save_time_zone */ ;
|
||||
|
||||
|
|
|
|||
6
mysql-test/r/file_contents.result
Normal file
6
mysql-test/r/file_contents.result
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
Checking 'INFO_SRC' and 'INFO_BIN'
|
||||
INFO_SRC: Found MySQL version number / Found BZR revision id
|
||||
INFO_BIN: Found 'Compiler ... used' line / Found 'Feature flags' line
|
||||
|
||||
End of tests
|
||||
33
mysql-test/r/filesort_debug.result
Normal file
33
mysql-test/r/filesort_debug.result
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
SET @old_debug= @@session.debug;
|
||||
#
|
||||
# Bug#36022 please log more information about "Sort aborted" queries
|
||||
#
|
||||
CREATE TABLE t1(f0 int auto_increment primary key, f1 int);
|
||||
INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5);
|
||||
SET session debug= '+d,make_char_array_fail';
|
||||
CALL mtr.add_suppression("Out of sort memory");
|
||||
SELECT * FROM t1 ORDER BY f1 ASC, f0;
|
||||
ERROR HY001: Out of sort memory, consider increasing server sort buffer size
|
||||
SET session debug= @old_debug;
|
||||
CREATE FUNCTION f1() RETURNS INT RETURN 1;
|
||||
DELETE FROM t1 ORDER BY (f1(10)) LIMIT 1;
|
||||
ERROR 42000: Incorrect number of arguments for FUNCTION test.f1; expected 0, got 1
|
||||
DROP TABLE t1;
|
||||
DROP FUNCTION f1;
|
||||
#
|
||||
# Bug #11747102
|
||||
# 30771: LOG MORE INFO ABOUT THREADS KILL'D AND SORT ABORTED MESSAGES
|
||||
#
|
||||
# connection 1
|
||||
CREATE TABLE t1(f0 int auto_increment primary key, f1 int);
|
||||
INSERT INTO t1(f1) VALUES (0),(1),(2),(3),(4),(5);
|
||||
SET DEBUG_SYNC='filesort_start SIGNAL filesort_started WAIT_FOR filesort_killed';
|
||||
# Sending: (not reaped since connection is killed later)
|
||||
SELECT * FROM t1 ORDER BY f1 ASC, f0;
|
||||
# connection 2
|
||||
SET DEBUG_SYNC='now WAIT_FOR filesort_started';
|
||||
KILL @id;
|
||||
SET DEBUG_SYNC='now SIGNAL filesort_killed';
|
||||
# connection default
|
||||
SET DEBUG_SYNC= "RESET";
|
||||
DROP TABLE t1;
|
||||
|
|
@ -1739,6 +1739,16 @@ SELECT RELEASE_LOCK('aaaaaaaaaaaaaaaaa');
|
|||
#
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug#52123 Assertion failed: aggregator == aggr->Aggrtype(),
|
||||
# file .\item_sum.cc, line 587
|
||||
#
|
||||
CREATE TABLE t1(a int, KEY(a));
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
SELECT 1 FROM t1 ORDER BY AVG(DISTINCT a);
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#55648: Server crash on MIN/MAX on maximum time value
|
||||
#
|
||||
CREATE TABLE t1(c1 TIME NOT NULL);
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ dayname("1962-03-03") dayname("1962-03-03")+0
|
|||
Saturday 5
|
||||
select monthname("1972-03-04"),monthname("1972-03-04")+0;
|
||||
monthname("1972-03-04") monthname("1972-03-04")+0
|
||||
March 3
|
||||
March 0
|
||||
select time_format(19980131000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T');
|
||||
time_format(19980131000000,'%H|%I|%k|%l|%i|%p|%r|%S|%T')
|
||||
00|12|0|12|00|AM|12:00:00 AM|00|00:00:00
|
||||
|
|
@ -1273,6 +1273,24 @@ date_add('1000-01-01 00:00:00', interval '1.03:02:01.05' day_microsecond)
|
|||
select date_add('1000-01-01 00:00:00', interval '1.02' day_microsecond);
|
||||
date_add('1000-01-01 00:00:00', interval '1.02' day_microsecond)
|
||||
1000-01-01 00:00:01.020000
|
||||
#
|
||||
# Bug #52315 part 2 : utc_date() crashes when system time > year 2037
|
||||
#
|
||||
SET TIMESTAMP=-147490000;
|
||||
SELECT UTC_TIMESTAMP();
|
||||
SET TIMESTAMP=2147483648;
|
||||
SELECT UTC_TIMESTAMP();
|
||||
SET TIMESTAMP=2147483646;
|
||||
SELECT UTC_TIMESTAMP();
|
||||
SET TIMESTAMP=2147483647;
|
||||
SELECT UTC_TIMESTAMP();
|
||||
SET TIMESTAMP=0;
|
||||
SELECT UTC_TIMESTAMP();
|
||||
SET TIMESTAMP=-1;
|
||||
SELECT UTC_TIMESTAMP();
|
||||
SET TIMESTAMP=1;
|
||||
SELECT UTC_TIMESTAMP();
|
||||
SET TIMESTAMP=0;
|
||||
End of 5.0 tests
|
||||
select date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND);
|
||||
date_sub("0050-01-01 00:00:01",INTERVAL 2 SECOND)
|
||||
|
|
@ -1350,3 +1368,11 @@ SELECT SUBDATE(STR_TO_DATE(NULL,0), INTERVAL 1 HOUR);
|
|||
SUBDATE(STR_TO_DATE(NULL,0), INTERVAL 1 HOUR)
|
||||
NULL
|
||||
#
|
||||
# BUG#59895 - setting storage engine to null segfaults mysqld
|
||||
#
|
||||
SELECT MONTHNAME(0), MONTHNAME(0) IS NULL, MONTHNAME(0) + 1;
|
||||
MONTHNAME(0) MONTHNAME(0) IS NULL MONTHNAME(0) + 1
|
||||
NULL 1 NULL
|
||||
SET storage_engine=NULL;
|
||||
ERROR 42000: Variable 'storage_engine' can't be set to the value of 'NULL'
|
||||
#
|
||||
|
|
|
|||
|
|
@ -960,6 +960,18 @@ COUNT(*)
|
|||
2
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.0 tests
|
||||
#
|
||||
# Test for bug #58650 "Failing assertion: primary_key_no == -1 ||
|
||||
# primary_key_no == 0".
|
||||
#
|
||||
drop table if exists t1;
|
||||
# The minimal test case.
|
||||
create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a));
|
||||
drop table t1;
|
||||
# The original test case.
|
||||
create table t1 (a int not null, b linestring not null, unique key b (b(12)));
|
||||
create unique index a on t1(a);
|
||||
drop table t1;
|
||||
create table `t1` (`col002` point)engine=myisam;
|
||||
insert into t1 values (),(),();
|
||||
select min(`col002`) from t1 union select `col002` from t1;
|
||||
|
|
@ -1022,6 +1034,14 @@ p
|
|||
NULL
|
||||
NULL
|
||||
drop table t1;
|
||||
#
|
||||
# Test for bug #59888 "debug assertion when attempt to create spatial index
|
||||
# on char > 31 bytes".
|
||||
#
|
||||
create table t1(a char(32) not null) engine=myisam;
|
||||
create spatial index i on t1 (a);
|
||||
ERROR 42000: A SPATIAL index may only contain a geometrical type column
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
CREATE TABLE t1(
|
||||
col0 BINARY NOT NULL,
|
||||
|
|
|
|||
|
|
@ -1378,6 +1378,80 @@ CURRENT_USER()
|
|||
root@localhost
|
||||
SET PASSWORD FOR CURRENT_USER() = PASSWORD("admin");
|
||||
SET PASSWORD FOR CURRENT_USER() = PASSWORD("");
|
||||
|
||||
# Bug#57952
|
||||
|
||||
DROP DATABASE IF EXISTS mysqltest1;
|
||||
DROP DATABASE IF EXISTS mysqltest2;
|
||||
CREATE DATABASE mysqltest1;
|
||||
CREATE DATABASE mysqltest2;
|
||||
use mysqltest1;
|
||||
CREATE TABLE t1(a INT, b INT);
|
||||
INSERT INTO t1 VALUES (1, 1);
|
||||
CREATE TABLE t2(a INT);
|
||||
INSERT INTO t2 VALUES (2);
|
||||
CREATE TABLE mysqltest2.t3(a INT);
|
||||
INSERT INTO mysqltest2.t3 VALUES (4);
|
||||
CREATE USER testuser@localhost;
|
||||
GRANT CREATE ROUTINE, EXECUTE ON mysqltest1.* TO testuser@localhost;
|
||||
GRANT SELECT(b) ON t1 TO testuser@localhost;
|
||||
GRANT SELECT ON t2 TO testuser@localhost;
|
||||
GRANT SELECT ON mysqltest2.* TO testuser@localhost;
|
||||
|
||||
# Connection: bug57952_con1 (testuser@localhost, db: mysqltest1)
|
||||
PREPARE s1 FROM 'SELECT b FROM t1';
|
||||
PREPARE s2 FROM 'SELECT a FROM t2';
|
||||
PREPARE s3 FROM 'SHOW TABLES FROM mysqltest2';
|
||||
CREATE PROCEDURE p1() SELECT b FROM t1;
|
||||
CREATE PROCEDURE p2() SELECT a FROM t2;
|
||||
CREATE PROCEDURE p3() SHOW TABLES FROM mysqltest2;
|
||||
CALL p1;
|
||||
b
|
||||
1
|
||||
CALL p2;
|
||||
a
|
||||
2
|
||||
CALL p3;
|
||||
Tables_in_mysqltest2
|
||||
t3
|
||||
|
||||
# Connection: default
|
||||
REVOKE SELECT ON t1 FROM testuser@localhost;
|
||||
GRANT SELECT(a) ON t1 TO testuser@localhost;
|
||||
REVOKE SELECT ON t2 FROM testuser@localhost;
|
||||
REVOKE SELECT ON mysqltest2.* FROM testuser@localhost;
|
||||
|
||||
# Connection: bug57952_con1 (testuser@localhost, db: mysqltest1)
|
||||
# - Check column-level privileges...
|
||||
EXECUTE s1;
|
||||
ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for column 'b' in table 't1'
|
||||
SELECT b FROM t1;
|
||||
ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for column 'b' in table 't1'
|
||||
EXECUTE s1;
|
||||
ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for column 'b' in table 't1'
|
||||
CALL p1;
|
||||
ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for column 'b' in table 't1'
|
||||
# - Check table-level privileges...
|
||||
SELECT a FROM t2;
|
||||
ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for table 't2'
|
||||
EXECUTE s2;
|
||||
ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for table 't2'
|
||||
CALL p2;
|
||||
ERROR 42000: SELECT command denied to user 'testuser'@'localhost' for table 't2'
|
||||
# - Check database-level privileges...
|
||||
SHOW TABLES FROM mysqltest2;
|
||||
ERROR 42000: Access denied for user 'testuser'@'localhost' to database 'mysqltest2'
|
||||
EXECUTE s3;
|
||||
ERROR 42000: Access denied for user 'testuser'@'localhost' to database 'mysqltest2'
|
||||
CALL p3;
|
||||
ERROR 42000: Access denied for user 'testuser'@'localhost' to database 'mysqltest2'
|
||||
|
||||
# Connection: default
|
||||
DROP DATABASE mysqltest1;
|
||||
DROP DATABASE mysqltest2;
|
||||
DROP USER testuser@localhost;
|
||||
use test;
|
||||
|
||||
End of 5.0 tests
|
||||
set names utf8;
|
||||
grant select on test.* to юзер_юзер@localhost;
|
||||
|
|
|
|||
|
|
@ -1856,6 +1856,42 @@ ON 1 WHERE t2.f1 > 1 GROUP BY t2.f1;
|
|||
COUNT(*)
|
||||
2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#59839: Aggregation followed by subquery yields wrong result
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
a INT,
|
||||
b INT,
|
||||
c INT,
|
||||
KEY (a, b)
|
||||
);
|
||||
INSERT INTO t1 VALUES
|
||||
( 1, 1, 1 ),
|
||||
( 1, 2, 2 ),
|
||||
( 1, 3, 3 ),
|
||||
( 1, 4, 6 ),
|
||||
( 1, 5, 5 ),
|
||||
( 1, 9, 13 ),
|
||||
( 2, 1, 6 ),
|
||||
( 2, 2, 7 ),
|
||||
( 2, 3, 8 );
|
||||
EXPLAIN
|
||||
SELECT a, AVG(t1.b),
|
||||
(SELECT t11.c FROM t1 t11 WHERE t11.a = t1.a AND t11.b = AVG(t1.b)) AS t11c,
|
||||
(SELECT t12.c FROM t1 t12 WHERE t12.a = t1.a AND t12.b = AVG(t1.b)) AS t12c
|
||||
FROM t1 GROUP BY a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY t1 index NULL a 10 NULL 9 Using index
|
||||
3 DEPENDENT SUBQUERY t12 ref a a 10 func,func 2 Using where
|
||||
2 DEPENDENT SUBQUERY t11 ref a a 10 func,func 2 Using where
|
||||
SELECT a, AVG(t1.b),
|
||||
(SELECT t11.c FROM t1 t11 WHERE t11.a = t1.a AND t11.b = AVG(t1.b)) AS t11c,
|
||||
(SELECT t12.c FROM t1 t12 WHERE t12.a = t1.a AND t12.b = AVG(t1.b)) AS t12c
|
||||
FROM t1 GROUP BY a;
|
||||
a AVG(t1.b) t11c t12c
|
||||
1 4.0000 6 6
|
||||
2 2.0000 7 7
|
||||
DROP TABLE t1;
|
||||
# End of 5.1 tests
|
||||
#
|
||||
# Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00
|
||||
|
|
|
|||
|
|
@ -842,7 +842,7 @@ SET max_heap_table_size = 16384;
|
|||
SET @old_myisam_data_pointer_size = @@myisam_data_pointer_size;
|
||||
SET GLOBAL myisam_data_pointer_size = 2;
|
||||
INSERT INTO t1 VALUES (1), (2), (3), (4), (5);
|
||||
call mtr.add_suppression("mysqld: The table '.*#sql.*' is full");
|
||||
call mtr.add_suppression("mysqld.*: The table '.*#sql.*' is full");
|
||||
INSERT IGNORE INTO t1 SELECT t1.a FROM t1,t1 t2,t1 t3,t1 t4,t1 t5,t1 t6,t1 t7;
|
||||
Got one of the listed errors
|
||||
SET GLOBAL myisam_data_pointer_size = @old_myisam_data_pointer_size;
|
||||
|
|
|
|||
|
|
@ -1502,4 +1502,146 @@ WHERE 7;
|
|||
col_datetime_key
|
||||
NULL
|
||||
DROP TABLE BB;
|
||||
#
|
||||
# Bug#58490: Incorrect result in multi level OUTER JOIN
|
||||
# in combination with IS NULL
|
||||
#
|
||||
CREATE TABLE t1 (i INT NOT NULL);
|
||||
INSERT INTO t1 VALUES (0), (2),(3),(4);
|
||||
CREATE TABLE t2 (i INT NOT NULL);
|
||||
INSERT INTO t2 VALUES (0),(1), (3),(4);
|
||||
CREATE TABLE t3 (i INT NOT NULL);
|
||||
INSERT INTO t3 VALUES (0),(1),(2), (4);
|
||||
CREATE TABLE t4 (i INT NOT NULL);
|
||||
INSERT INTO t4 VALUES (0),(1),(2),(3) ;
|
||||
SELECT * FROM
|
||||
t1 LEFT JOIN
|
||||
( t2 LEFT JOIN
|
||||
( t3 LEFT JOIN
|
||||
t4
|
||||
ON t4.i = t3.i
|
||||
)
|
||||
ON t3.i = t2.i
|
||||
)
|
||||
ON t2.i = t1.i
|
||||
;
|
||||
i i i i
|
||||
0 0 0 0
|
||||
2 NULL NULL NULL
|
||||
3 3 NULL NULL
|
||||
4 4 4 NULL
|
||||
SELECT * FROM
|
||||
t1 LEFT JOIN
|
||||
( t2 LEFT JOIN
|
||||
( t3 LEFT JOIN
|
||||
t4
|
||||
ON t4.i = t3.i
|
||||
)
|
||||
ON t3.i = t2.i
|
||||
)
|
||||
ON t2.i = t1.i
|
||||
WHERE t4.i IS NULL;
|
||||
i i i i
|
||||
2 NULL NULL NULL
|
||||
3 3 NULL NULL
|
||||
4 4 4 NULL
|
||||
SELECT * FROM
|
||||
t1 LEFT JOIN
|
||||
( ( t2 LEFT JOIN
|
||||
t3
|
||||
ON t3.i = t2.i
|
||||
)
|
||||
)
|
||||
ON t2.i = t1.i
|
||||
WHERE t3.i IS NULL;
|
||||
i i i
|
||||
2 NULL NULL
|
||||
3 3 NULL
|
||||
SELECT * FROM
|
||||
t1 LEFT JOIN
|
||||
( ( t2 LEFT JOIN
|
||||
t3
|
||||
ON t3.i = t2.i
|
||||
)
|
||||
JOIN t4
|
||||
ON t4.i=t2.i
|
||||
)
|
||||
ON t2.i = t1.i
|
||||
WHERE t3.i IS NULL;
|
||||
i i i i
|
||||
2 NULL NULL NULL
|
||||
3 3 NULL 3
|
||||
4 NULL NULL NULL
|
||||
SELECT * FROM
|
||||
t1 LEFT JOIN
|
||||
( ( t2 LEFT JOIN
|
||||
t3
|
||||
ON t3.i = t2.i
|
||||
)
|
||||
JOIN (t4 AS t4a JOIN t4 AS t4b ON t4a.i=t4b.i)
|
||||
ON t4a.i=t2.i
|
||||
)
|
||||
ON t2.i = t1.i
|
||||
WHERE t3.i IS NULL;
|
||||
i i i i i
|
||||
2 NULL NULL NULL NULL
|
||||
3 3 NULL 3 3
|
||||
4 NULL NULL NULL NULL
|
||||
SELECT * FROM
|
||||
t1 LEFT JOIN
|
||||
( ( t2 LEFT JOIN
|
||||
t3
|
||||
ON t3.i = t2.i
|
||||
)
|
||||
JOIN (t4 AS t4a, t4 AS t4b)
|
||||
ON t4a.i=t2.i
|
||||
)
|
||||
ON t2.i = t1.i
|
||||
WHERE t3.i IS NULL;
|
||||
i i i i i
|
||||
2 NULL NULL NULL NULL
|
||||
3 3 NULL 3 0
|
||||
3 3 NULL 3 1
|
||||
3 3 NULL 3 2
|
||||
3 3 NULL 3 3
|
||||
4 NULL NULL NULL NULL
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
#
|
||||
# Bug#49322(Duplicate): Server is adding extra NULL row
|
||||
# on processing a WHERE clause
|
||||
#
|
||||
CREATE TABLE h (pk INT NOT NULL, col_int_key INT);
|
||||
INSERT INTO h VALUES (1,NULL),(4,2),(5,2),(3,4),(2,8);
|
||||
CREATE TABLE m (pk INT NOT NULL, col_int_key INT);
|
||||
INSERT INTO m VALUES (1,2),(2,7),(3,5),(4,7),(5,5),(6,NULL),(7,NULL),(8,9);
|
||||
CREATE TABLE k (pk INT NOT NULL, col_int_key INT);
|
||||
INSERT INTO k VALUES (1,9),(2,2),(3,5),(4,2),(5,7),(6,0),(7,5);
|
||||
SELECT TABLE1.pk FROM k TABLE1
|
||||
RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key
|
||||
RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key;
|
||||
pk
|
||||
2
|
||||
4
|
||||
2
|
||||
4
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
SELECT TABLE1.pk FROM k TABLE1
|
||||
RIGHT JOIN h TABLE2 ON TABLE1.col_int_key=TABLE2.col_int_key
|
||||
RIGHT JOIN m TABLE4 ON TABLE2.col_int_key=TABLE4.col_int_key
|
||||
WHERE TABLE1.pk IS NULL;
|
||||
pk
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
NULL
|
||||
DROP TABLE h,m,k;
|
||||
End of 5.1 tests
|
||||
|
|
|
|||
|
|
@ -680,4 +680,21 @@ Warnings:
|
|||
Warning 1292 Truncated incorrect datetime value: '1'
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# BUG#57373: Multi update+InnoDB reports ER_KEY_NOT_FOUND if a
|
||||
# table is updated twice
|
||||
#
|
||||
CREATE TABLE t1(
|
||||
pk INT,
|
||||
a INT,
|
||||
PRIMARY KEY (pk)
|
||||
) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (0,0);
|
||||
UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
|
||||
|
||||
# Should be (1,2)
|
||||
SELECT * FROM t1;
|
||||
pk a
|
||||
1 2
|
||||
DROP TABLE t1;
|
||||
end of tests
|
||||
|
|
|
|||
29
mysql-test/r/multi_update_innodb.result
Normal file
29
mysql-test/r/multi_update_innodb.result
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#
|
||||
# BUG#57373: Multi update+InnoDB reports ER_KEY_NOT_FOUND if a
|
||||
# table is updated twice
|
||||
#
|
||||
CREATE TABLE t1(
|
||||
pk INT,
|
||||
a INT,
|
||||
b INT,
|
||||
PRIMARY KEY (pk)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (0,0,0);
|
||||
UPDATE t1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
|
||||
ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
|
||||
SELECT * FROM t1;
|
||||
pk a b
|
||||
0 0 0
|
||||
CREATE VIEW v1 AS SELECT * FROM t1;
|
||||
UPDATE v1 AS A, t1 AS B SET A.pk = 1, B.a = 2;
|
||||
ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
|
||||
SELECT * FROM t1;
|
||||
pk a b
|
||||
0 0 0
|
||||
UPDATE t1 AS A, t1 AS B SET A.a = 1, B.b = 2;
|
||||
# Should be (0,1,2)
|
||||
SELECT * FROM t1;
|
||||
pk a b
|
||||
0 1 2
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
12
mysql-test/r/mysqld--defaults-file.result
Normal file
12
mysql-test/r/mysqld--defaults-file.result
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
Could not open required defaults file: /path/with/no/extension
|
||||
Fatal error in defaults handling. Program aborted
|
||||
Could not open required defaults file: /path/with.ext
|
||||
Fatal error in defaults handling. Program aborted
|
||||
Could not open required defaults file: MYSQL_TEST_DIR/relative/path/with.ext
|
||||
Fatal error in defaults handling. Program aborted
|
||||
Could not open required defaults file: MYSQL_TEST_DIR/relative/path/without/extension
|
||||
Fatal error in defaults handling. Program aborted
|
||||
Could not open required defaults file: MYSQL_TEST_DIR/with.ext
|
||||
Fatal error in defaults handling. Program aborted
|
||||
Could not open required defaults file: MYSQL_TEST_DIR/no_extension
|
||||
Fatal error in defaults handling. Program aborted
|
||||
|
|
@ -4591,5 +4591,41 @@ CREATE TABLE `comment_table` (i INT COMMENT 'FIELD COMMENT') COMMENT = 'TABLE CO
|
|||
</mysqldump>
|
||||
DROP TABLE `comment_table`;
|
||||
#
|
||||
# BUG#11766310 : 59398: MYSQLDUMP 5.1 CAN'T HANDLE A DASH ("-") IN
|
||||
# DATABASE NAMES IN ALTER DATABASE
|
||||
#
|
||||
CREATE DATABASE `test-database`;
|
||||
USE `test-database`;
|
||||
CREATE TABLE `test` (`c1` VARCHAR(10)) ENGINE=MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
CREATE TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
|
||||
END |
|
||||
ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci;
|
||||
ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||
/*!40101 SET character_set_client = utf8 */;
|
||||
CREATE TABLE `test` (
|
||||
`c1` varchar(10) COLLATE utf8_unicode_ci DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
|
||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||
ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||
/*!50003 SET @saved_cs_results = @@character_set_results */ ;
|
||||
/*!50003 SET @saved_col_connection = @@collation_connection */ ;
|
||||
/*!50003 SET character_set_client = latin1 */ ;
|
||||
/*!50003 SET character_set_results = latin1 */ ;
|
||||
/*!50003 SET collation_connection = latin1_swedish_ci */ ;
|
||||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||
/*!50003 SET sql_mode = '' */ ;
|
||||
DELIMITER ;;
|
||||
/*!50003 CREATE*/ /*!50017 DEFINER=`root`@`localhost`*/ /*!50003 TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
|
||||
END */;;
|
||||
DELIMITER ;
|
||||
/*!50003 SET sql_mode = @saved_sql_mode */ ;
|
||||
/*!50003 SET character_set_client = @saved_cs_client */ ;
|
||||
/*!50003 SET character_set_results = @saved_cs_results */ ;
|
||||
/*!50003 SET collation_connection = @saved_col_connection */ ;
|
||||
ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||
DROP DATABASE `test-database`;
|
||||
#
|
||||
# End of 5.1 tests
|
||||
#
|
||||
|
|
|
|||
|
|
@ -3,6 +3,10 @@ SHOW VARIABLES like 'slave_skip_errors';
|
|||
Variable_name Value
|
||||
slave_skip_errors OFF
|
||||
#
|
||||
# Bug#58026: massive recursion and crash in regular expression handling
|
||||
#
|
||||
SELECT '1' RLIKE RPAD('1', 10000, '(');
|
||||
#
|
||||
# WL#4284: Transactional DDL locking
|
||||
#
|
||||
# FLUSH PRIVILEGES should not implicitly unlock locked tables.
|
||||
|
|
|
|||
|
|
@ -1425,8 +1425,9 @@ set session sort_buffer_size= 30000;
|
|||
Warnings:
|
||||
Warning 1292 Truncated incorrect sort_buffer_size value: '30000'
|
||||
set session max_sort_length= 2180;
|
||||
CALL mtr.add_suppression("Out of sort memory");
|
||||
select * from t1 order by b;
|
||||
ERROR HY001: Out of sort memory; increase server sort buffer size
|
||||
ERROR HY001: Out of sort memory, consider increasing server sort buffer size
|
||||
drop table t1;
|
||||
#
|
||||
# Bug #39844: Query Crash Mysql Server 5.0.67
|
||||
|
|
@ -1638,6 +1639,31 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||
1 SIMPLE t1 index NULL a 8 NULL 10 Using index; Using temporary; Using filesort
|
||||
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.b 1 Using where
|
||||
DROP TABLE t1, t2;
|
||||
#
|
||||
# Bug #59110: Memory leak of QUICK_SELECT_I allocated memory
|
||||
# and
|
||||
# Bug #59308: Incorrect result for
|
||||
SELECT DISTINCT <col>... ORDER BY <col> DESC
|
||||
|
||||
# Use Valgrind to detect #59110!
|
||||
#
|
||||
CREATE TABLE t1 (a INT,KEY (a));
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10);
|
||||
EXPLAIN SELECT DISTINCT a,1 FROM t1 WHERE a <> 1 ORDER BY a DESC;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index a a 5 NULL 10 Using where; Using index; Using filesort
|
||||
SELECT DISTINCT a,1 FROM t1 WHERE a <> 1 ORDER BY a DESC;
|
||||
a 1
|
||||
10 1
|
||||
9 1
|
||||
8 1
|
||||
7 1
|
||||
6 1
|
||||
5 1
|
||||
4 1
|
||||
3 1
|
||||
2 1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug #38745: MySQL 5.1 optimizer uses filesort for ORDER BY
|
||||
|
|
|
|||
|
|
@ -2264,3 +2264,51 @@ INSERT INTO t1 VALUES(0);
|
|||
DROP TABLE t1;
|
||||
SET GLOBAL myisam_use_mmap=default;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# BUG#55385: UPDATE statement throws an error, but still updates
|
||||
# the table entries
|
||||
CREATE TABLE t1_part (
|
||||
partkey int,
|
||||
nokey int
|
||||
) PARTITION BY LINEAR HASH(partkey) PARTITIONS 3;
|
||||
INSERT INTO t1_part VALUES (1, 1) , (10, 10);
|
||||
CREATE VIEW v1 AS SELECT * FROM t1_part;
|
||||
|
||||
# Should be (1,1),(10,10)
|
||||
SELECT * FROM t1_part;
|
||||
partkey nokey
|
||||
1 1
|
||||
10 10
|
||||
|
||||
# Case 1
|
||||
# Update is refused because partitioning key is updated
|
||||
UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.partkey = 2, B.nokey = 3;
|
||||
ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
|
||||
UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.nokey = 2, B.partkey = 3;
|
||||
ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
|
||||
|
||||
# Case 2
|
||||
# Like 1, but partition accessed through a view
|
||||
UPDATE t1_part AS A NATURAL JOIN v1 as B SET A.nokey = 2 , B.partkey = 3;
|
||||
ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
|
||||
UPDATE v1 AS A NATURAL JOIN t1_part as B SET A.nokey = 2 , B.partkey = 3;
|
||||
ERROR HY000: Primary key/partition key update is not allowed since the table is updated both as 'A' and 'B'.
|
||||
|
||||
# Should be (1,1),(10,10)
|
||||
SELECT * FROM t1_part;
|
||||
partkey nokey
|
||||
1 1
|
||||
10 10
|
||||
|
||||
# Case 3
|
||||
# Update is accepted because partitioning key is not updated
|
||||
UPDATE t1_part AS A NATURAL JOIN t1_part B SET A.nokey = 2 , B.nokey = 3;
|
||||
|
||||
# Should be (1,3),(10,3)
|
||||
SELECT * FROM t1_part;
|
||||
partkey nokey
|
||||
1 3
|
||||
10 3
|
||||
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1_part;
|
||||
|
|
|
|||
|
|
@ -330,4 +330,16 @@ mysqld is alive
|
|||
# Executing 'mysqldump'
|
||||
# Executing 'mysql_upgrade'
|
||||
The --upgrade-system-tables option was used, databases won't be touched.
|
||||
#
|
||||
# Bug #59657: Move the client authentication_pam plugin into the
|
||||
# server repository
|
||||
#
|
||||
CREATE USER uplain@localhost IDENTIFIED WITH 'cleartext_plugin_server'
|
||||
AS 'cleartext_test';
|
||||
## test plugin auth
|
||||
ERROR 28000: Access denied for user 'uplain'@'localhost' (using password: YES)
|
||||
select USER(),CURRENT_USER();
|
||||
USER() CURRENT_USER()
|
||||
uplain@localhost uplain@localhost
|
||||
DROP USER uplain@localhost;
|
||||
End of 5.5 tests
|
||||
|
|
|
|||
|
|
@ -1666,4 +1666,105 @@ c_key c_notkey
|
|||
1 1
|
||||
3 3
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #57030: 'BETWEEN' evaluation is incorrect
|
||||
#
|
||||
CREATE TABLE t1(pk INT PRIMARY KEY, i4 INT);
|
||||
CREATE UNIQUE INDEX i4_uq ON t1(i4);
|
||||
INSERT INTO t1 VALUES (1,10), (2,20), (3,30);
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 10;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const i4_uq i4_uq 5 const 1
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 10;
|
||||
pk i4
|
||||
1 10
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN i4 AND i4;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 const i4_uq i4_uq 5 const 1
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN i4 AND i4;
|
||||
pk i4
|
||||
1 10
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN 10 AND i4;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range i4_uq i4_uq 5 NULL 3 Using where
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN 10 AND i4;
|
||||
pk i4
|
||||
1 10
|
||||
2 20
|
||||
3 30
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN i4 AND 10;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range i4_uq i4_uq 5 NULL 1 Using where
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN i4 AND 10;
|
||||
pk i4
|
||||
1 10
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN 10 AND 10;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 3
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN 10 AND 10;
|
||||
pk i4
|
||||
1 10
|
||||
2 20
|
||||
3 30
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN 11 AND 11;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN 11 AND 11;
|
||||
pk i4
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN 100 AND 0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE
|
||||
SELECT * FROM t1 WHERE 10 BETWEEN 100 AND 0;
|
||||
pk i4
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 100 AND 0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 100 AND 0;
|
||||
pk i4
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 99999999999999999;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range i4_uq i4_uq 5 NULL 2 Using where
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 10 AND 99999999999999999;
|
||||
pk i4
|
||||
1 10
|
||||
2 20
|
||||
3 30
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 999999999999999 AND 30;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 999999999999999 AND 30;
|
||||
pk i4
|
||||
EXPLAIN
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 10 AND '20';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range i4_uq i4_uq 5 NULL 1 Using where
|
||||
SELECT * FROM t1 WHERE i4 BETWEEN 10 AND '20';
|
||||
pk i4
|
||||
1 10
|
||||
2 20
|
||||
EXPLAIN
|
||||
SELECT * FROM t1, t1 as t2 WHERE t2.pk BETWEEN t1.i4 AND t1.i4;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL i4_uq NULL NULL NULL 3
|
||||
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.i4 1 Using where
|
||||
SELECT * FROM t1, t1 as t2 WHERE t2.pk BETWEEN t1.i4 AND t1.i4;
|
||||
pk i4 pk i4
|
||||
EXPLAIN
|
||||
SELECT * FROM t1, t1 as t2 WHERE t1.i4 BETWEEN t2.pk AND t2.pk;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ALL i4_uq NULL NULL NULL 3
|
||||
1 SIMPLE t2 eq_ref PRIMARY PRIMARY 4 test.t1.i4 1 Using where
|
||||
SELECT * FROM t1, t1 as t2 WHERE t1.i4 BETWEEN t2.pk AND t2.pk;
|
||||
pk i4 pk i4
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
|
|
|
|||
|
|
@ -20,16 +20,16 @@ return 0;
|
|||
end $$
|
||||
show procedure code signal_proc;
|
||||
Pos Instruction
|
||||
0 stmt 131 "SIGNAL foo"
|
||||
1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 132 "RESIGNAL foo"
|
||||
3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
0 stmt 130 "SIGNAL foo"
|
||||
1 stmt 130 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 131 "RESIGNAL foo"
|
||||
3 stmt 131 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
drop procedure signal_proc;
|
||||
show function code signal_func;
|
||||
Pos Instruction
|
||||
0 stmt 131 "SIGNAL foo"
|
||||
1 stmt 131 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 132 "RESIGNAL foo"
|
||||
3 stmt 132 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
0 stmt 130 "SIGNAL foo"
|
||||
1 stmt 130 "SIGNAL foo SET MESSAGE_TEXT = "This i..."
|
||||
2 stmt 131 "RESIGNAL foo"
|
||||
3 stmt 131 "RESIGNAL foo SET MESSAGE_TEXT = "This..."
|
||||
4 freturn 3 0
|
||||
drop function signal_func;
|
||||
|
|
|
|||
|
|
@ -155,11 +155,11 @@ Pos Instruction
|
|||
0 stmt 9 "drop temporary table if exists sudoku..."
|
||||
1 stmt 1 "create temporary table sudoku_work ( ..."
|
||||
2 stmt 1 "create temporary table sudoku_schedul..."
|
||||
3 stmt 89 "call sudoku_init()"
|
||||
3 stmt 88 "call sudoku_init()"
|
||||
4 jump_if_not 7(8) p_naive@0
|
||||
5 stmt 4 "update sudoku_work set cnt = 0 where ..."
|
||||
6 jump 8
|
||||
7 stmt 89 "call sudoku_count()"
|
||||
7 stmt 88 "call sudoku_count()"
|
||||
8 stmt 6 "insert into sudoku_schedule (row,col)..."
|
||||
9 set v_scounter@2 0
|
||||
10 set v_i@3 1
|
||||
|
|
|
|||
8
mysql-test/r/ssl_and_innodb.result
Normal file
8
mysql-test/r/ssl_and_innodb.result
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
CREATE TABLE t1(a int) engine=innodb;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
SELECT DISTINCT
|
||||
convert((SELECT des_decrypt(2,1) AS a FROM t1 WHERE @a:=1), signed) as d
|
||||
FROM t1 ;
|
||||
d
|
||||
2
|
||||
DROP TABLE t1;
|
||||
|
|
@ -22,7 +22,8 @@ insert into t1 (b) select b from t2;
|
|||
insert into t2 (b) select b from t1;
|
||||
insert into t1 (b) select b from t2;
|
||||
drop table t2;
|
||||
create table t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="MYSQLTEST_VARDIR/tmp" index directory="MYSQLTEST_VARDIR/run";
|
||||
create table t9 (a int not null auto_increment, b char(16) not null, primary key (a))
|
||||
engine=myisam data directory="MYSQLTEST_VARDIR/tmp" index directory="MYSQLTEST_VARDIR/run";
|
||||
insert into t9 select * from t1;
|
||||
check table t9;
|
||||
Table Op Msg_type Msg_text
|
||||
|
|
@ -56,11 +57,17 @@ t9 CREATE TABLE `t9` (
|
|||
PRIMARY KEY (`a`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=16725 DEFAULT CHARSET=latin1 DATA DIRECTORY='MYSQLTEST_VARDIR/tmp/' INDEX DIRECTORY='MYSQLTEST_VARDIR/run/'
|
||||
create database mysqltest;
|
||||
create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="/this-dir-does-not-exist";
|
||||
create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
|
||||
engine=myisam index directory="/this-dir-does-not-exist";
|
||||
Got one of the listed errors
|
||||
create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam index directory="MYSQLTEST_VARDIR/run";
|
||||
create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
|
||||
engine=myisam index directory="not-hard-path";
|
||||
ERROR 42000: Incorrect table name 'not-hard-path'
|
||||
create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
|
||||
engine=myisam index directory="MYSQLTEST_VARDIR/run";
|
||||
Got one of the listed errors
|
||||
create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a)) engine=myisam data directory="MYSQLTEST_VARDIR/tmp";
|
||||
create table mysqltest.t9 (a int not null auto_increment, b char(16) not null, primary key (a))
|
||||
engine=myisam data directory="MYSQLTEST_VARDIR/tmp";
|
||||
Got one of the listed errors
|
||||
alter table t9 rename mysqltest.t9;
|
||||
select count(*) from mysqltest.t9;
|
||||
|
|
|
|||
|
|
@ -341,4 +341,18 @@ ta_y s tb_y s
|
|||
2001 2001 2001 2001
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #59211: Select Returns Different Value for min(year) Function
|
||||
#
|
||||
CREATE TABLE t1(c1 YEAR(4));
|
||||
INSERT INTO t1 VALUES (1901),(2155),(0000);
|
||||
SELECT * FROM t1;
|
||||
c1
|
||||
1901
|
||||
2155
|
||||
0000
|
||||
SELECT COUNT(*) AS total_rows, MIN(c1) AS min_value, MAX(c1) FROM t1;
|
||||
total_rows min_value MAX(c1)
|
||||
3 0 2155
|
||||
DROP TABLE t1;
|
||||
#
|
||||
End of 5.1 tests
|
||||
|
|
|
|||
|
|
@ -448,6 +448,12 @@ DROP TABLE t1;
|
|||
select @v:=@v:=sum(1) from dual;
|
||||
@v:=@v:=sum(1)
|
||||
1
|
||||
CREATE TABLE t1(a DECIMAL(31,21));
|
||||
INSERT INTO t1 VALUES (0);
|
||||
SELECT (@v:=a) <> (@v:=1) FROM t1;
|
||||
(@v:=a) <> (@v:=1)
|
||||
1
|
||||
DROP TABLE t1;
|
||||
End of 5.1 tests
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(f1 INT AUTO_INCREMENT, PRIMARY KEY(f1));
|
||||
|
|
|
|||
|
|
@ -1732,3 +1732,25 @@ set @@session.autocommit=t1_min(), @@session.autocommit=t1_max(),
|
|||
drop table t1;
|
||||
drop function t1_min;
|
||||
drop function t1_max;
|
||||
#
|
||||
# Bug #59884: setting charset to 2048 crashes
|
||||
#
|
||||
set session character_set_results = 2048;
|
||||
ERROR 42000: Unknown character set: '2048'
|
||||
set session character_set_client=2048;
|
||||
ERROR 42000: Unknown character set: '2048'
|
||||
set session character_set_connection=2048;
|
||||
ERROR 42000: Unknown character set: '2048'
|
||||
set session character_set_server=2048;
|
||||
ERROR 42000: Unknown character set: '2048'
|
||||
set session collation_server=2048;
|
||||
ERROR HY000: Unknown collation: '2048'
|
||||
set session character_set_filesystem=2048;
|
||||
ERROR 42000: Unknown character set: '2048'
|
||||
set session character_set_database=2048;
|
||||
ERROR 42000: Unknown character set: '2048'
|
||||
set session collation_connection=2048;
|
||||
ERROR HY000: Unknown collation: '2048'
|
||||
set session collation_database=2048;
|
||||
ERROR HY000: Unknown collation: '2048'
|
||||
End of 5.5 tests
|
||||
|
|
|
|||
|
|
@ -142,3 +142,27 @@ XA PREPARE 'x';
|
|||
XA PREPARE 'x';
|
||||
ERROR XAE07: XAER_RMFAIL: The command cannot be executed when global transaction is in the PREPARED state
|
||||
XA ROLLBACK 'x';
|
||||
#
|
||||
# Bug#59986 Assert in Diagnostics_area::set_ok_status() for XA COMMIT
|
||||
#
|
||||
DROP TABLE IF EXISTS t1;
|
||||
CREATE TABLE t1(a INT, b INT, PRIMARY KEY(a)) engine=InnoDB;
|
||||
INSERT INTO t1 VALUES (1, 1), (2, 2);
|
||||
# Connection con1
|
||||
XA START 'a';
|
||||
UPDATE t1 SET b= 3 WHERE a=1;
|
||||
# Connection default
|
||||
XA START 'b';
|
||||
UPDATE t1 SET b=4 WHERE a=2;
|
||||
# Sending:
|
||||
UPDATE t1 SET b=5 WHERE a=1;
|
||||
# Connection con1
|
||||
UPDATE t1 SET b=6 WHERE a=2;
|
||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||
XA COMMIT 'a';
|
||||
ERROR XA102: XA_RBDEADLOCK: Transaction branch was rolled back: deadlock was detected
|
||||
# Connection default
|
||||
# Reaping: UPDATE t1 SET b=5 WHERE a=1
|
||||
XA END 'b';
|
||||
XA ROLLBACK 'b';
|
||||
DROP TABLE t1;
|
||||
|
|
|
|||
|
|
@ -1124,6 +1124,14 @@ Warning 1525 Incorrect XML value: 'parse error at line 1 pos 2: END-OF-INPUT une
|
|||
SELECT UPDATEXML(CONVERT(_latin1'<!--' USING utf8),'1','1');
|
||||
UPDATEXML(CONVERT(_latin1'<!--' USING utf8),'1','1')
|
||||
NULL
|
||||
#
|
||||
# Bug#11766725 (bug#59901): EXTRACTVALUE STILL BROKEN AFTER FIX FOR BUG #44332
|
||||
#
|
||||
SELECT ExtractValue(CONVERT('<\"', BINARY(10)), 1);
|
||||
ExtractValue(CONVERT('<\"', BINARY(10)), 1)
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1525 Incorrect XML value: 'parse error at line 1 pos 11: STRING unexpected (ident or '/' wanted)'
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Start of 5.5 tests
|
||||
|
|
|
|||
|
|
@ -2418,7 +2418,7 @@ INSERT INTO t1 SELECT * FROM t2 LIMIT 1;
|
|||
DROP TABLE t1,t2;
|
||||
"Should NOT have any warning message issued in the following func7() and trig"
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a CHAR(40));
|
||||
CREATE TABLE t2 (a TEXT);
|
||||
CREATE TABLE trigger_table (a CHAR(7));
|
||||
CREATE FUNCTION func7()
|
||||
RETURNS INT
|
||||
|
|
|
|||
|
|
@ -481,7 +481,7 @@ DROP TABLE t1,t2;
|
|||
|
||||
--echo "Should NOT have any warning message issued in the following func7() and trig"
|
||||
CREATE TABLE t1 (a INT);
|
||||
CREATE TABLE t2 (a CHAR(40));
|
||||
CREATE TABLE t2 (a TEXT);
|
||||
CREATE TABLE trigger_table (a CHAR(7));
|
||||
DELIMITER |;
|
||||
CREATE FUNCTION func7()
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -1,5 +1,5 @@
|
|||
--disable_warnings
|
||||
DROP TABLE IF EXISTS t2;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
--enable_warnings
|
||||
CREATE TABLE t1(c1 CHAR(100) NOT NULL);
|
||||
PREPARE stmt1 FROM 'INSERT INTO t1 (c1) VALUES(?)';
|
||||
|
|
|
|||
|
|
@ -2431,7 +2431,7 @@ c1 c2 c3 c4
|
|||
2155 2155 1998-12-26 1998-12-26 11:30:45
|
||||
SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3;
|
||||
total_rows min_value max(c2)
|
||||
21 1901 2155
|
||||
21 0 2155
|
||||
SELECT * FROM t3 WHERE c3 = '1998-12-11';
|
||||
c1 c2 c3 c4
|
||||
1990 1990 1998-12-11 1998-12-11 11:30:45
|
||||
|
|
@ -2838,7 +2838,7 @@ c1 c2 c3 c4
|
|||
2155 2155 1998-12-26 1998-12-26 11:30:45
|
||||
SELECT count(*) as total_rows, min(c2) as min_value, max(c2) FROM t3;
|
||||
total_rows min_value max(c2)
|
||||
21 1901 2155
|
||||
21 0 2155
|
||||
SELECT * FROM t3 WHERE c3 = '1998-12-11';
|
||||
c1 c2 c3 c4
|
||||
1990 1990 1998-12-11 1998-12-11 11:30:45
|
||||
|
|
|
|||
30
mysql-test/suite/innodb/r/innodb-autoinc-56228.result
Normal file
30
mysql-test/suite/innodb/r/innodb-autoinc-56228.result
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
DROP TABLE IF EXISTS t1_56228;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1_56228'
|
||||
DROP TABLE IF EXISTS t2_56228;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't2_56228'
|
||||
DROP FUNCTION IF EXISTS bug56228;
|
||||
Warnings:
|
||||
Note 1305 FUNCTION test.bug56228 does not exist
|
||||
CREATE TEMPORARY TABLE t1_56228(
|
||||
c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
||||
CREATE TEMPORARY TABLE t2_56228(
|
||||
c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
||||
CREATE FUNCTION bug56228() RETURNS INT DETERMINISTIC
|
||||
BEGIN
|
||||
INSERT INTO t1_56228 VALUES(NULL);
|
||||
INSERT INTO t2_56228 VALUES(NULL);
|
||||
INSERT INTO t1_56228 VALUES(NULL);
|
||||
INSERT INTO t2_56228 VALUES(NULL);
|
||||
DROP TEMPORARY TABLE t1_56228;
|
||||
RETURN 42;
|
||||
END //
|
||||
SELECT bug56228();
|
||||
bug56228()
|
||||
42
|
||||
DROP FUNCTION bug56228;
|
||||
DROP TEMPORARY TABLE t2_56228;
|
||||
DROP TEMPORARY TABLE IF EXISTS t1_56228;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1_56228'
|
||||
|
|
@ -585,5 +585,17 @@ COUNT(*)
|
|||
2
|
||||
DROP TABLE t1, t2;
|
||||
End of 5.0 tests
|
||||
#
|
||||
# Test for bug #58650 "Failing assertion: primary_key_no == -1 ||
|
||||
# primary_key_no == 0".
|
||||
#
|
||||
drop table if exists t1;
|
||||
# The minimal test case.
|
||||
create table t1 (a int not null, b linestring not null, unique key b (b(12)), unique key a (a));
|
||||
drop table t1;
|
||||
# The original test case.
|
||||
create table t1 (a int not null, b linestring not null, unique key b (b(12)));
|
||||
create unique index a on t1(a);
|
||||
drop table t1;
|
||||
create table t1 (g geometry not null, spatial gk(g)) engine=innodb;
|
||||
ERROR HY000: The used table type doesn't support SPATIAL indexes
|
||||
|
|
|
|||
|
|
@ -0,0 +1 @@
|
|||
--innodb_autoinc_lock_mode=0
|
||||
33
mysql-test/suite/innodb/t/innodb-autoinc-56228.test
Normal file
33
mysql-test/suite/innodb/t/innodb-autoinc-56228.test
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
-- source include/have_innodb.inc
|
||||
|
||||
##
|
||||
# Bug #56228: dropping tables from within an active statement crashes server
|
||||
#
|
||||
DROP TABLE IF EXISTS t1_56228;
|
||||
DROP TABLE IF EXISTS t2_56228;
|
||||
DROP FUNCTION IF EXISTS bug56228;
|
||||
|
||||
CREATE TEMPORARY TABLE t1_56228(
|
||||
c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
||||
CREATE TEMPORARY TABLE t2_56228(
|
||||
c1 iNT AUTO_INCREMENT PRIMARY KEY) ENGINE=InnoDB;
|
||||
|
||||
DELIMITER //;
|
||||
|
||||
CREATE FUNCTION bug56228() RETURNS INT DETERMINISTIC
|
||||
BEGIN
|
||||
INSERT INTO t1_56228 VALUES(NULL);
|
||||
INSERT INTO t2_56228 VALUES(NULL);
|
||||
INSERT INTO t1_56228 VALUES(NULL);
|
||||
INSERT INTO t2_56228 VALUES(NULL);
|
||||
DROP TEMPORARY TABLE t1_56228;
|
||||
RETURN 42;
|
||||
END //
|
||||
|
||||
DELIMITER ;//
|
||||
|
||||
SELECT bug56228();
|
||||
|
||||
DROP FUNCTION bug56228;
|
||||
DROP TEMPORARY TABLE t2_56228;
|
||||
DROP TEMPORARY TABLE IF EXISTS t1_56228;
|
||||
|
|
@ -1,6 +1,16 @@
|
|||
#
|
||||
# Bug#24509 cannot use more than 2048 file descriptors on windows
|
||||
#
|
||||
|
||||
#
|
||||
# This test requires approximately 6000 of files to be open simultaneously.
|
||||
# Let us skip it on platforms where open files limit is too low.
|
||||
let $max_open_files_limit= `SELECT @@open_files_limit < 6100`;
|
||||
if ($max_open_files_limit)
|
||||
{
|
||||
skip Need open_files_limit to be greater than 6100;
|
||||
}
|
||||
|
||||
--disable_query_log
|
||||
create database many_tables;
|
||||
use many_tables;
|
||||
|
|
@ -19,14 +29,14 @@ while ($i)
|
|||
}
|
||||
|
||||
#lock all tables we just created (resembles mysqldump startup is doing with --all-databases operation)
|
||||
#There will be 3 descriptors for each table (table.FRM, table.MYI and table.MYD files) means 9000 files
|
||||
#There will be 2 descriptors for each table (table.MYI and table.MYD files) means 6000 files
|
||||
#descriptors altogether. For Microsoft C runtime, this is way too many.
|
||||
|
||||
eval LOCK TABLES $table_list;
|
||||
unlock tables;
|
||||
|
||||
drop database many_tables;
|
||||
--disable_query_log
|
||||
--enable_query_log
|
||||
--echo all done
|
||||
|
||||
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue