mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
Merge of maria/5.5 into maria-5.5-galera.
bzr merge -r tag:mariadb-5.5.35 maria/5.5
This commit is contained in:
@@ -20,6 +20,12 @@ if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" GREATER 2.6)
|
||||
CMAKE_POLICY(VERSION 2.8)
|
||||
endif()
|
||||
|
||||
# explicitly set the policy to OLD
|
||||
# (cannot use NEW, not everyone is on cmake-2.8.12 yet)
|
||||
IF(POLICY CMP0022)
|
||||
CMAKE_POLICY(SET CMP0022 OLD)
|
||||
ENDIF()
|
||||
|
||||
MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}")
|
||||
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
|
||||
@@ -170,6 +176,81 @@ MARK_AS_ADVANCED(CYBOZU BACKUP_TEST WITHOUT_SERVER DISABLE_SHARED)
|
||||
|
||||
OPTION(NOT_FOR_DISTRIBUTION "Allow linking with GPLv2-incompatible system libraries. Only set it you never plan to distribute the resulting binaries" OFF)
|
||||
|
||||
include(CheckCSourceCompiles)
|
||||
include(CheckCXXSourceCompiles)
|
||||
# We need some extra FAIL_REGEX patterns
|
||||
# Note that CHECK_C_SOURCE_COMPILES is a misnomer, it will also link.
|
||||
MACRO (MY_CHECK_C_COMPILER_FLAG FLAG RESULT)
|
||||
SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
||||
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}")
|
||||
CHECK_C_SOURCE_COMPILES("int main(void) { return 0; }" ${RESULT}
|
||||
FAIL_REGEX "argument unused during compilation"
|
||||
FAIL_REGEX "unsupported .*option"
|
||||
FAIL_REGEX "unknown .*option"
|
||||
FAIL_REGEX "unrecognized .*option"
|
||||
FAIL_REGEX "ignoring unknown option"
|
||||
FAIL_REGEX "[Ww]arning: [Oo]ption"
|
||||
)
|
||||
SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}")
|
||||
ENDMACRO()
|
||||
|
||||
MACRO (MY_CHECK_CXX_COMPILER_FLAG FLAG RESULT)
|
||||
SET(SAVE_CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
||||
SET(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${FLAG}")
|
||||
CHECK_CXX_SOURCE_COMPILES("int main(void) { return 0; }" ${RESULT}
|
||||
FAIL_REGEX "argument unused during compilation"
|
||||
FAIL_REGEX "unsupported .*option"
|
||||
FAIL_REGEX "unknown .*option"
|
||||
FAIL_REGEX "unrecognized .*option"
|
||||
FAIL_REGEX "ignoring unknown option"
|
||||
FAIL_REGEX "[Ww]arning: [Oo]ption"
|
||||
)
|
||||
SET(CMAKE_REQUIRED_FLAGS "${SAVE_CMAKE_REQUIRED_FLAGS}")
|
||||
ENDMACRO()
|
||||
|
||||
OPTION(WITH_ASAN "Enable address sanitizer" OFF)
|
||||
IF (WITH_ASAN)
|
||||
# gcc 4.8.1 and new versions of clang
|
||||
MY_CHECK_C_COMPILER_FLAG("-fsanitize=address" HAVE_C_FSANITIZE)
|
||||
MY_CHECK_CXX_COMPILER_FLAG("-fsanitize=address" HAVE_CXX_FSANITIZE)
|
||||
|
||||
IF(HAVE_C_FSANITIZE AND HAVE_CXX_FSANITIZE)
|
||||
# We switch on basic optimization also for debug builds.
|
||||
# With optimization we may get some warnings, so we switch off -Werror
|
||||
SET(CMAKE_C_FLAGS_DEBUG
|
||||
"${CMAKE_C_FLAGS_DEBUG} -fsanitize=address -O1 -Wno-error -fPIC")
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
"${CMAKE_C_FLAGS_RELWITHDEBINFO} -fsanitize=address -fPIC")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG
|
||||
"${CMAKE_CXX_FLAGS_DEBUG} -fsanitize=address -O1 -Wno-error -fPIC")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
"${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fsanitize=address -fPIC")
|
||||
SET(WITH_ASAN_OK 1)
|
||||
ELSE()
|
||||
# older versions of clang
|
||||
MY_CHECK_C_COMPILER_FLAG("-faddress-sanitizer" HAVE_C_FADDRESS)
|
||||
MY_CHECK_CXX_COMPILER_FLAG("-faddress-sanitizer" HAVE_CXX_FFADDRESS)
|
||||
|
||||
IF(HAVE_C_FADDRESS AND HAVE_CXX_FFADDRESS)
|
||||
# We switch on basic optimization also for debug builds.
|
||||
SET(CMAKE_C_FLAGS_DEBUG
|
||||
"${CMAKE_C_FLAGS_DEBUG} -faddress-sanitizer -O1 -fPIC")
|
||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
"${CMAKE_C_FLAGS_RELWITHDEBINFO} -faddress-sanitizer -fPIC")
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG
|
||||
"${CMAKE_CXX_FLAGS_DEBUG} -faddress-sanitizer -O1 -fPIC")
|
||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO
|
||||
"${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -faddress-sanitizer -fPIC")
|
||||
SET(WITH_ASAN_OK 1)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(NOT WITH_ASAN_OK)
|
||||
MESSAGE(FATAL_ERROR "Do not know how to enable address sanitizer")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
|
||||
OPTION(ENABLE_DEBUG_SYNC "Enable debug sync (debug builds only)" ON)
|
||||
IF(ENABLE_DEBUG_SYNC)
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DENABLED_DEBUG_SYNC")
|
||||
|
2
VERSION
2
VERSION
@@ -1,4 +1,4 @@
|
||||
MYSQL_VERSION_MAJOR=5
|
||||
MYSQL_VERSION_MINOR=5
|
||||
MYSQL_VERSION_PATCH=34
|
||||
MYSQL_VERSION_PATCH=35
|
||||
MYSQL_VERSION_EXTRA=
|
||||
|
@@ -1227,7 +1227,7 @@ int main(int argc,char *argv[])
|
||||
|
||||
put_info("Welcome to the MariaDB monitor. Commands end with ; or \\g.",
|
||||
INFO_INFO);
|
||||
sprintf((char*) glob_buffer.ptr(),
|
||||
my_snprintf((char*) glob_buffer.ptr(), glob_buffer.alloced_length(),
|
||||
"Your %s connection id is %lu\nServer version: %s\n",
|
||||
mysql_get_server_name(&mysql),
|
||||
mysql_thread_id(&mysql), server_version_string(&mysql));
|
||||
@@ -1383,7 +1383,6 @@ sig_handler handle_sigint(int sig)
|
||||
mysql_real_query(kill_mysql, kill_buffer, (uint) strlen(kill_buffer));
|
||||
mysql_close(kill_mysql);
|
||||
tee_fprintf(stdout, "Ctrl-C -- query killed. Continuing normally.\n");
|
||||
interrupted_query= 0;
|
||||
if (in_com_source)
|
||||
aborted= 1; // Abort source command
|
||||
return;
|
||||
@@ -1409,6 +1408,7 @@ sig_handler window_resize(int sig)
|
||||
struct winsize window_size;
|
||||
|
||||
if (ioctl(fileno(stdin), TIOCGWINSZ, &window_size) == 0)
|
||||
if (window_size.ws_col > 0)
|
||||
terminal_width= window_size.ws_col;
|
||||
}
|
||||
#endif
|
||||
@@ -1673,8 +1673,9 @@ static void usage(int version)
|
||||
return;
|
||||
puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"));
|
||||
printf("Usage: %s [OPTIONS] [database]\n", my_progname);
|
||||
my_print_help(my_long_options);
|
||||
print_defaults("my", load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
my_print_variables(my_long_options);
|
||||
}
|
||||
|
||||
|
@@ -22,7 +22,7 @@
|
||||
|
||||
#include <welcome_copyright_notice.h> /* ORACLE_WELCOME_COPYRIGHT_NOTICE */
|
||||
|
||||
#define VER "1.3"
|
||||
#define VER "1.3a"
|
||||
|
||||
#ifdef HAVE_SYS_WAIT_H
|
||||
#include <sys/wait.h>
|
||||
@@ -164,6 +164,15 @@ static struct my_option my_long_options[]=
|
||||
};
|
||||
|
||||
|
||||
static const char *load_default_groups[]=
|
||||
{
|
||||
"client", /* Read settings how to connect to server */
|
||||
"mysql_upgrade", /* Read special settings for mysql_upgrade */
|
||||
"client-server", /* Reads settings common between client & server */
|
||||
"client-mariadb", /* Read mariadb unique client settings */
|
||||
0
|
||||
};
|
||||
|
||||
static void free_used_memory(void)
|
||||
{
|
||||
/* Free memory allocated by 'load_defaults' */
|
||||
@@ -180,6 +189,7 @@ static void die(const char *fmt, ...)
|
||||
DBUG_ENTER("die");
|
||||
|
||||
/* Print the error message */
|
||||
fflush(stdout);
|
||||
va_start(args, fmt);
|
||||
if (fmt)
|
||||
{
|
||||
@@ -259,8 +269,11 @@ get_one_option(int optid, const struct my_option *opt,
|
||||
printf("%s Ver %s Distrib %s, for %s (%s)\n",
|
||||
my_progname, VER, MYSQL_SERVER_VERSION, SYSTEM_TYPE, MACHINE_TYPE);
|
||||
puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"));
|
||||
puts("MariaDB utility for upgrading databases to new MariaDB versions.\n");
|
||||
puts("MariaDB utility for upgrading databases to new MariaDB versions.");
|
||||
print_defaults("my", load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
my_print_variables(my_long_options);
|
||||
die(0);
|
||||
break;
|
||||
|
||||
@@ -736,6 +749,7 @@ static int run_mysqlcheck_upgrade(void)
|
||||
!opt_silent || opt_verbose ? "--verbose": "",
|
||||
opt_silent ? "--silent": "",
|
||||
opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
|
||||
"2>&1",
|
||||
NULL);
|
||||
}
|
||||
|
||||
@@ -754,6 +768,7 @@ static int run_mysqlcheck_fixnames(void)
|
||||
opt_verbose ? "--verbose": "",
|
||||
opt_silent ? "--silent": "",
|
||||
opt_write_binlog ? "--write-binlog" : "--skip-write-binlog",
|
||||
"2>&1",
|
||||
NULL);
|
||||
}
|
||||
|
||||
@@ -855,14 +870,11 @@ static int run_sql_fix_privilege_tables(void)
|
||||
}
|
||||
|
||||
|
||||
static const char *load_default_groups[]=
|
||||
static void print_error(const char *error_msg, DYNAMIC_STRING *output)
|
||||
{
|
||||
"client", /* Read settings how to connect to server */
|
||||
"mysql_upgrade", /* Read special settings for mysql_upgrade */
|
||||
"client-server", /* Reads settings common between client & server */
|
||||
"client-mariadb", /* Read mariadb unique client settings */
|
||||
0
|
||||
};
|
||||
fprintf(stderr, "%s\n", error_msg);
|
||||
fprintf(stderr, "%s", output->str);
|
||||
}
|
||||
|
||||
|
||||
/* Convert the specified version string into the numeric format. */
|
||||
@@ -895,6 +907,8 @@ static int check_version_match(void)
|
||||
&ds_version, FALSE) ||
|
||||
extract_variable_from_show(&ds_version, version_str))
|
||||
{
|
||||
print_error("Version check failed. Got the following error when calling "
|
||||
"the 'mysql' command line client", &ds_version);
|
||||
dynstr_free(&ds_version);
|
||||
return 1; /* Query failed */
|
||||
}
|
||||
@@ -963,6 +977,7 @@ int main(int argc, char **argv)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!opt_silent)
|
||||
printf("The --upgrade-system-tables option was used, databases won't be touched.\n");
|
||||
}
|
||||
|
||||
|
@@ -1179,9 +1179,10 @@ static void usage(void)
|
||||
puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"));
|
||||
puts("Administration program for the mysqld daemon.");
|
||||
printf("Usage: %s [OPTIONS] command command....\n", my_progname);
|
||||
print_defaults("my",load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
my_print_variables(my_long_options);
|
||||
print_defaults("my",load_default_groups);
|
||||
puts("\nWhere command is a one or more of: (Commands may be shortened)\n\
|
||||
create databasename Create a new database\n\
|
||||
debug Instruct server to write debug information to log\n\
|
||||
|
@@ -1542,6 +1542,8 @@ static void usage()
|
||||
Dumps a MySQL binary log in a format usable for viewing or for piping to\n\
|
||||
the mysql command line client.\n\n");
|
||||
printf("Usage: %s [options] log-files\n", my_progname);
|
||||
print_defaults("my",load_groups);
|
||||
puts("");
|
||||
my_print_help(my_options);
|
||||
my_print_variables(my_options);
|
||||
}
|
||||
|
@@ -250,6 +250,7 @@ static void usage(void)
|
||||
puts("http://kb.askmonty.org/v/mysqlcheck for latest information about");
|
||||
puts("this program.");
|
||||
print_defaults("my", load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
my_print_variables(my_long_options);
|
||||
DBUG_VOID_RETURN;
|
||||
|
@@ -612,6 +612,7 @@ static void usage(void)
|
||||
puts("Dumping structure and contents of MySQL databases and tables.");
|
||||
short_usage_sub();
|
||||
print_defaults("my",load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
my_print_variables(my_long_options);
|
||||
} /* usage */
|
||||
|
@@ -216,8 +216,9 @@ If one uses sockets to connect to the MySQL server, the server will open and\n\
|
||||
read the text file directly. In other cases the client will open the text\n\
|
||||
file. The SQL command 'LOAD DATA INFILE' is used to import the rows.\n");
|
||||
|
||||
printf("\nUsage: %s [OPTIONS] database textfile...",my_progname);
|
||||
printf("\nUsage: %s [OPTIONS] database textfile...\n",my_progname);
|
||||
print_defaults("my",load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
my_print_variables(my_long_options);
|
||||
}
|
||||
|
@@ -279,6 +279,7 @@ If no table is given, then all matching tables in database are shown.\n\
|
||||
If no column is given, then all matching columns and column types in table\n\
|
||||
are shown.");
|
||||
print_defaults("my",load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
my_print_variables(my_long_options);
|
||||
}
|
||||
|
@@ -732,7 +732,9 @@ static void usage(void)
|
||||
puts("Run a query multiple times against the server.\n");
|
||||
printf("Usage: %s [OPTIONS]\n",my_progname);
|
||||
print_defaults("my",load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
my_print_variables(my_long_options);
|
||||
}
|
||||
|
||||
|
||||
|
@@ -7003,8 +7003,9 @@ void usage()
|
||||
puts(ORACLE_WELCOME_COPYRIGHT_NOTICE("2000"));
|
||||
printf("Runs a test against the mysql server and compares output with a results file.\n\n");
|
||||
printf("Usage: %s [OPTIONS] [database] < test_file\n", my_progname);
|
||||
print_defaults("my",load_default_groups);
|
||||
puts("");
|
||||
my_print_help(my_long_options);
|
||||
printf(" --no-defaults Don't read default options from any options file.\n");
|
||||
my_print_variables(my_long_options);
|
||||
}
|
||||
|
||||
|
@@ -47,10 +47,10 @@ FUNCTION (INSTALL_DEBUG_SYMBOLS)
|
||||
)
|
||||
|
||||
IF(NOT ARG_COMPONENT)
|
||||
MESSAGE(FATAL_ERROR "No COMPONENT passed to INSTALL_DEBUG_SYMBOLS")
|
||||
SET(ARG_COMPONENT DebugBinaries)
|
||||
ENDIF()
|
||||
IF(NOT ARG_INSTALL_LOCATION)
|
||||
MESSAGE(FATAL_ERROR "No INSTALL_LOCATION passed to INSTALL_DEBUG_SYMBOLS")
|
||||
SET(ARG_INSTALL_LOCATION lib)
|
||||
ENDIF()
|
||||
SET(targets ${ARG_DEFAULT_ARGS})
|
||||
|
||||
@@ -400,3 +400,27 @@ FUNCTION(INSTALL_DEBUG_TARGET target)
|
||||
ENDIF()
|
||||
ENDFUNCTION()
|
||||
|
||||
|
||||
FUNCTION(INSTALL_MYSQL_TEST from to)
|
||||
IF(INSTALL_MYSQLTESTDIR)
|
||||
INSTALL(
|
||||
DIRECTORY ${from}
|
||||
DESTINATION "${INSTALL_MYSQLTESTDIR}/${to}"
|
||||
USE_SOURCE_PERMISSIONS
|
||||
COMPONENT Test
|
||||
PATTERN "var/" EXCLUDE
|
||||
PATTERN "lib/My/SafeProcess" EXCLUDE
|
||||
PATTERN "lib/t*" EXCLUDE
|
||||
PATTERN "CPack" EXCLUDE
|
||||
PATTERN "CMake*" EXCLUDE
|
||||
PATTERN "mtr.out*" EXCLUDE
|
||||
PATTERN ".cvsignore" EXCLUDE
|
||||
PATTERN "*.am" EXCLUDE
|
||||
PATTERN "*.in" EXCLUDE
|
||||
PATTERN "*.vcxproj" EXCLUDE
|
||||
PATTERN "*.vcxproj.filters" EXCLUDE
|
||||
PATTERN "*.vcxproj.user" EXCLUDE
|
||||
PATTERN "CTest" EXCLUDE
|
||||
)
|
||||
ENDIF()
|
||||
ENDFUNCTION()
|
||||
|
@@ -1,5 +1,5 @@
|
||||
|
||||
# Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2010, 2013, 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
|
||||
@@ -34,7 +34,10 @@ ENDFOREACH()
|
||||
|
||||
# Ensure we have clean build for shared libraries
|
||||
# without unresolved symbols
|
||||
# Not supported with AddressSanitizer
|
||||
IF(NOT WITH_ASAN)
|
||||
SET(LINK_FLAG_NO_UNDEFINED "-Wl,--no-undefined")
|
||||
ENDIF()
|
||||
|
||||
# 64 bit file offset support flag
|
||||
SET(_FILE_OFFSET_BITS 64)
|
||||
|
@@ -27,23 +27,6 @@ INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/cmake_parse_arguments.cmake)
|
||||
# [LINK_LIBRARIES lib1...libN]
|
||||
# [DEPENDENCIES target1...targetN]
|
||||
|
||||
# Append collections files for the plugin to the common files
|
||||
# Make sure we don't copy twice if running cmake again
|
||||
|
||||
MACRO(PLUGIN_APPEND_COLLECTIONS plugin)
|
||||
SET(fcopied "${CMAKE_CURRENT_SOURCE_DIR}/tests/collections/FilesCopied")
|
||||
IF(NOT EXISTS ${fcopied})
|
||||
FILE(GLOB collections ${CMAKE_CURRENT_SOURCE_DIR}/tests/collections/*)
|
||||
FOREACH(cfile ${collections})
|
||||
FILE(READ ${cfile} contents)
|
||||
GET_FILENAME_COMPONENT(fname ${cfile} NAME)
|
||||
FILE(APPEND ${CMAKE_SOURCE_DIR}/mysql-test/collections/${fname} "${contents}")
|
||||
FILE(APPEND ${fcopied} "${fname}\n")
|
||||
MESSAGE(STATUS "Appended ${cfile}")
|
||||
ENDFOREACH()
|
||||
ENDIF()
|
||||
ENDMACRO()
|
||||
|
||||
MACRO(MYSQL_ADD_PLUGIN)
|
||||
MYSQL_PARSE_ARGUMENTS(ARG
|
||||
"LINK_LIBRARIES;DEPENDENCIES;MODULE_OUTPUT_NAME;STATIC_OUTPUT_NAME;COMPONENT"
|
||||
@@ -226,6 +209,11 @@ MACRO(MYSQL_ADD_PLUGIN)
|
||||
TARGET_LINK_LIBRARIES (${target} ${ARG_LINK_LIBRARIES})
|
||||
ENDIF()
|
||||
|
||||
GET_FILENAME_COMPONENT(subpath ${CMAKE_CURRENT_SOURCE_DIR} NAME)
|
||||
IF(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/mysql-test")
|
||||
INSTALL_MYSQL_TEST("${CMAKE_CURRENT_SOURCE_DIR}/mysql-test/" "plugin/${subpath}")
|
||||
ENDIF()
|
||||
|
||||
ENDMACRO()
|
||||
|
||||
|
||||
|
@@ -147,6 +147,10 @@ IF(UNIX)
|
||||
|
||||
SET(CMAKE_REQUIRED_LIBRARIES
|
||||
${LIBM} ${LIBNSL} ${LIBBIND} ${LIBCRYPT} ${LIBSOCKET} ${LIBDL} ${CMAKE_THREAD_LIBS_INIT} ${LIBRT} ${LIBEXECINFO})
|
||||
# Need explicit pthread for gcc -fsanitize=address
|
||||
IF(CMAKE_USE_PTHREADS_INIT AND CMAKE_C_FLAGS MATCHES "-fsanitize=")
|
||||
SET(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} pthread)
|
||||
ENDIF()
|
||||
|
||||
IF(CMAKE_REQUIRED_LIBRARIES)
|
||||
LIST(REMOVE_DUPLICATES CMAKE_REQUIRED_LIBRARIES)
|
||||
|
172
debian/dist/Debian/control
vendored
172
debian/dist/Debian/control
vendored
@@ -10,6 +10,178 @@ Homepage: http://mariadb.org/
|
||||
Vcs-Browser: http://bazaar.launchpad.net/~maria-captains/maria/5.5/files
|
||||
Vcs-Bzr: bzr://lp:maria
|
||||
|
||||
Package: libmariadbclient18
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: mariadb-common, libmysqlclient18 (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
|
||||
Conflicts: mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33),
|
||||
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3
|
||||
Description: MariaDB database client library
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the client library.
|
||||
|
||||
Package: libmysqlclient18
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: libmariadbclient18 (= ${source:Version})
|
||||
Replaces: libmysqlclient18 (<< ${source:Version})
|
||||
Description: Virtual package to satisfy external depends
|
||||
This is an empty package that provides an updated "best" version of
|
||||
libmysqlclient18 that does not conflict with the libmariadbclient18
|
||||
package.
|
||||
.
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
|
||||
Package: libmariadbd-dev
|
||||
Architecture: any
|
||||
Section: libdevel
|
||||
Depends: libmariadbclient-dev (>= ${source:Version}), ${misc:Depends}
|
||||
Provides: libmysqld-dev
|
||||
Conflicts: libmysqld-dev
|
||||
Replaces: libmysqld-dev
|
||||
Description: MariaDB embedded database development files
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the embedded server library and header files.
|
||||
|
||||
Package: libmariadbclient-dev
|
||||
Architecture: any
|
||||
Section: libdevel
|
||||
Depends: libmariadbclient18 (>= ${source:Version}), zlib1g-dev, , ${shlibs:Depends}, ${misc:Depends}
|
||||
Replaces: libmariadbclient16-dev, libmysqlclient16-dev
|
||||
Conflicts: libmysqlclient-dev, libmariadbclient16-dev, libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev
|
||||
Provides: libmysqlclient-dev
|
||||
Description: MariaDB database development files
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes development libraries and header files.
|
||||
|
||||
Package: mysql-common
|
||||
Section: database
|
||||
Architecture: all
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes files needed by all versions of the client library
|
||||
(e.g. /etc/mysql/my.cnf).
|
||||
|
||||
Package: mariadb-common
|
||||
Section: database
|
||||
Architecture: all
|
||||
Depends: mysql-common, ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes files needed by all versions of the client library
|
||||
(e.g. /etc/mysql/conf.d/mariadb.cnf).
|
||||
|
||||
Package: mariadb-client-core-5.5
|
||||
Architecture: any
|
||||
Depends: mariadb-common, libmariadbclient18 (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: mysql-client-core, mysql-client-core-5.1, mysql-client-core-5.5
|
||||
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0,
|
||||
mysql-client-5.1 (<< ${source:Version}), mysql-client-5.5 (<< ${source:Version}),
|
||||
mysql-client-core-5.1, mysql-client-core-5.5,
|
||||
mariadb-client-5.1, mariadb-client-core-5.1,
|
||||
mariadb-client-5.2, mariadb-client-core-5.2,
|
||||
mariadb-client-5.3, mariadb-client-core-5.3
|
||||
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0,
|
||||
mysql-client-5.1, mysql-client-5.5,
|
||||
mysql-client-core-5.1, mysql-client-core-5.5,
|
||||
mariadb-client-5.1, mariadb-client-core-5.1,
|
||||
mariadb-client-5.2, mariadb-client-core-5.2,
|
||||
mariadb-client-5.3, mariadb-client-core-5.3
|
||||
Description: MariaDB database core client binaries
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the core client files, as used by Akonadi.
|
||||
|
||||
Package: mariadb-client-5.5
|
||||
Architecture: any
|
||||
Depends: debianutils (>=1.6), libdbi-perl, libdbd-mysql-perl (>= 1.2202), mariadb-common, libmariadbclient18 (>= ${source:Version}), mariadb-client-core-5.5 (>= ${source:Version}), ${perl:Depends}, ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: virtual-mysql-client, mysql-client,
|
||||
mysql-client-4.1, mysql-client-5.1, mysql-client-5.5
|
||||
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
|
||||
mariadb-client (<< ${source:Version}),
|
||||
mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3, mysql-client-5.5
|
||||
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
|
||||
mysql-client-5.5,
|
||||
mariadb-client (<< ${source:Version}),
|
||||
mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3
|
||||
Description: MariaDB database client binaries
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the client binaries and the additional tools
|
||||
innotop and mysqlreport.
|
||||
|
||||
Package: mariadb-server-core-5.5
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libmariadbclient18 (>= ${binary:Version})
|
||||
Provides: mysql-server-core, mysql-server-core-5.1, mysql-server-core-5.5
|
||||
Conflicts: mariadb-server-5.1 (<< 5.1.60),
|
||||
mariadb-server-5.2 (<< 5.2.10),
|
||||
mariadb-server-5.3 (<< 5.3.3),
|
||||
mysql-server-5.0,
|
||||
mysql-server-core-5.0, mysql-server-core-5.1, mysql-server-core-5.5,
|
||||
mariadb-server-core-5.1, mariadb-server-core-5.2, mariadb-server-core-5.5
|
||||
Replaces: mariadb-server-5.1 (<< 5.1.60),
|
||||
mariadb-server-5.2 (<< 5.2.10),
|
||||
mariadb-server-5.3 (<< 5.3.3),
|
||||
mysql-server-5.0,
|
||||
mysql-server-core-5.0, mysql-server-core-5.1, mysql-server-core-5.5,
|
||||
mariadb-server-core-5.1, mariadb-server-core-5.2, mariadb-server-core-5.5
|
||||
Description: MariaDB database core server files
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the core server files, as used by Akonadi.
|
||||
|
||||
Package: mariadb-test-5.5
|
||||
Section: database
|
||||
Architecture: any
|
||||
Depends: mariadb-server-5.5 (= ${source:Version}), mariadb-client-5.5 (= ${source:Version})
|
||||
Conflicts: mariadb-test (<< ${source:Version}),
|
||||
mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3,
|
||||
mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33)
|
||||
Suggests: patch
|
||||
Replaces: mariadb-test (<< ${source:Version}),
|
||||
mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3
|
||||
Description: MariaDB database regression test suite
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the regression test suite.
|
||||
|
||||
Package: mariadb-galera-server-5.5
|
||||
Architecture: any
|
||||
Suggests: tinyca, mailx, mariadb-test
|
||||
|
166
debian/dist/Ubuntu/control
vendored
166
debian/dist/Ubuntu/control
vendored
@@ -10,6 +10,172 @@ Homepage: http://mariadb.org/
|
||||
Vcs-Browser: http://bazaar.launchpad.net/~maria-captains/maria/5.5/files
|
||||
Vcs-Bzr: bzr://lp:maria
|
||||
|
||||
Package: libmariadbclient18
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: mariadb-common, libmysqlclient18 (= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
|
||||
Conflicts: mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33),
|
||||
mariadb-server-5.1, mariadb-server-5.2, mariadb-server-5.3
|
||||
Description: MariaDB database client library
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the client library.
|
||||
|
||||
Package: libmysqlclient18
|
||||
Section: libs
|
||||
Architecture: any
|
||||
Depends: libmariadbclient18 (= ${source:Version})
|
||||
Replaces: libmysqlclient18 (<< ${source:Version})
|
||||
Description: Virtual package to satisfy external depends
|
||||
This is an empty package that provides an updated "best" version of
|
||||
libmysqlclient18 that does not conflict with the libmariadbclient18
|
||||
package.
|
||||
.
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
|
||||
Package: libmariadbd-dev
|
||||
Architecture: any
|
||||
Section: libdevel
|
||||
Depends: libmariadbclient-dev (>= ${source:Version}), ${misc:Depends}
|
||||
Provides: libmysqld-dev
|
||||
Conflicts: libmysqld-dev
|
||||
Replaces: libmysqld-dev
|
||||
Description: MariaDB embedded database development files
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the embedded server library and header files.
|
||||
|
||||
Package: libmariadbclient-dev
|
||||
Architecture: any
|
||||
Section: libdevel
|
||||
Depends: libmariadbclient18 (>= ${source:Version}), zlib1g-dev, , ${shlibs:Depends}, ${misc:Depends}
|
||||
Replaces: libmariadbclient16-dev, libmysqlclient16-dev
|
||||
Conflicts: libmysqlclient-dev, libmariadbclient16-dev, libmysqlclient14-dev, libmysqlclient12-dev, libmysqlclient10-dev, libmysqlclient15-dev, libmysqlclient16-dev
|
||||
Provides: libmysqlclient-dev
|
||||
Description: MariaDB database development files
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes development libraries and header files.
|
||||
|
||||
Package: mysql-common
|
||||
Section: database
|
||||
Architecture: all
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: MariaDB database common files (e.g. /etc/mysql/my.cnf)
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes files needed by all versions of the client library
|
||||
(e.g. /etc/mysql/my.cnf).
|
||||
|
||||
Package: mariadb-common
|
||||
Section: database
|
||||
Architecture: all
|
||||
Depends: mysql-common, ${shlibs:Depends}, ${misc:Depends}
|
||||
Description: MariaDB database common files (e.g. /etc/mysql/conf.d/mariadb.cnf)
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes files needed by all versions of the client library
|
||||
(e.g. /etc/mysql/conf.d/mariadb.cnf).
|
||||
|
||||
Package: mariadb-client-core-5.5
|
||||
Architecture: any
|
||||
Depends: mariadb-common, libmariadbclient18 (>= ${source:Version}), ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: mysql-client-core, mysql-client-core-5.1, mysql-client-core-5.5
|
||||
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0,
|
||||
mysql-client-5.1 (<< ${source:Version}), mysql-client-5.5 (<< ${source:Version}),
|
||||
mysql-client-core-5.1, mysql-client-core-5.5,
|
||||
mariadb-client-5.1, mariadb-client-core-5.1,
|
||||
mariadb-client-5.2, mariadb-client-core-5.2,
|
||||
mariadb-client-5.3, mariadb-client-core-5.3
|
||||
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0,
|
||||
mysql-client-5.1, mysql-client-5.5,
|
||||
mysql-client-core-5.1, mysql-client-core-5.5,
|
||||
mariadb-client-5.1, mariadb-client-core-5.1,
|
||||
mariadb-client-5.2, mariadb-client-core-5.2,
|
||||
mariadb-client-5.3, mariadb-client-core-5.3
|
||||
Description: MariaDB database core client binaries
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the core client files, as used by Akonadi.
|
||||
|
||||
Package: mariadb-client-5.5
|
||||
Architecture: any
|
||||
Depends: debianutils (>=1.6), libdbi-perl, libdbd-mysql-perl (>= 1.2202), mariadb-common, libmariadbclient18 (>= ${source:Version}), mariadb-client-core-5.5 (>= ${source:Version}), ${perl:Depends}, ${shlibs:Depends}, ${misc:Depends}
|
||||
Provides: virtual-mysql-client, mysql-client,
|
||||
mysql-client-4.1, mysql-client-5.1, mysql-client-5.5
|
||||
Conflicts: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
|
||||
mariadb-client (<< ${source:Version}),
|
||||
mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3, mysql-client-5.5
|
||||
Replaces: mysql-client (<< 5.0.51), mysql-client-5.0, mysql-client-5.1,
|
||||
mysql-client-5.5,
|
||||
mariadb-client (<< ${source:Version}),
|
||||
mariadb-client-5.1, mariadb-client-5.2, mariadb-client-5.3
|
||||
Description: MariaDB database client binaries
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the client binaries and the additional tools
|
||||
innotop and mysqlreport.
|
||||
|
||||
Package: mariadb-server-core-5.5
|
||||
Architecture: any
|
||||
Depends: ${shlibs:Depends}, ${misc:Depends}, libmariadbclient18 (>= ${binary:Version})
|
||||
Provides: mysql-server-core, mysql-server-core-5.1, mysql-server-core-5.5
|
||||
Conflicts: mysql-server-5.0,
|
||||
mysql-server-core-5.0, mysql-server-core-5.1, mysql-server-core-5.5,
|
||||
mariadb-server-core-5.1, mariadb-server-core-5.2, mariadb-server-core-5.5
|
||||
Replaces: mysql-server-5.0,
|
||||
mysql-server-core-5.0, mysql-server-core-5.1, mysql-server-core-5.5,
|
||||
mariadb-server-core-5.1, mariadb-server-core-5.2, mariadb-server-core-5.5
|
||||
Description: MariaDB database core server files
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the core server files, as used by Akonadi.
|
||||
|
||||
Package: mariadb-test-5.5
|
||||
Section: database
|
||||
Architecture: any
|
||||
Depends: mariadb-server-5.5 (= ${source:Version}), mariadb-client-5.5 (= ${source:Version})
|
||||
Suggests: patch
|
||||
Conflicts: mariadb-test (<< ${source:Version}),
|
||||
mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3,
|
||||
mariadb-server-5.5 (<< 5.5.33), mariadb-galera-server-5.5 (<< 5.5.33)
|
||||
Replaces: mariadb-test (<< ${source:Version}),
|
||||
mariadb-test-5.1, mariadb-test-5.2, mariadb-test-5.3
|
||||
Description: MariaDB database regression test suite
|
||||
MariaDB is a fast, stable and true multi-user, multi-threaded SQL database
|
||||
server. SQL (Structured Query Language) is the most popular database query
|
||||
language in the world. The main goals of MariaDB are speed, robustness and
|
||||
ease of use.
|
||||
.
|
||||
This package includes the regression test suite.
|
||||
|
||||
Package: mariadb-galera-server-5.5
|
||||
Architecture: any
|
||||
Suggests: tinyca, mailx, mariadb-test
|
||||
|
@@ -10,7 +10,7 @@
|
||||
@DPATCH@
|
||||
--- old/scripts/mysql_system_tables_data.sql 2008-12-04 22:59:44.000000000 +0100
|
||||
+++ new/scripts/mysql_system_tables_data.sql 2008-12-04 23:00:07.000000000 +0100
|
||||
@@ -26,8 +26,6 @@
|
||||
@@ -30,8 +30,6 @@ SELECT LOWER( REPLACE((SELECT REPLACE(@@
|
||||
-- Fill "db" table with default grants for anyone to
|
||||
-- access database 'test' and 'test_%' if "db" table didn't exist
|
||||
CREATE TEMPORARY TABLE tmp_db LIKE db;
|
||||
@@ -19,12 +19,12 @@
|
||||
INSERT INTO db SELECT * FROM tmp_db WHERE @had_db_table=0;
|
||||
DROP TABLE tmp_db;
|
||||
|
||||
@@ -40,8 +38,6 @@
|
||||
REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','' FROM dual WHERE LOWER( @current_hostname) != 'localhost';
|
||||
@@ -43,8 +41,6 @@ INSERT INTO tmp_user VALUES ('localhost'
|
||||
REPLACE INTO tmp_user SELECT @current_hostname,'root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','' FROM dual WHERE @current_hostname != 'localhost';
|
||||
REPLACE INTO tmp_user VALUES ('127.0.0.1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
|
||||
REPLACE INTO tmp_user VALUES ('::1','root','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','','','','',0,0,0,0,'','');
|
||||
-INSERT INTO tmp_user (host,user) VALUES ('localhost','');
|
||||
-INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE LOWER(@current_hostname ) != 'localhost';
|
||||
-INSERT INTO tmp_user (host,user) SELECT @current_hostname,'' FROM dual WHERE @current_hostname != 'localhost';
|
||||
INSERT INTO user SELECT * FROM tmp_user WHERE @had_user_table=0;
|
||||
DROP TABLE tmp_user;
|
||||
|
||||
|
@@ -9,7 +9,7 @@
|
||||
|
||||
--- a/scripts/mysqld_safe.sh 2013-01-11 16:02:41 +0000
|
||||
+++ b/scripts/mysqld_safe.sh 2013-01-11 16:03:14 +0000
|
||||
@@ -30,7 +30,6 @@
|
||||
@@ -32,7 +32,6 @@ err_log=
|
||||
syslog_tag_mysqld=mysqld
|
||||
syslog_tag_mysqld_safe=mysqld_safe
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
# MySQL-specific environment variable. First off, it's not really a umask,
|
||||
# it's the desired mode. Second, it follows umask(2), not umask(3) in that
|
||||
@@ -156,7 +155,7 @@
|
||||
@@ -163,7 +162,7 @@ eval_log_error () {
|
||||
# sed buffers output (only GNU sed supports a -u (unbuffered) option)
|
||||
# which means that messages may not get sent to syslog until the
|
||||
# mysqld process quits.
|
||||
@@ -26,7 +26,7 @@
|
||||
;;
|
||||
*)
|
||||
echo "Internal program error (non-fatal):" \
|
||||
@@ -758,6 +757,13 @@
|
||||
@@ -805,6 +804,13 @@ then
|
||||
fi
|
||||
|
||||
#
|
||||
|
@@ -9,12 +9,12 @@
|
||||
|
||||
--- mysql-dfsg-5.1-5.1.23rc.orig/scripts/mysql_install_db.sh 2008-01-29 22:41:20.000000000 +0100
|
||||
+++ mysql-dfsg-5.1-5.1.23rc/scripts/mysql_install_db.sh 2008-02-28 10:08:11.000000000 +0100
|
||||
@@ -306,7 +306,7 @@
|
||||
@@ -372,7 +372,7 @@ then
|
||||
fi
|
||||
|
||||
# Create database directories
|
||||
-for dir in "$ldata" "$ldata/mysql" "$ldata/test"
|
||||
+for dir in "$ldata" "$ldata/mysql"
|
||||
do
|
||||
if test ! -d $dir
|
||||
if test ! -d "$dir"
|
||||
then
|
||||
|
@@ -8,7 +8,7 @@
|
||||
diff -Nur mysql-dfsg-5.1-5.1.31.orig/scripts/mysql_config.sh mysql-dfsg-5.1-5.1.31/scripts/mysql_config.sh
|
||||
--- mysql-dfsg-5.1-5.1.31.orig/scripts/mysql_config.sh 2009-01-19 17:30:55.000000000 +0100
|
||||
+++ mysql-dfsg-5.1-5.1.31/scripts/mysql_config.sh 2009-02-08 17:17:48.000000000 +0100
|
||||
@@ -110,10 +110,10 @@
|
||||
@@ -106,10 +106,10 @@ fi
|
||||
|
||||
# Create options
|
||||
# We intentionally add a space to the beginning and end of lib strings, simplifies replace later
|
||||
|
2
debian/patches/50_mysql-test__db_test.dpatch
vendored
2
debian/patches/50_mysql-test__db_test.dpatch
vendored
@@ -10,7 +10,7 @@
|
||||
|
||||
--- old/mysql-test/mysql-test-run.pl 2009-06-16 14:24:09.000000000 +0200
|
||||
+++ new/mysql-test/mysql-test-run.pl 2009-07-04 00:03:34.000000000 +0200
|
||||
@@ -2717,6 +2717,11 @@
|
||||
@@ -3578,6 +3578,11 @@ sub mysql_install_db {
|
||||
mtr_appendfile_to_file("$sql_dir/mysql_system_tables_data.sql",
|
||||
$bootstrap_sql_file);
|
||||
|
||||
|
@@ -1109,7 +1109,7 @@ epoch_ctl(const size_t *mib, size_t miblen, void *oldp, size_t *oldlenp,
|
||||
void *newp, size_t newlen)
|
||||
{
|
||||
int ret;
|
||||
uint64_t newval;
|
||||
uint64_t newval __attribute__((unused));
|
||||
|
||||
malloc_mutex_lock(&ctl_mtx);
|
||||
WRITE(newval, uint64_t);
|
||||
|
@@ -37,4 +37,9 @@ ENDIF()
|
||||
ADD_CONVENIENCE_LIBRARY(yassl ${YASSL_SOURCES})
|
||||
RESTRICT_SYMBOL_EXPORTS(yassl)
|
||||
|
||||
INSTALL_DEBUG_SYMBOLS(yassl)
|
||||
IF(MSVC)
|
||||
INSTALL_DEBUG_TARGET(yassl DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||
ENDIF()
|
||||
|
||||
|
||||
|
@@ -36,3 +36,8 @@ ENDIF()
|
||||
ADD_CONVENIENCE_LIBRARY(taocrypt ${TAOCRYPT_SOURCES})
|
||||
RESTRICT_SYMBOL_EXPORTS(taocrypt)
|
||||
|
||||
INSTALL_DEBUG_SYMBOLS(taocrypt)
|
||||
IF(MSVC)
|
||||
INSTALL_DEBUG_TARGET(taocrypt DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||
ENDIF()
|
||||
|
||||
|
@@ -78,3 +78,4 @@
|
||||
{ "HA_ERR_ROW_NOT_VISIBLE", HA_ERR_ROW_NOT_VISIBLE, "" },
|
||||
{ "HA_ERR_ABORTED_BY_USER", HA_ERR_ABORTED_BY_USER, "" },
|
||||
{ "HA_ERR_DISK_FULL", HA_ERR_DISK_FULL, "" },
|
||||
{ "HA_ERR_INCOMPATIBLE_DEFINITION", HA_ERR_INCOMPATIBLE_DEFINITION, "" },
|
||||
|
@@ -466,7 +466,8 @@ enum ha_base_keytype {
|
||||
#define HA_ERR_ROW_NOT_VISIBLE 182
|
||||
#define HA_ERR_ABORTED_BY_USER 183
|
||||
#define HA_ERR_DISK_FULL 184
|
||||
#define HA_ERR_LAST 184 /* Copy of last error nr */
|
||||
#define HA_ERR_INCOMPATIBLE_DEFINITION 185
|
||||
#define HA_ERR_LAST 185 /* Copy of last error nr */
|
||||
|
||||
/* Number of different errors */
|
||||
#define HA_ERR_ERRORS (HA_ERR_LAST - HA_ERR_FIRST + 1)
|
||||
|
73
include/my_check_opt.h
Normal file
73
include/my_check_opt.h
Normal file
@@ -0,0 +1,73 @@
|
||||
/* Copyright (c) 2000, 2013, 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 Street, Fifth Floor, Boston, MA 02110-1301, USA */
|
||||
|
||||
#ifndef _my_check_opt_h
|
||||
#define _my_check_opt_h
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
All given definitions needed for MyISAM storage engine:
|
||||
myisamchk.c or/and ha_myisam.cc or/and micheck.c
|
||||
Some definitions are needed by the MySQL parser.
|
||||
*/
|
||||
|
||||
#define T_AUTO_INC (1UL << 0)
|
||||
#define T_AUTO_REPAIR (1UL << 1)
|
||||
#define T_BACKUP_DATA (1UL << 2)
|
||||
#define T_CALC_CHECKSUM (1UL << 3)
|
||||
#define T_CHECK (1UL << 4)
|
||||
#define T_CHECK_ONLY_CHANGED (1UL << 5)
|
||||
#define T_CREATE_MISSING_KEYS (1UL << 6)
|
||||
#define T_DESCRIPT (1UL << 7)
|
||||
#define T_DONT_CHECK_CHECKSUM (1UL << 8)
|
||||
#define T_EXTEND (1UL << 9)
|
||||
#define T_FAST (1UL << 10)
|
||||
#define T_FORCE_CREATE (1UL << 11)
|
||||
#define T_FORCE_UNIQUENESS (1UL << 12)
|
||||
#define T_INFO (1UL << 13)
|
||||
/** CHECK TABLE...MEDIUM (the default) */
|
||||
#define T_MEDIUM (1UL << 14)
|
||||
/** CHECK TABLE...QUICK */
|
||||
#define T_QUICK (1UL << 15)
|
||||
#define T_READONLY (1UL << 16)
|
||||
#define T_REP (1UL << 17)
|
||||
#define T_REP_BY_SORT (1UL << 18)
|
||||
#define T_REP_PARALLEL (1UL << 19)
|
||||
#define T_RETRY_WITHOUT_QUICK (1UL << 20)
|
||||
#define T_SAFE_REPAIR (1UL << 21)
|
||||
#define T_SILENT (1UL << 22)
|
||||
#define T_SORT_INDEX (1UL << 23)
|
||||
#define T_SORT_RECORDS (1UL << 24)
|
||||
#define T_STATISTICS (1UL << 25)
|
||||
#define T_UNPACK (1UL << 26)
|
||||
#define T_UPDATE_STATE (1UL << 27)
|
||||
#define T_VERBOSE (1UL << 28)
|
||||
#define T_VERY_SILENT (1UL << 29)
|
||||
#define T_WAIT_FOREVER (1UL << 30)
|
||||
#define T_WRITE_LOOP (1UL << 31)
|
||||
#define T_ZEROFILL (1ULL << 32)
|
||||
#define T_ZEROFILL_KEEP_LSN (1ULL << 33)
|
||||
/** If repair should not bump create_rename_lsn */
|
||||
#define T_NO_CREATE_RENAME_LSN (1ULL << 33)
|
||||
|
||||
#define T_REP_ANY (T_REP | T_REP_BY_SORT | T_REP_PARALLEL)
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
@@ -28,7 +28,7 @@ extern "C" {
|
||||
#include "my_compare.h"
|
||||
#include <myisamchk.h>
|
||||
#include <mysql/plugin.h>
|
||||
|
||||
#include <my_check_opt.h>
|
||||
/*
|
||||
Limit max keys according to HA_MAX_POSSIBLE_KEY; See myisamchk.h for details
|
||||
*/
|
||||
@@ -311,7 +311,6 @@ typedef struct st_mi_bit_buff
|
||||
uint error;
|
||||
} MI_BIT_BUFF;
|
||||
|
||||
|
||||
typedef struct st_sort_info
|
||||
{
|
||||
/* sync things */
|
||||
|
@@ -27,45 +27,6 @@
|
||||
#ifndef _myisamchk_h
|
||||
#define _myisamchk_h
|
||||
|
||||
#define T_AUTO_INC 1
|
||||
#define T_AUTO_REPAIR 2 /* QQ to be removed */
|
||||
#define T_BACKUP_DATA 4
|
||||
#define T_CALC_CHECKSUM 8
|
||||
#define T_CHECK 16
|
||||
#define T_CHECK_ONLY_CHANGED 32
|
||||
#define T_CREATE_MISSING_KEYS 64
|
||||
#define T_DESCRIPT 128
|
||||
#define T_DONT_CHECK_CHECKSUM 256
|
||||
#define T_EXTEND 512
|
||||
#define T_FAST (1L << 10)
|
||||
#define T_FORCE_CREATE (1L << 11)
|
||||
#define T_FORCE_UNIQUENESS (1L << 12)
|
||||
#define T_INFO (1L << 13)
|
||||
#define T_MEDIUM (1L << 14)
|
||||
#define T_QUICK (1L << 15)
|
||||
#define T_READONLY (1L << 16)
|
||||
#define T_REP (1L << 17)
|
||||
#define T_REP_BY_SORT (1L << 18)
|
||||
#define T_REP_PARALLEL (1L << 19)
|
||||
#define T_RETRY_WITHOUT_QUICK (1L << 20)
|
||||
#define T_SAFE_REPAIR (1L << 21)
|
||||
#define T_SILENT (1L << 22)
|
||||
#define T_SORT_INDEX (1L << 23)
|
||||
#define T_SORT_RECORDS (1L << 24)
|
||||
#define T_STATISTICS (1L << 25)
|
||||
#define T_UNPACK (1L << 26)
|
||||
#define T_UPDATE_STATE (1L << 27)
|
||||
#define T_VERBOSE (1L << 28)
|
||||
#define T_VERY_SILENT (1L << 29)
|
||||
#define T_WAIT_FOREVER (1L << 30)
|
||||
#define T_WRITE_LOOP ((ulong) 1L << 31)
|
||||
#define T_ZEROFILL ((ulonglong) 1L << 32)
|
||||
#define T_ZEROFILL_KEEP_LSN ((ulonglong) 1L << 33)
|
||||
/** If repair should not bump create_rename_lsn */
|
||||
#define T_NO_CREATE_RENAME_LSN ((ulonglong) 1L << 33)
|
||||
|
||||
#define T_REP_ANY (T_REP | T_REP_BY_SORT | T_REP_PARALLEL)
|
||||
|
||||
/*
|
||||
Flags used by xxxxchk.c or/and ha_xxxx.cc that are NOT passed
|
||||
to xxxcheck.c follows:
|
||||
|
@@ -80,7 +80,7 @@ extern struct logger_service_st {
|
||||
#define logger_rotate(log) (logger_service->rotate(log))
|
||||
#define logger_vprintf(log, fmt, argptr) (logger_service->\
|
||||
vprintf(log, fmt, argptr))
|
||||
#define logger_printf logger_service->printf
|
||||
#define logger_printf (*logger_service->printf)
|
||||
#define logger_write(log, buffer, size) \
|
||||
(logger_service->write(log, buffer, size))
|
||||
#else
|
||||
|
@@ -332,8 +332,10 @@ SET(LIBS clientlib dbug strings vio mysys ${ZLIB_LIBRARY} ${SSL_LIBRARIES} ${LIB
|
||||
MERGE_LIBRARIES(mysqlclient STATIC ${LIBS} COMPONENT Development)
|
||||
|
||||
# Visual Studio users need debug static library for debug projects
|
||||
INSTALL_DEBUG_SYMBOLS(clientlib)
|
||||
IF(MSVC)
|
||||
INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||
INSTALL_DEBUG_TARGET(clientlib DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||
ENDIF()
|
||||
|
||||
IF(UNIX)
|
||||
|
@@ -204,11 +204,11 @@ void STDCALL mysql_server_end()
|
||||
|
||||
mysql_client_plugin_deinit();
|
||||
|
||||
finish_client_errs();
|
||||
vio_end();
|
||||
#ifdef EMBEDDED_LIBRARY
|
||||
end_embedded_server();
|
||||
#endif
|
||||
finish_client_errs();
|
||||
vio_end();
|
||||
|
||||
/* If library called my_init(), free memory allocated by it */
|
||||
if (!org_my_init_done)
|
||||
|
@@ -136,6 +136,8 @@ ENDFOREACH()
|
||||
MERGE_LIBRARIES(mysqlserver STATIC ${EMBEDDED_LIBS}
|
||||
OUTPUT_NAME ${MYSQLSERVER_OUTPUT_NAME} COMPONENT Development)
|
||||
|
||||
INSTALL(FILES embedded_priv.h DESTINATION ${INSTALL_INCLUDEDIR}/private COMPONENT Development)
|
||||
|
||||
# Visual Studio users need debug static library
|
||||
IF(MSVC)
|
||||
INSTALL_DEBUG_TARGET(mysqlserver DESTINATION ${INSTALL_LIBDIR}/debug)
|
||||
|
@@ -13,29 +13,7 @@
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
IF(INSTALL_MYSQLTESTDIR)
|
||||
INSTALL(
|
||||
DIRECTORY .
|
||||
DESTINATION ${INSTALL_MYSQLTESTDIR}
|
||||
USE_SOURCE_PERMISSIONS
|
||||
COMPONENT Test
|
||||
PATTERN "var/" EXCLUDE
|
||||
PATTERN "lib/My/SafeProcess" EXCLUDE
|
||||
PATTERN "lib/t*" EXCLUDE
|
||||
PATTERN "CPack" EXCLUDE
|
||||
PATTERN "CMake*" EXCLUDE
|
||||
PATTERN "mtr.out*" EXCLUDE
|
||||
PATTERN ".cvsignore" EXCLUDE
|
||||
PATTERN "*.am" EXCLUDE
|
||||
PATTERN "*.in" EXCLUDE
|
||||
PATTERN "*.vcxproj" EXCLUDE
|
||||
PATTERN "*.vcxproj.filters" EXCLUDE
|
||||
PATTERN "*.vcxproj.user" EXCLUDE
|
||||
PATTERN "CTest" EXCLUDE
|
||||
)
|
||||
ENDIF()
|
||||
|
||||
|
||||
INSTALL_MYSQL_TEST("." ".")
|
||||
|
||||
IF(NOT ${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||
# Enable running mtr from build directory
|
||||
@@ -96,7 +74,7 @@ ENDIF()
|
||||
|
||||
IF(WITH_EMBEDDED_SERVER)
|
||||
SET(TEST_EMBEDDED ${MTR_FORCE} --comment=embedded --timer --embedded-server
|
||||
--skip-rpl --skip-ndbcluster $(EXP))
|
||||
--skip-rpl --skip-ndbcluster ${EXP})
|
||||
ELSE()
|
||||
SET(TEST_EMBEDDED echo "Can not test embedded, not compiled in")
|
||||
ENDIF()
|
||||
|
@@ -15,6 +15,7 @@ main.wait_timeout @solaris # Bug#11758972 2010-04-26 alik wait_tim
|
||||
|
||||
rpl.rpl_innodb_bug28430 # Bug#11754425
|
||||
rpl.rpl_row_sp011 @solaris # Bug#11753919 2011-07-25 sven Several test cases fail on Solaris with error Thread stack overrun
|
||||
rpl.rpl_spec_variables @solaris # Bug #17337114 2013-08-20 Luis Soares failing on pb2 with timeout for 'CHECK WARNINGS'
|
||||
|
||||
sys_vars.max_sp_recursion_depth_func @solaris # Bug#11753919 2010-01-20 alik Several test cases fail on Solaris with error Thread stack overrun
|
||||
sys_vars.wait_timeout_func # Bug#11750645 2010-04-26 alik wait_timeout_func fails
|
||||
|
@@ -150,10 +150,9 @@ if (`SELECT HEX(@commands) = HEX('configure')`)
|
||||
}
|
||||
|
||||
#
|
||||
# Drops tables and synchronizes master and slave. Note that temporary
|
||||
# tables are not explitcily dropped as they will be dropped while
|
||||
# closing the connection.
|
||||
# Drops tables and synchronizes master and slave.
|
||||
#
|
||||
|
||||
if (`SELECT HEX(@commands) = HEX('clean')`)
|
||||
{
|
||||
connection master;
|
||||
@@ -162,10 +161,15 @@ if (`SELECT HEX(@commands) = HEX('clean')`)
|
||||
|
||||
DROP TABLE IF EXISTS nt_xx_1;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS tt_tmp_xx_1;
|
||||
DROP TEMPORARY TABLE IF EXISTS nt_tmp_xx_1;
|
||||
|
||||
--let $n= $tot_table
|
||||
while ($n)
|
||||
{
|
||||
--eval DROP TABLE IF EXISTS nt_$n
|
||||
--eval DROP TEMPORARY TABLE IF EXISTS tt_tmp_$n
|
||||
--eval DROP TEMPORARY TABLE IF EXISTS nt_tmp_$n
|
||||
--dec $n
|
||||
}
|
||||
|
||||
|
@@ -113,7 +113,7 @@ FLUSH LOGS;
|
||||
--echo -------- switch to master --------
|
||||
connection master;
|
||||
FLUSH LOGS;
|
||||
|
||||
DROP TEMPORARY TABLE IF EXISTS mysqltest1.tmp2;
|
||||
DROP DATABASE mysqltest1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
@@ -41,6 +41,9 @@ reset slave;
|
||||
source include/start_slave.inc;
|
||||
sync_with_master;
|
||||
show status like 'slave_open_temp_tables';
|
||||
connection master;
|
||||
drop temporary table if exists t1;
|
||||
sync_slave_with_master;
|
||||
|
||||
#
|
||||
#Bug#34654 RESET SLAVE does not clear LAST_IO_Err*
|
||||
|
@@ -13,3 +13,14 @@ delete from t1;
|
||||
insert into t1 values ('a'), ('a '), ('a\t');
|
||||
select collation(a),hex(a) from t1 order by a;
|
||||
drop table t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
--echo #
|
||||
SELECT @@collation_connection;
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
DROP TABLE t1;
|
||||
|
@@ -78,5 +78,10 @@ BEGIN
|
||||
-- verify that no plugin changed its disabled/enabled state
|
||||
SELECT * FROM INFORMATION_SCHEMA.PLUGINS;
|
||||
|
||||
select * from information_schema.session_variables
|
||||
where variable_name = 'debug_sync';
|
||||
|
||||
show status like 'slave_open_temp_tables';
|
||||
|
||||
END||
|
||||
|
||||
|
66
mysql-test/include/search_pattern_in_file.inc
Normal file
66
mysql-test/include/search_pattern_in_file.inc
Normal file
@@ -0,0 +1,66 @@
|
||||
# Purpose:
|
||||
# Simple search with Perl for a pattern in some file.
|
||||
#
|
||||
# The advantages compared to thinkable auxiliary constructs using the
|
||||
# mysqltest language and SQL are:
|
||||
# 1. We do not need a running MySQL server.
|
||||
# 2. SQL causes "noise" during debugging and increases the size of logs.
|
||||
# Perl code does not disturb at all.
|
||||
#
|
||||
# The environment variables SEARCH_FILE and SEARCH_PATTERN must be set
|
||||
# before sourcing this routine.
|
||||
#
|
||||
# In case of
|
||||
# - SEARCH_FILE and/or SEARCH_PATTERN is not set
|
||||
# - SEARCH_FILE cannot be opened
|
||||
# - SEARCH_FILE does not contain SEARCH_PATTERN
|
||||
# the test will abort immediate.
|
||||
# MTR will report something like
|
||||
# ....
|
||||
# worker[1] Using MTR_BUILD_THREAD 300, with reserved ports 13000..13009
|
||||
# main.1st [ pass ] 3
|
||||
# innodb.innodb_page_size [ fail ]
|
||||
# Test ended at 2011-11-11 18:15:58
|
||||
#
|
||||
# CURRENT_TEST: innodb.innodb_page_size
|
||||
# # ERROR: The file '<name>' does not contain the expected pattern <pattern>
|
||||
# mysqltest: In included file "./include/search_pattern_in_file.inc":
|
||||
# included from ./include/search_pattern_in_file.inc at line 36:
|
||||
# At line 25: command "perl" failed with error 255. my_errno=175
|
||||
#
|
||||
# The result from queries just before the failure was:
|
||||
# ...
|
||||
# - saving '<some path>' to '<some path>'
|
||||
# main.1st [ pass ] 2
|
||||
#
|
||||
# Typical use case (check invalid server startup options):
|
||||
# let $error_log= $MYSQLTEST_VARDIR/log/my_restart.err;
|
||||
# --error 0,1
|
||||
# --remove_file $error_log
|
||||
# let SEARCH_FILE= $error_log;
|
||||
# # Stop the server
|
||||
# let $restart_file= $MYSQLTEST_VARDIR/tmp/mysqld.1.expect;
|
||||
# --exec echo "wait" > $restart_file
|
||||
# --shutdown_server 10
|
||||
# --source include/wait_until_disconnected.inc
|
||||
#
|
||||
# --error 1
|
||||
# --exec $MYSQLD_CMD <whatever wrong setting> > $error_log 2>&1
|
||||
# # The server restart aborts
|
||||
# let SEARCH_PATTERN= \[ERROR\] Aborting;
|
||||
# --source include/search_pattern_in_file.inc
|
||||
#
|
||||
# Created: 2011-11-11 mleich
|
||||
#
|
||||
|
||||
perl;
|
||||
use strict;
|
||||
my $search_file= $ENV{'SEARCH_FILE'} or die "SEARCH_FILE not set";
|
||||
my $search_pattern= $ENV{'SEARCH_PATTERN'} or die "SEARCH_PATTERN not set";
|
||||
open(FILE, "$search_file") or die("Unable to open '$search_file': $!\n");
|
||||
read(FILE, my $file_content, 50000, 0);
|
||||
close(FILE);
|
||||
if ( not $file_content =~ m{$search_pattern} ) {
|
||||
die("# ERROR: The file '$search_file' does not contain the expected pattern $search_pattern\n->$file_content<-\n");
|
||||
}
|
||||
EOF
|
@@ -3,6 +3,7 @@
|
||||
|
||||
package My::Suite;
|
||||
|
||||
sub is_default { 0 }
|
||||
sub config_files { () }
|
||||
sub servers { () }
|
||||
sub skip_combinations { () }
|
||||
|
@@ -23,7 +23,7 @@ package mtr_cases;
|
||||
use strict;
|
||||
|
||||
use base qw(Exporter);
|
||||
our @EXPORT= qw(collect_option collect_test_cases);
|
||||
our @EXPORT= qw(collect_option collect_test_cases collect_default_suites);
|
||||
|
||||
use Carp;
|
||||
|
||||
@@ -62,6 +62,21 @@ use My::Suite;
|
||||
|
||||
require "mtr_misc.pl";
|
||||
|
||||
# locate plugin suites, depending on whether it's a build tree or installed
|
||||
my @plugin_suitedirs;
|
||||
my $plugin_suitedir_regex;
|
||||
my $overlay_regex;
|
||||
|
||||
if (-d '../sql') {
|
||||
@plugin_suitedirs= ('storage/*/mysql-test', 'plugin/*/mysql-test');
|
||||
$overlay_regex= '\b(?:storage|plugin)/(\w+)/mysql-test\b';
|
||||
} else {
|
||||
@plugin_suitedirs= ('mysql-test/plugin/*');
|
||||
$overlay_regex= '\bmysql-test/plugin/(\w+)\b';
|
||||
}
|
||||
$plugin_suitedir_regex= $overlay_regex;
|
||||
$plugin_suitedir_regex=~ s/\Q(\w+)\E/\\w+/;
|
||||
|
||||
# Precompiled regex's for tests to do or skip
|
||||
my $do_test_reg;
|
||||
my $skip_test_reg;
|
||||
@@ -263,12 +278,11 @@ sub load_suite_object {
|
||||
|
||||
|
||||
# returns a pair of (suite, suitedir)
|
||||
sub load_suite_for_file($) {
|
||||
sub suite_for_file($) {
|
||||
my ($file) = @_;
|
||||
return load_suite_object($2, $1)
|
||||
if $file =~ m@^(.*/(?:storage|plugin)/\w+/mysql-test/(\w+))/@;
|
||||
return load_suite_object($2, $1) if $file =~ m@^(.*/mysql-test/suite/(\w+))/@;
|
||||
return load_suite_object('main', $1) if $file =~ m@^(.*/mysql-test)/@;
|
||||
return ($2, $1) if $file =~ m@^(.*/$plugin_suitedir_regex/(\w+))/@o;
|
||||
return ($2, $1) if $file =~ m@^(.*/mysql-test/suite/(\w+))/@;
|
||||
return ('main', $1) if $file =~ m@^(.*/mysql-test)/@;
|
||||
mtr_error("Cannot determine suite for $file");
|
||||
}
|
||||
|
||||
@@ -315,11 +329,33 @@ sub parse_disabled {
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# load suite.pm files from plugin suites
|
||||
# collect the list of default plugin suites.
|
||||
# XXX currently it does not support nested suites
|
||||
#
|
||||
sub collect_default_suites(@)
|
||||
{
|
||||
my @dirs = my_find_dir(dirname($::glob_mysql_test_dir),
|
||||
[ @plugin_suitedirs ], '*');
|
||||
for my $d (@dirs) {
|
||||
next unless -f "$d/suite.pm";
|
||||
my $sname= basename($d);
|
||||
# ignore overlays here, otherwise we'd need accurate
|
||||
# duplicate detection with overlay support for the default suite list
|
||||
next if $sname eq 'main' or -d "$::glob_mysql_test_dir/suite/$sname";
|
||||
my $s = load_suite_object($sname, $d);
|
||||
push @_, $sname if $s->is_default();
|
||||
}
|
||||
return @_;
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# processes one user-specified suite name.
|
||||
# it could contain wildcards, e.g engines/*
|
||||
#
|
||||
sub collect_suite_name
|
||||
sub collect_suite_name($$)
|
||||
{
|
||||
my $suitename= shift; # Test suite name
|
||||
my $opt_cases= shift;
|
||||
@@ -339,25 +375,22 @@ sub collect_suite_name
|
||||
else
|
||||
{
|
||||
my @dirs = my_find_dir(dirname($::glob_mysql_test_dir),
|
||||
["mysql-test/suite",
|
||||
"storage/*/mysql-test",
|
||||
"plugin/*/mysql-test"],
|
||||
[$suitename]);
|
||||
["mysql-test/suite", @plugin_suitedirs ],
|
||||
$suitename);
|
||||
#
|
||||
# if $suitename contained wildcards, we'll have many suites and
|
||||
# their overlays here. Let's group them appropriately.
|
||||
#
|
||||
for (@dirs) {
|
||||
m@^.*/mysql-test/(?:suite/)?(.*)$@ or confess $_;
|
||||
m@^.*/(?:mysql-test/suite|$plugin_suitedir_regex)/(.*)$@o or confess $_;
|
||||
push @{$suites{$1}}, $_;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$suites{$suitename} = [ $::glob_mysql_test_dir,
|
||||
my_find_dir(dirname($::glob_mysql_test_dir),
|
||||
["storage/*/mysql-test",
|
||||
"plugin/*/mysql-test"],
|
||||
['main'], NOT_REQUIRED) ];
|
||||
[ @plugin_suitedirs ],
|
||||
'main', NOT_REQUIRED) ];
|
||||
}
|
||||
|
||||
my @cases;
|
||||
@@ -404,7 +437,7 @@ sub collect_one_suite {
|
||||
local %file_combinations = ();
|
||||
local %file_in_overlay = ();
|
||||
|
||||
confess $_ unless m@/(?:storage|plugin)/(\w+)/mysql-test/[\w/]*\w$@;
|
||||
confess $_ unless m@/$overlay_regex/@o;
|
||||
next unless defined $over and ($over eq '' or $over eq $1);
|
||||
push @cases,
|
||||
# don't add cases that take *all* data from the parent suite
|
||||
@@ -1050,7 +1083,7 @@ sub get_tags_from_file($$) {
|
||||
# for combinations we need to make sure that its suite object is loaded,
|
||||
# even if this file does not belong to a current suite!
|
||||
my $comb_file = "$suffix.combinations";
|
||||
$suite = load_suite_for_file($comb_file) if $prefix[0] eq '';
|
||||
$suite = load_suite_object(suite_for_file($comb_file)) if $prefix[0] eq '';
|
||||
my @comb;
|
||||
unless ($suite->{skip}) {
|
||||
my $from = "$prefix[0]$comb_file";
|
||||
|
@@ -162,30 +162,30 @@ my $path_config_file; # The generated config file, var/my.cnf
|
||||
# executables will be used by the test suite.
|
||||
our $opt_vs_config = $ENV{'MTR_VS_CONFIG'};
|
||||
|
||||
my $DEFAULT_SUITES= join(',', map { "$_-" } qw(
|
||||
main
|
||||
archive
|
||||
binlog
|
||||
csv
|
||||
federated
|
||||
funcs_1
|
||||
funcs_2
|
||||
handler
|
||||
heap
|
||||
innodb
|
||||
maria
|
||||
optimizer_unfixed_bugs
|
||||
oqgraph
|
||||
parts
|
||||
percona
|
||||
perfschema
|
||||
plugins
|
||||
rpl
|
||||
sphinx
|
||||
sys_vars
|
||||
unit
|
||||
vcol
|
||||
));
|
||||
my @DEFAULT_SUITES= qw(
|
||||
main-
|
||||
archive-
|
||||
binlog-
|
||||
csv-
|
||||
federated-
|
||||
funcs_1-
|
||||
funcs_2-
|
||||
handler-
|
||||
heap-
|
||||
innodb-
|
||||
maria-
|
||||
optimizer_unfixed_bugs-
|
||||
oqgraph-
|
||||
parts-
|
||||
percona-
|
||||
perfschema-
|
||||
plugins-
|
||||
rpl-
|
||||
sphinx-
|
||||
sys_vars-
|
||||
unit-
|
||||
vcol-
|
||||
);
|
||||
my $opt_suites;
|
||||
|
||||
our $opt_verbose= 0; # Verbose output, enable with --verbose
|
||||
@@ -384,11 +384,6 @@ sub main {
|
||||
}
|
||||
|
||||
|
||||
if (!$opt_suites) {
|
||||
$opt_suites= $DEFAULT_SUITES;
|
||||
}
|
||||
mtr_report("Using suites: $opt_suites") unless @opt_cases;
|
||||
|
||||
print "vardir: $opt_vardir\n";
|
||||
initialize_servers();
|
||||
init_timers();
|
||||
@@ -397,6 +392,11 @@ sub main {
|
||||
|
||||
executable_setup();
|
||||
|
||||
if (!$opt_suites) {
|
||||
$opt_suites= join ',', collect_default_suites(@DEFAULT_SUITES);
|
||||
}
|
||||
mtr_report("Using suites: $opt_suites") unless @opt_cases;
|
||||
|
||||
# --debug[-common] implies we run debug server
|
||||
$opt_debug_server= 1 if $opt_debug || $opt_debug_common;
|
||||
|
||||
@@ -2494,7 +2494,8 @@ sub environment_setup {
|
||||
# mysql_tzinfo_to_sql
|
||||
# ----------------------------------------------------
|
||||
my $exe_mysql_tzinfo_to_sql= mtr_exe_exists("$basedir/sql$opt_vs_config/mysql_tzinfo_to_sql",
|
||||
"$path_client_bindir/mysql_tzinfo_to_sql");
|
||||
"$path_client_bindir/mysql_tzinfo_to_sql",
|
||||
"$bindir/sql$opt_vs_config/mysql_tzinfo_to_sql");
|
||||
$ENV{'MYSQL_TZINFO_TO_SQL'}= native_path($exe_mysql_tzinfo_to_sql);
|
||||
|
||||
# Create an environment variable to make it possible
|
||||
@@ -2939,7 +2940,7 @@ sub check_ndbcluster_support {
|
||||
mtr_report(" - enabling ndbcluster");
|
||||
$ndbcluster_enabled= 1;
|
||||
# Add MySQL Cluster test suites
|
||||
$DEFAULT_SUITES.=",ndb,ndb_binlog,rpl_ndb,ndb_rpl,ndb_memcache";
|
||||
push @DEFAULT_SUITES, qw(ndb ndb_binlog rpl_ndb ndb_rpl ndb_memcache);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -6306,6 +6307,8 @@ sub usage ($) {
|
||||
exit;
|
||||
}
|
||||
|
||||
local $"= ','; # for @DEFAULT_SUITES below
|
||||
|
||||
print <<HERE;
|
||||
|
||||
$0 [ OPTIONS ] [ TESTCASE ]
|
||||
@@ -6371,7 +6374,7 @@ Options to control what test suites or cases to run
|
||||
suite[s]=NAME1,..,NAMEN
|
||||
Collect tests in suites from the comma separated
|
||||
list of suite names.
|
||||
The default is: "$DEFAULT_SUITES"
|
||||
The default is: "@DEFAULT_SUITES"
|
||||
skip-rpl Skip the replication test cases.
|
||||
big-test Also run tests marked as "big". Repeat this option
|
||||
twice to run only "big" tests.
|
||||
|
@@ -4,3 +4,15 @@ ALTER TABLE t1 RENAME TO t2, DISABLE KEYS;
|
||||
Warnings:
|
||||
Note 1031 Table storage engine for 't1' doesn't have this option
|
||||
DROP TABLE t2;
|
||||
CREATE TABLE t1 (
|
||||
col4 text NOT NULL,
|
||||
col2 int(11) NOT NULL DEFAULT '0',
|
||||
col3 int(11) DEFAULT NULL,
|
||||
extra int(11) DEFAULT NULL,
|
||||
KEY idx (col4(10))
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||
insert t1 values (repeat('1', 8193),3,1,1);
|
||||
insert t1 values (repeat('3', 8193),3,1,1);
|
||||
ALTER TABLE t1 ADD PRIMARY KEY (col4(10)) , ADD UNIQUE KEY uidx (col3);
|
||||
ERROR 23000: Duplicate entry '1' for key 'uidx'
|
||||
DROP TABLE t1;
|
||||
|
14
mysql-test/r/assign_key_cache-5405.result
Normal file
14
mysql-test/r/assign_key_cache-5405.result
Normal file
@@ -0,0 +1,14 @@
|
||||
create table t1 (f int, key(f)) engine=myisam;
|
||||
set global kc1.key_buffer_size = 65536;
|
||||
set debug_sync='assign_key_cache_op_unlock wait_for op_locked';
|
||||
cache index t1 in kc1;
|
||||
set debug_sync='assign_key_cache_op_lock signal op_locked wait_for assigned';
|
||||
cache index t1 in kc1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 assign_to_keycache status OK
|
||||
set debug_sync='now signal assigned';
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 assign_to_keycache status OK
|
||||
drop table t1;
|
||||
set global kc1.key_buffer_size = 0;
|
||||
set debug_sync='reset';
|
@@ -103,6 +103,23 @@ big5_chinese_ci 6109
|
||||
big5_chinese_ci 61
|
||||
big5_chinese_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
big5_chinese_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
@@ -170,6 +187,23 @@ big5_bin 6109
|
||||
big5_bin 61
|
||||
big5_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
big5_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
|
@@ -9809,6 +9809,23 @@ eucjpms_japanese_ci 6109
|
||||
eucjpms_japanese_ci 61
|
||||
eucjpms_japanese_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
eucjpms_japanese_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 AS
|
||||
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||
@@ -9836,6 +9853,23 @@ eucjpms_bin 6109
|
||||
eucjpms_bin 61
|
||||
eucjpms_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
eucjpms_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 AS
|
||||
SELECT 10 AS a, REPEAT('a',20) AS b, REPEAT('a',8) AS c, REPEAT('a',8) AS d;
|
||||
ALTER TABLE t1 ADD PRIMARY KEY(a), ADD KEY(b);
|
||||
|
@@ -103,6 +103,23 @@ euckr_korean_ci 6109
|
||||
euckr_korean_ci 61
|
||||
euckr_korean_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
euckr_korean_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
@@ -170,6 +187,23 @@ euckr_bin 6109
|
||||
euckr_bin 61
|
||||
euckr_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
euckr_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
|
@@ -103,6 +103,23 @@ gb2312_chinese_ci 6109
|
||||
gb2312_chinese_ci 61
|
||||
gb2312_chinese_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
gb2312_chinese_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
@@ -170,6 +187,23 @@ gb2312_bin 6109
|
||||
gb2312_bin 61
|
||||
gb2312_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
gb2312_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
|
@@ -103,6 +103,23 @@ gbk_chinese_ci 6109
|
||||
gbk_chinese_ci 61
|
||||
gbk_chinese_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
gbk_chinese_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
@@ -170,6 +187,23 @@ gbk_bin 6109
|
||||
gbk_bin 61
|
||||
gbk_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
gbk_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
|
@@ -318,6 +318,23 @@ latin1_swedish_ci 6109
|
||||
latin1_swedish_ci 61
|
||||
latin1_swedish_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
latin1_swedish_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
latin1_swedish_ci
|
||||
@@ -365,6 +382,23 @@ latin1_bin 6109
|
||||
latin1_bin 61
|
||||
latin1_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
latin1_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
latin1_bin
|
||||
|
@@ -326,6 +326,23 @@ latin1_german2_ci 6109
|
||||
latin1_german2_ci 61
|
||||
latin1_german2_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
latin1_german2_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
drop table if exists t1;
|
||||
create table t1 as select repeat(' ', 64) as s1;
|
||||
select collation(s1) from t1;
|
||||
|
@@ -81,6 +81,23 @@ sjis_japanese_ci 6109
|
||||
sjis_japanese_ci 61
|
||||
sjis_japanese_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
sjis_japanese_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
@@ -167,6 +184,23 @@ sjis_bin 6109
|
||||
sjis_bin 61
|
||||
sjis_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
sjis_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
|
@@ -2947,6 +2947,23 @@ tis620_thai_ci 6109
|
||||
tis620_thai_ci 61
|
||||
tis620_thai_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
tis620_thai_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
tis620_thai_ci
|
||||
@@ -2975,6 +2992,23 @@ tis620_bin 6109
|
||||
tis620_bin 61
|
||||
tis620_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
tis620_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
tis620_bin
|
||||
|
@@ -2767,6 +2767,23 @@ utf8_unicode_ci 6109
|
||||
utf8_unicode_ci 61
|
||||
utf8_unicode_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8_unicode_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8_unicode_ci
|
||||
|
@@ -734,6 +734,23 @@ ucs2_general_ci 00610009
|
||||
ucs2_general_ci 0061
|
||||
ucs2_general_ci 00610020
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
ucs2_general_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
ucs2_general_ci
|
||||
@@ -834,6 +851,23 @@ ucs2_bin 00610009
|
||||
ucs2_bin 0061
|
||||
ucs2_bin 00610020
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
ucs2_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
ucs2_bin
|
||||
|
@@ -2217,6 +2217,23 @@ ujis_japanese_ci 6109
|
||||
ujis_japanese_ci 61
|
||||
ujis_japanese_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
ujis_japanese_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
@@ -2284,6 +2301,23 @@ ujis_bin 6109
|
||||
ujis_bin 61
|
||||
ujis_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
ujis_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
create table t1 engine=innodb select repeat('a',50) as c1;
|
||||
alter table t1 add index(c1(5));
|
||||
insert into t1 values ('abcdefg'),('abcde100'),('abcde110'),('abcde111');
|
||||
|
@@ -583,6 +583,23 @@ utf16_general_ci 00610009
|
||||
utf16_general_ci 0061
|
||||
utf16_general_ci 00610020
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf16_general_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf16_general_ci
|
||||
@@ -613,6 +630,23 @@ utf16_bin 0061
|
||||
utf16_bin 00610020
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf16_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#55980 Character sets: supplementary character _bin ordering is wrong
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0;
|
||||
|
@@ -2272,6 +2272,23 @@ utf16_unicode_ci 00610009
|
||||
utf16_unicode_ci 0061
|
||||
utf16_unicode_ci 00610020
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf16_unicode_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf16_unicode_ci
|
||||
|
@@ -582,6 +582,23 @@ utf32_general_ci 0000006100000009
|
||||
utf32_general_ci 00000061
|
||||
utf32_general_ci 0000006100000020
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf32_general_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf32_general_ci
|
||||
@@ -612,6 +629,23 @@ utf32_bin 00000061
|
||||
utf32_bin 0000006100000020
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf32_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#55980 Character sets: supplementary character _bin ordering is wrong
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0;
|
||||
|
@@ -2272,6 +2272,23 @@ utf32_unicode_ci 0000006100000009
|
||||
utf32_unicode_ci 00000061
|
||||
utf32_unicode_ci 0000006100000020
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf32_unicode_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf32_unicode_ci
|
||||
|
@@ -924,6 +924,23 @@ utf8_general_ci 6109
|
||||
utf8_general_ci 61
|
||||
utf8_general_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8_general_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8_general_ci
|
||||
@@ -1006,6 +1023,23 @@ utf8_bin 6109
|
||||
utf8_bin 61
|
||||
utf8_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8_bin
|
||||
|
@@ -924,6 +924,23 @@ utf8mb4_general_ci 6109
|
||||
utf8mb4_general_ci 61
|
||||
utf8mb4_general_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_general_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_general_ci
|
||||
@@ -988,6 +1005,23 @@ utf8mb4_bin 61
|
||||
utf8mb4_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug#55980 Character sets: supplementary character _bin ordering is wrong
|
||||
#
|
||||
CREATE TABLE t1 AS SELECT REPEAT('a',1) AS a LIMIT 0;
|
||||
|
@@ -863,6 +863,23 @@ utf8mb4_general_ci 6109
|
||||
utf8mb4_general_ci 61
|
||||
utf8mb4_general_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_general_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_general_ci
|
||||
@@ -926,6 +943,23 @@ utf8mb4_bin 6109
|
||||
utf8mb4_bin 61
|
||||
utf8mb4_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_bin
|
||||
|
@@ -924,6 +924,23 @@ utf8mb4_general_ci 6109
|
||||
utf8mb4_general_ci 61
|
||||
utf8mb4_general_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_general_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_general_ci
|
||||
@@ -987,6 +1004,23 @@ utf8mb4_bin 6109
|
||||
utf8mb4_bin 61
|
||||
utf8mb4_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_bin
|
||||
|
@@ -924,6 +924,23 @@ utf8mb4_general_ci 6109
|
||||
utf8mb4_general_ci 61
|
||||
utf8mb4_general_ci 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_general_ci
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_general_ci
|
||||
@@ -987,6 +1004,23 @@ utf8mb4_bin 6109
|
||||
utf8mb4_bin 61
|
||||
utf8mb4_bin 6120
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-5453 Assertion `src' fails in my_strnxfrm_unicode on GROUP BY MID(..) WITH ROLLUP
|
||||
#
|
||||
SELECT @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_bin
|
||||
CREATE TABLE t1 (i INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT * FROM t1 GROUP BY MID(CURRENT_USER,0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
SELECT * FROM t1 GROUP BY MID('test',0) WITH ROLLUP;
|
||||
i
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
select @@collation_connection;
|
||||
@@collation_connection
|
||||
utf8mb4_bin
|
||||
|
@@ -465,6 +465,42 @@ t1.val=t3.val
|
||||
;
|
||||
ERROR 42S22: Unknown column 'v.val' in 'field list'
|
||||
drop table t1, t2;
|
||||
#
|
||||
# MDEV-5353: server crash on subselect if WHERE applied to some
|
||||
# result field
|
||||
#
|
||||
SELECT * FROM
|
||||
( SELECT 100 a, subsel.b FROM ( SELECT 200 b ) subsel ) tmp
|
||||
WHERE tmp.b;
|
||||
a b
|
||||
100 200
|
||||
SELECT * FROM
|
||||
( SELECT 100 a, subsel.b FROM ( SELECT 200 b ) subsel ) tmp
|
||||
WHERE tmp.a;
|
||||
a b
|
||||
100 200
|
||||
#
|
||||
# MDEV-5356: Server crashes in Item_equal::contains on 2nd
|
||||
# execution of a PS
|
||||
#
|
||||
CREATE TABLE t1 (a INT, b INT);
|
||||
INSERT INTO t1 VALUES (1,2),(3,4);
|
||||
CREATE TABLE t2 (c INT);
|
||||
INSERT INTO t2 VALUES (5),(6);
|
||||
CREATE TABLE t3 (d INT);
|
||||
INSERT INTO t3 VALUES (7),(8);
|
||||
CREATE PROCEDURE pr()
|
||||
UPDATE t3,
|
||||
(SELECT c FROM
|
||||
(SELECT 1 FROM t1 WHERE a=72 AND NOT b) sq,
|
||||
t2
|
||||
) sq2
|
||||
SET d=sq2.c;
|
||||
CALL pr();
|
||||
CALL pr();
|
||||
CALL pr();
|
||||
drop procedure pr;
|
||||
drop table t1,t2,t3;
|
||||
# End of 5.3 tests
|
||||
#
|
||||
# Bug#58730 Assertion failed: table->key_read == 0 in close_thread_table,
|
||||
|
@@ -2256,6 +2256,115 @@ Warnings:
|
||||
Note 1003 select 4 AS `a` from dual where (4 > 100) order by 1
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE IF NOT EXISTS `galleries` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`year` int(11) DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
UNIQUE KEY `name` (`name`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1266 Using storage engine MyISAM for table 'galleries'
|
||||
CREATE TABLE IF NOT EXISTS `pictures` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL,
|
||||
`width` float DEFAULT NULL,
|
||||
`height` float DEFAULT NULL,
|
||||
`year` int(4) DEFAULT NULL,
|
||||
`technique` varchar(50) DEFAULT NULL,
|
||||
`comment` varchar(2000) DEFAULT NULL,
|
||||
`gallery_id` int(11) NOT NULL,
|
||||
`type` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `gallery_id` (`gallery_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
|
||||
Warnings:
|
||||
Warning 1286 Unknown storage engine 'InnoDB'
|
||||
Warning 1266 Using storage engine MyISAM for table 'pictures'
|
||||
ALTER TABLE `pictures`
|
||||
ADD CONSTRAINT `pictures_ibfk_1` FOREIGN KEY (`gallery_id`) REFERENCES `galleries` (`id`);
|
||||
INSERT INTO `galleries` (`id`, `name`, `year`) VALUES
|
||||
(1, 'Quand le noir et blanc invite le taupe', 2013),
|
||||
(2, 'Une touche de couleur', 2012),
|
||||
(3, 'Éclats', 2011),
|
||||
(4, 'Gris béton', 2010),
|
||||
(5, 'Expression du spalter', 2010),
|
||||
(6, 'Zénitude', 2009),
|
||||
(7, 'La force du rouge', 2008),
|
||||
(8, 'Sphères', NULL),
|
||||
(9, 'Centre', 2009),
|
||||
(10, 'Nébuleuse', NULL);
|
||||
INSERT INTO `pictures` (`id`, `name`, `width`, `height`, `year`, `technique`, `comment`, `gallery_id`, `type`) VALUES
|
||||
(1, 'Éclaircie', 72.5, 100, NULL, NULL, NULL, 1, 1),
|
||||
(2, 'Architecture', 81, 100, NULL, NULL, NULL, 1, 1),
|
||||
(3, 'Nouveau souffle', 72.5, 100, NULL, NULL, NULL, 1, 1),
|
||||
(4, 'Échanges (2)', 89, 116, NULL, NULL, NULL, 1, 1),
|
||||
(5, 'Échanges', 89, 116, NULL, NULL, NULL, 1, 1),
|
||||
(6, 'Fenêtre de vie', 81, 116, NULL, NULL, NULL, 1, 1),
|
||||
(7, 'Architecture', 81, 100, NULL, NULL, NULL, 1, 1),
|
||||
(8, 'Nouveau souffle (2)', 72.5, 100, NULL, NULL, NULL, 1, 1),
|
||||
(9, 'Fluidité', 89, 116, NULL, NULL, NULL, 1, 1),
|
||||
(10, 'Nouveau Monde', 89, 125, NULL, NULL, NULL, 1, 1),
|
||||
(11, 'Mirage', 73, 100, NULL, NULL, NULL, 1, 1),
|
||||
(12, 'Équilibre', 72.5, 116, NULL, NULL, NULL, 2, 1),
|
||||
(13, 'Fusion', 72.5, 116, NULL, NULL, NULL, 2, 1),
|
||||
(14, 'Étincelles', NULL, NULL, NULL, NULL, NULL, 3, 1),
|
||||
(15, 'Régénérescence', NULL, NULL, NULL, NULL, NULL, 3, 1),
|
||||
(16, 'Chaleur', 80, 80, NULL, NULL, NULL, 4, 1),
|
||||
(17, 'Création', 90, 90, NULL, NULL, NULL, 4, 1),
|
||||
(18, 'Horizon', 92, 73, NULL, NULL, NULL, 4, 1),
|
||||
(19, 'Labyrinthe', 81, 100, NULL, NULL, NULL, 4, 1),
|
||||
(20, 'Miroir', 80, 116, NULL, NULL, NULL, 5, 1),
|
||||
(21, 'Libération', 81, 116, NULL, NULL, NULL, 5, 1),
|
||||
(22, 'Éclats', 81, 116, NULL, NULL, NULL, 5, 1),
|
||||
(23, 'Zénitude', 116, 89, NULL, NULL, NULL, 6, 1),
|
||||
(24, 'Écritures lointaines', 90, 90, NULL, NULL, NULL, 7, 1),
|
||||
(25, 'Émergence', 80, 80, NULL, NULL, NULL, 7, 1),
|
||||
(26, 'Liberté', 50, 50, NULL, NULL, NULL, 7, 1),
|
||||
(27, 'Silhouettes amérindiennes', 701, 70, NULL, NULL, NULL, 7, 1),
|
||||
(28, 'Puissance', 81, 100, NULL, NULL, NULL, 8, 1),
|
||||
(29, 'Source', 73, 116, NULL, NULL, NULL, 8, 1),
|
||||
(30, 'Comme une ville qui prend vie', 50, 100, 2008, NULL, NULL, 9, 1),
|
||||
(31, 'Suspension azur', 80, 80, NULL, NULL, NULL, 9, 1),
|
||||
(32, 'Nébuleuse', 70, 70, NULL, NULL, NULL, 10, 1),
|
||||
(33, 'Œuvre commandée 120 P', 114, 195, NULL, NULL, NULL, 1, 2),
|
||||
(34, 'Œuvre commandée 120 P', 114, 195, NULL, NULL, NULL, 1, 2),
|
||||
(35, 'Œuvre commandée 120 P', 114, 195, NULL, NULL, NULL, 1, 2),
|
||||
(36, 'Œuvre commandée 120 P', 114, 195, NULL, NULL, NULL, 1, 2),
|
||||
(37, 'Œuvre commandée 120 P', 114, 195, NULL, NULL, NULL, 1, 2),
|
||||
(38, 'Œuvre commandée 120 P', 114, 195, NULL, NULL, NULL, 1, 2);
|
||||
explain
|
||||
SELECT g.id AS gallery_id,
|
||||
g.name AS gallery_name,
|
||||
p.id AS picture_id,
|
||||
p.name AS picture_name,
|
||||
g.p_random AS r1,
|
||||
g.p_random AS r2,
|
||||
g.p_random AS r3
|
||||
FROM
|
||||
(
|
||||
SELECT gal.id,
|
||||
gal.name,
|
||||
(
|
||||
SELECT pi.id
|
||||
FROM pictures pi
|
||||
WHERE pi.gallery_id = gal.id
|
||||
ORDER BY RAND()
|
||||
LIMIT 1
|
||||
) AS p_random
|
||||
FROM galleries gal
|
||||
) g
|
||||
LEFT JOIN pictures p
|
||||
ON p.id = g.p_random
|
||||
ORDER BY gallery_name ASC
|
||||
;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE <derived2> ALL NULL NULL NULL NULL 2 Using filesort
|
||||
1 SIMPLE p eq_ref PRIMARY PRIMARY 4 g.p_random 1 Using where
|
||||
2 DERIVED gal ALL NULL NULL NULL NULL 10
|
||||
3 DEPENDENT SUBQUERY pi ref gallery_id gallery_id 4 test.gal.id 4 Using temporary; Using filesort
|
||||
drop table galleries, pictures;
|
||||
#
|
||||
# end of 5.3 tests
|
||||
#
|
||||
|
@@ -43,46 +43,3 @@ a
|
||||
4828532208463511553
|
||||
drop table t1;
|
||||
#End of 4.1 tests
|
||||
#
|
||||
# MDEV-5103: server crashed on singular Item_equal
|
||||
#
|
||||
CREATE TABLE `t1` (
|
||||
`tipo` enum('p','r') NOT NULL DEFAULT 'r',
|
||||
`arquivo_id` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`arquivo_md5` char(32) NOT NULL,
|
||||
`conteudo` longblob NOT NULL,
|
||||
`usuario` varchar(15) NOT NULL,
|
||||
`datahora_gmt` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`tipo_arquivo` varchar(255) NOT NULL,
|
||||
`nome_arquivo` varchar(255) NOT NULL,
|
||||
`tamanho_arquivo` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`tipo`,`arquivo_id`),
|
||||
UNIQUE KEY `tipo` (`tipo`,`arquivo_md5`)
|
||||
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1;
|
||||
INSERT INTO `t1` (`tipo`, `arquivo_id`, `arquivo_md5`, `conteudo`, `usuario`, `datahora_gmt`, `tipo_arquivo`, `nome_arquivo`, `tamanho_arquivo`) VALUES
|
||||
('r', 1, 'ad18832202b199728921807033a8a515', '', 'rspadim', '2013-10-05 13:55:50', '001_cbr643', 'CBR6431677410201314132.ret', 21306);
|
||||
CREATE TABLE `t2` (
|
||||
`tipo` enum('p','r') NOT NULL DEFAULT 'p',
|
||||
`arquivo_id` bigint(20) NOT NULL DEFAULT '0',
|
||||
`usuario` varchar(25) NOT NULL,
|
||||
`datahora` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`erros` longblob NOT NULL,
|
||||
`importados` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`n_importados` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`tipo`,`arquivo_id`,`datahora`)
|
||||
) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1;
|
||||
INSERT INTO `t2` (`tipo`, `arquivo_id`, `usuario`, `datahora`, `erros`, `importados`, `n_importados`) VALUES
|
||||
('r', 1, 'rspadim', '2013-10-05 14:25:30', '', 32, 0);
|
||||
SELECT
|
||||
arquivo_id,usuario,datahora_gmt,tipo_arquivo,nome_arquivo,tamanho_arquivo
|
||||
FROM t1 AS a
|
||||
WHERE datahora_gmt>='0000-00-00 00:00:00' AND
|
||||
datahora_gmt<='2013-10-07 02:59:59' AND tipo='r' AND
|
||||
(tipo_arquivo,arquivo_id) NOT IN
|
||||
(SELECT tipo_arquivo,arquivo_id
|
||||
FROM t2
|
||||
WHERE (tipo_arquivo,arquivo_id)=(a.tipo_arquivo,a.arquivo_id))
|
||||
ORDER BY arquivo_id DESC;
|
||||
arquivo_id usuario datahora_gmt tipo_arquivo nome_arquivo tamanho_arquivo
|
||||
drop table t2, t1;
|
||||
#End of 5.3 tests
|
||||
|
@@ -365,7 +365,7 @@ extract(DAY_MINUTE FROM "02 10:11:12")
|
||||
21011
|
||||
select extract(DAY_SECOND FROM "225 10:11:12");
|
||||
extract(DAY_SECOND FROM "225 10:11:12")
|
||||
8385959
|
||||
34225959
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '225 10:11:12'
|
||||
select extract(HOUR FROM "1999-01-02 10:11:12");
|
||||
@@ -948,10 +948,10 @@ sec_to_time(1) + 0, from_unixtime(1) + 0;
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`now() - now()` decimal(20,0) NOT NULL DEFAULT '0',
|
||||
`curtime() - curtime()` decimal(11,0) NOT NULL DEFAULT '0',
|
||||
`sec_to_time(1) + 0` decimal(11,0) DEFAULT NULL,
|
||||
`from_unixtime(1) + 0` decimal(20,0) DEFAULT NULL
|
||||
`now() - now()` bigint(21) NOT NULL DEFAULT '0',
|
||||
`curtime() - curtime()` bigint(12) NOT NULL DEFAULT '0',
|
||||
`sec_to_time(1) + 0` bigint(12) DEFAULT NULL,
|
||||
`from_unixtime(1) + 0` bigint(21) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
drop table t1;
|
||||
SELECT SEC_TO_TIME(3300000);
|
||||
@@ -1025,7 +1025,7 @@ Note 1105 Cast to unsigned converted negative integer to it's positive complemen
|
||||
Warning 1292 Truncated incorrect time value: '18446744073709551615:00:00'
|
||||
SELECT EXTRACT(HOUR FROM '100000:02:03');
|
||||
EXTRACT(HOUR FROM '100000:02:03')
|
||||
838
|
||||
22
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '100000:02:03'
|
||||
CREATE TABLE t1(f1 TIME);
|
||||
@@ -2347,3 +2347,64 @@ DROP TABLE t1;
|
||||
SELECT MAKETIME(0, 0, -0.1);
|
||||
MAKETIME(0, 0, -0.1)
|
||||
NULL
|
||||
#
|
||||
# MDEV-4857 Wrong result of HOUR('1 00:00:00')
|
||||
#
|
||||
SELECT HOUR('1 02:00:00'), HOUR('26:00:00');
|
||||
HOUR('1 02:00:00') HOUR('26:00:00')
|
||||
26 26
|
||||
SELECT HOUR(TIME'1 02:00:00'), HOUR(TIME'26:00:00');
|
||||
HOUR(TIME'1 02:00:00') HOUR(TIME'26:00:00')
|
||||
26 26
|
||||
SELECT HOUR(TIME('1 02:00:00')), HOUR(TIME('26:00:00'));
|
||||
HOUR(TIME('1 02:00:00')) HOUR(TIME('26:00:00'))
|
||||
26 26
|
||||
SELECT DAY(TIME('1 02:00:00')), DAY(TIME('26:00:00'));
|
||||
DAY(TIME('1 02:00:00')) DAY(TIME('26:00:00'))
|
||||
0 0
|
||||
SELECT EXTRACT(HOUR FROM '1 02:00:00'), EXTRACT(HOUR FROM '26:00:00');
|
||||
EXTRACT(HOUR FROM '1 02:00:00') EXTRACT(HOUR FROM '26:00:00')
|
||||
2 2
|
||||
SELECT EXTRACT(HOUR FROM TIME'1 02:00:00'), EXTRACT(HOUR FROM TIME'26:00:00');
|
||||
EXTRACT(HOUR FROM TIME'1 02:00:00') EXTRACT(HOUR FROM TIME'26:00:00')
|
||||
2 2
|
||||
SELECT EXTRACT(HOUR FROM TIME('1 02:00:00')), EXTRACT(HOUR FROM TIME('26:00:00'));
|
||||
EXTRACT(HOUR FROM TIME('1 02:00:00')) EXTRACT(HOUR FROM TIME('26:00:00'))
|
||||
2 2
|
||||
SELECT EXTRACT(DAY FROM TIME('1 02:00:00')), EXTRACT(DAY FROM TIME('26:00:00'));
|
||||
EXTRACT(DAY FROM TIME('1 02:00:00')) EXTRACT(DAY FROM TIME('26:00:00'))
|
||||
1 1
|
||||
#
|
||||
# MDEV-5458 RQG hits 'sql/tztime.cc:799: my_time_t sec_since_epoch(int, int, int, int, int, int): Assertion `mon > 0 && mon < 13' failed.'
|
||||
#
|
||||
SET TIMESTAMP=UNIX_TIMESTAMP('2014-01-22 18:19:20');
|
||||
CREATE TABLE t1 (t TIME);
|
||||
INSERT INTO t1 VALUES ('03:22:30'),('18:30:05');
|
||||
SELECT CONVERT_TZ(GREATEST(t, CURRENT_DATE()), '+02:00', '+10:00') FROM t1;
|
||||
CONVERT_TZ(GREATEST(t, CURRENT_DATE()), '+02:00', '+10:00')
|
||||
NULL
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '1296:00:00'
|
||||
Warning 1292 Incorrect datetime value: '838:59:59'
|
||||
Warning 1292 Truncated incorrect time value: '1296:00:00'
|
||||
Warning 1292 Incorrect datetime value: '838:59:59'
|
||||
SELECT GREATEST(t, CURRENT_DATE()) FROM t1;
|
||||
GREATEST(t, CURRENT_DATE())
|
||||
838:59:59
|
||||
838:59:59
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect time value: '1296:00:00'
|
||||
Warning 1292 Truncated incorrect time value: '1296:00:00'
|
||||
DROP TABLE t1;
|
||||
SET TIMESTAMP=DEFAULT;
|
||||
#
|
||||
# MDEV-5504 Server crashes in String::length on SELECT with MONTHNAME, GROUP BY, ROLLUP
|
||||
#
|
||||
CREATE TABLE t1 (i INT);
|
||||
INSERT INTO t1 VALUES (1),(2);
|
||||
SELECT 1 FROM t1 GROUP BY MONTHNAME(0) WITH ROLLUP;
|
||||
1
|
||||
1
|
||||
1
|
||||
DROP TABLE t1;
|
||||
|
@@ -1957,12 +1957,12 @@ UNIQUE INDEX idx (col1));
|
||||
INSERT INTO t1 VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10),
|
||||
(11),(12),(13),(14),(15),(16),(17),(18),(19),(20);
|
||||
EXPLAIN SELECT col1 AS field1, col1 AS field2
|
||||
FROM t1 GROUP BY field1, field2;;
|
||||
FROM t1 GROUP BY field1, field2+0;;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL idx 5 NULL 20 Using index; Using temporary; Using filesort
|
||||
FLUSH STATUS;
|
||||
SELECT col1 AS field1, col1 AS field2
|
||||
FROM t1 GROUP BY field1, field2;;
|
||||
FROM t1 GROUP BY field1, field2+0;;
|
||||
field1 field2
|
||||
1 1
|
||||
2 2
|
||||
@@ -2054,8 +2054,12 @@ field1 field2
|
||||
explain
|
||||
select col1 f1, col1 f2 from t1 order by f2, f1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL idx 5 NULL 20 Using index
|
||||
explain
|
||||
select col1 f1, col1 f2 from t1 order by f2, f1+0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL idx 5 NULL 20 Using index; Using filesort
|
||||
select col1 f1, col1 f2 from t1 order by f2, f1;
|
||||
select col1 f1, col1 f2 from t1 order by f2, f1+0;
|
||||
f1 f2
|
||||
1 1
|
||||
2 2
|
||||
@@ -2080,7 +2084,7 @@ f1 f2
|
||||
explain
|
||||
select col1 f1, col1 f2 from t1 group by f2 order by f2, f1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range NULL idx 5 NULL 7 Using index for group-by; Using temporary; Using filesort
|
||||
1 SIMPLE t1 range NULL idx 5 NULL 7 Using index for group-by
|
||||
select col1 f1, col1 f2 from t1 group by f2 order by f2, f1;
|
||||
f1 f2
|
||||
1 1
|
||||
@@ -2106,7 +2110,7 @@ f1 f2
|
||||
explain
|
||||
select col1 f1, col1 f2 from t1 group by f1, f2 order by f2, f1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL idx 5 NULL 20 Using index; Using temporary; Using filesort
|
||||
1 SIMPLE t1 index NULL idx 5 NULL 20 Using index
|
||||
select col1 f1, col1 f2 from t1 group by f1, f2 order by f2, f1;
|
||||
f1 f2
|
||||
1 1
|
||||
@@ -2137,10 +2141,10 @@ INSERT INTO t2(col1, col2) VALUES
|
||||
(1,20),(2,19),(3,18),(4,17),(5,16),(6,15),(7,14),(8,13),(9,12),(10,11),
|
||||
(11,10),(12,9),(13,8),(14,7),(15,6),(16,5),(17,4),(18,3),(19,2),(20,1);
|
||||
explain
|
||||
select col1 f1, col2 f2, col1 f3 from t2 group by f1, f2, f3;
|
||||
select col1 f1, col2 f2, col1 f3 from t2 group by f1, f2, f3+0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL idx 10 NULL 20 Using index; Using temporary; Using filesort
|
||||
select col1 f1, col2 f2, col1 f3 from t2 group by f1, f2, f3;
|
||||
select col1 f1, col2 f2, col1 f3 from t2 group by f1, f2, f3+0;
|
||||
f1 f2 f3
|
||||
1 20 1
|
||||
2 19 2
|
||||
@@ -2163,10 +2167,10 @@ f1 f2 f3
|
||||
19 2 19
|
||||
20 1 20
|
||||
explain
|
||||
select col1 f1, col2 f2, col1 f3 from t2 order by f1, f2, f3;
|
||||
select col1 f1, col2 f2, col1 f3 from t2 order by f1, f2, f3+0;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index NULL idx 10 NULL 20 Using index; Using filesort
|
||||
select col1 f1, col2 f2, col1 f3 from t2 order by f1, f2, f3;
|
||||
select col1 f1, col2 f2, col1 f3 from t2 order by f1, f2, f3+0;
|
||||
f1 f2 f3
|
||||
1 20 1
|
||||
2 19 2
|
||||
@@ -2469,29 +2473,3 @@ c 1c
|
||||
v 2v,2v
|
||||
NULL 1c,2v,2v
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# Test of MDEV-4002
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY,
|
||||
d1 DOUBLE,
|
||||
d2 DOUBLE,
|
||||
i INT NOT NULL DEFAULT '0',
|
||||
KEY (i)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1,1.0,1.1,1),(2,2.0,2.2,2);
|
||||
PREPARE stmt FROM "
|
||||
SELECT DISTINCT i, GROUP_CONCAT( d1, d2 ORDER BY d1, d2 )
|
||||
FROM t1 a1 NATURAL JOIN t1 a2 GROUP BY i WITH ROLLUP
|
||||
";
|
||||
EXECUTE stmt;
|
||||
i GROUP_CONCAT( d1, d2 ORDER BY d1, d2 )
|
||||
1 11.1
|
||||
2 22.2
|
||||
NULL 11.1,22.2
|
||||
EXECUTE stmt;
|
||||
i GROUP_CONCAT( d1, d2 ORDER BY d1, d2 )
|
||||
1 11.1
|
||||
2 22.2
|
||||
NULL 11.1,22.2
|
||||
DROP TABLE t1;
|
||||
|
@@ -1,3 +1,4 @@
|
||||
set @save_ext_key_optimizer_switch=@@optimizer_switch;
|
||||
#
|
||||
# MDEV-3992 Server crash or valgrind errors in test_if_skip_sort_order/test_if_cheaper_ordering
|
||||
# on GROUP BY with indexes on InnoDB table
|
||||
@@ -7,13 +8,14 @@ pk INT PRIMARY KEY,
|
||||
a VARCHAR(1) NOT NULL,
|
||||
KEY (pk)
|
||||
) ENGINE=InnoDB;
|
||||
set optimizer_switch='extended_keys=on';
|
||||
INSERT INTO t1 VALUES (1,'a'),(2,'b');
|
||||
EXPLAIN
|
||||
SELECT COUNT(*), pk field1, pk AS field2
|
||||
FROM t1 WHERE a = 'r' OR pk = 183
|
||||
GROUP BY field1, field2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index PRIMARY,pk pk 4 NULL 2 Using where
|
||||
1 SIMPLE t1 index PRIMARY,pk PRIMARY 4 NULL 2 Using where
|
||||
SELECT COUNT(*), pk field1, pk AS field2
|
||||
FROM t1 WHERE a = 'r' OR pk = 183
|
||||
GROUP BY field1, field2;
|
||||
@@ -22,9 +24,36 @@ EXPLAIN
|
||||
SELECT COUNT(*), pk field1 FROM t1
|
||||
WHERE a = 'r' OR pk = 183 GROUP BY field1, field1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index PRIMARY,pk pk 4 NULL 2 Using where
|
||||
1 SIMPLE t1 index PRIMARY,pk PRIMARY 4 NULL 2 Using where
|
||||
SELECT COUNT(*), pk field1 FROM t1
|
||||
WHERE a = 'r' OR pk = 183 GROUP BY field1, field1;
|
||||
COUNT(*) field1
|
||||
drop table t1;
|
||||
set optimizer_switch=@save_ext_key_optimizer_switch;
|
||||
#
|
||||
# MDEV-4002 Server crash or valgrind errors in Item_func_group_concat::setup and Item_func_group_concat::add
|
||||
#
|
||||
CREATE TABLE t1 (
|
||||
pk INT NOT NULL PRIMARY KEY,
|
||||
d1 DOUBLE,
|
||||
d2 DOUBLE,
|
||||
i INT NOT NULL DEFAULT '0',
|
||||
KEY (i)
|
||||
) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES (1,1.0,1.1,1),(2,2.0,2.2,2);
|
||||
PREPARE stmt FROM "
|
||||
SELECT DISTINCT i, GROUP_CONCAT( d1, d2 ORDER BY d1, d2 )
|
||||
FROM t1 a1 NATURAL JOIN t1 a2 GROUP BY i WITH ROLLUP
|
||||
";
|
||||
EXECUTE stmt;
|
||||
i GROUP_CONCAT( d1, d2 ORDER BY d1, d2 )
|
||||
1 11.1
|
||||
2 22.2
|
||||
NULL 11.1,22.2
|
||||
EXECUTE stmt;
|
||||
i GROUP_CONCAT( d1, d2 ORDER BY d1, d2 )
|
||||
1 11.1
|
||||
2 22.2
|
||||
NULL 11.1,22.2
|
||||
DROP TABLE t1;
|
||||
End of 5.5 tests
|
||||
|
6
mysql-test/r/group_by_null.result
Normal file
6
mysql-test/r/group_by_null.result
Normal file
@@ -0,0 +1,6 @@
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2);
|
||||
select max('foo') from t1 group by values(a), extractvalue('bar','qux') order by "v";
|
||||
max('foo')
|
||||
foo
|
||||
drop table t1;
|
@@ -987,6 +987,54 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ref page_timestamp page_timestamp 4 const 10 Using where
|
||||
1 SIMPLE t3 eq_ref PRIMARY PRIMARY 4 test.t2.rev_text_id 1
|
||||
DROP TABLE t1,t2,t3;
|
||||
#
|
||||
# MDEV-5424 SELECT using ORDER BY DESC and LIMIT produces unexpected
|
||||
# results (InnoDB/XtraDB)
|
||||
#
|
||||
create table t1 (a bigint not null unique auto_increment, b varchar(10), primary key (a), key (b(2))) engine = myisam default character set utf8;
|
||||
create table t2 (a bigint not null unique auto_increment, b varchar(10), primary key (a), key (b(2))) engine = innodb default character set utf8;
|
||||
insert into t1 (b) values (null), (null), (null);
|
||||
insert into t2 (b) values (null), (null), (null);
|
||||
set optimizer_switch='extended_keys=on';
|
||||
explain select a from t1 where b is null order by a desc limit 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref b b 9 const 2 Using where; Using filesort
|
||||
select a from t1 where b is null order by a desc limit 2;
|
||||
a
|
||||
3
|
||||
2
|
||||
explain select a from t2 where b is null order by a desc limit 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range b b 9 NULL 3 Using where; Using filesort
|
||||
select a from t2 where b is null order by a desc limit 2;
|
||||
a
|
||||
3
|
||||
2
|
||||
set optimizer_switch='extended_keys=off';
|
||||
explain select a from t2 where b is null order by a desc limit 2;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range b b 9 NULL 3 Using where; Using filesort
|
||||
select a from t2 where b is null order by a desc limit 2;
|
||||
a
|
||||
3
|
||||
2
|
||||
explain select a from t2 where b is null order by a desc;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index b PRIMARY 8 NULL 3 Using where
|
||||
select a from t2 where b is null order by a desc;
|
||||
a
|
||||
3
|
||||
2
|
||||
1
|
||||
explain select a from t2 where b is null order by a desc,a,a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index b PRIMARY 8 NULL 3 Using where
|
||||
select a from t2 where b is null order by a desc,a,a;
|
||||
a
|
||||
3
|
||||
2
|
||||
1
|
||||
drop table t1, t2;
|
||||
set optimizer_switch=@save_optimizer_switch;
|
||||
set optimizer_switch=@save_ext_key_optimizer_switch;
|
||||
SET SESSION STORAGE_ENGINE=DEFAULT;
|
||||
|
@@ -907,5 +907,30 @@ OR a = c
|
||||
ORDER BY e;
|
||||
a b c d e
|
||||
DROP TABLE t1,t2,t3;
|
||||
#
|
||||
# MDEV-5337: Wrong result in mariadb 5.5.32 with ORDER BY + LIMIT when index_condition_pushdown=on
|
||||
# MDEV-5512: Wrong result (WHERE clause ignored) with multiple clauses using Percona-XtraDB engine
|
||||
#
|
||||
create table t1(a int);
|
||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
create table t2 (pk int primary key,
|
||||
key1 char(32),
|
||||
key2 char(32),
|
||||
key(key1),
|
||||
key(key2)
|
||||
) engine=innodb;
|
||||
insert into t2 select
|
||||
A.a+10*B.a+100*C.a,
|
||||
concat('rare-', A.a+10*B.a),
|
||||
concat('rare-', A.a+10*B.a)
|
||||
from
|
||||
t1 A, t1 B, t1 C;
|
||||
update t2 set key1='frequent-val' where pk between 100 and 350;
|
||||
select * from t2 ignore key(PRIMARY)
|
||||
where key1='frequent-val' and key2 between 'rare-400' and 'rare-450' order by pk limit 2;
|
||||
pk key1 key2
|
||||
141 frequent-val rare-41
|
||||
142 frequent-val rare-42
|
||||
drop table t1, t2;
|
||||
set optimizer_switch=@innodb_icp_tmp;
|
||||
set storage_engine= @save_storage_engine;
|
||||
|
@@ -697,3 +697,23 @@ ERROR 42000: Column 'a' specified twice
|
||||
INSERT IGNORE t1 (a, a) SELECT 1,1 UNION SELECT 2,2;
|
||||
ERROR 42000: Column 'a' specified twice
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-5168: Ensure that we can disable duplicate key warnings
|
||||
# from INSERT IGNORE
|
||||
#
|
||||
create table t1 (f1 int unique, f2 int unique);
|
||||
insert into t1 values (1,12);
|
||||
insert into t1 values (2,13);
|
||||
insert into t1 values (1,12);
|
||||
ERROR 23000: Duplicate entry '1' for key 'f1'
|
||||
insert ignore into t1 values (1,12);
|
||||
Warnings:
|
||||
Warning 1062 Duplicate entry '1' for key 'f1'
|
||||
set @@old_mode="NO_DUP_KEY_WARNINGS_WITH_IGNORE";
|
||||
insert ignore into t1 values (1,12);
|
||||
insert ignore into t1 values (1,12) on duplicate key update f2=13;
|
||||
set @@old_mode="";
|
||||
insert ignore into t1 values (1,12);
|
||||
Warnings:
|
||||
Warning 1062 Duplicate entry '1' for key 'f1'
|
||||
DROP TABLE t1;
|
||||
|
@@ -5637,4 +5637,23 @@ c
|
||||
set join_buffer_size=default;
|
||||
set optimizer_switch=@tmp_optimizer_switch;
|
||||
DROP table t1,t2,t3;
|
||||
set join_buffer_size= default;
|
||||
set @@optimizer_switch=@save_optimizer_switch;
|
||||
#
|
||||
# MDEV-5293: outer join, join buffering, and order by - invalid query plan
|
||||
#
|
||||
create table t0 (a int primary key) engine=myisam;
|
||||
insert into t0 values (1);
|
||||
create table t1(a int) engine=myisam;
|
||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
alter table t1 add b int;
|
||||
create table t2 like t1;
|
||||
insert into t2 select * from t1;
|
||||
#The following must use "Using temporary; Using filesort" and not just "Using filesort":
|
||||
explain select * from t0,t1 left join t2 on t1.b=t2.b order by t0.a, t1.a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t0 system NULL NULL NULL NULL 1 Using temporary; Using filesort
|
||||
1 SIMPLE t1 ALL NULL NULL NULL NULL 10
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 10 Using where; Using join buffer (flat, BNL join)
|
||||
drop table t0,t1,t2;
|
||||
set @@optimizer_switch=@save_optimizer_switch;
|
||||
|
@@ -2054,7 +2054,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 const PRIMARY,idx PRIMARY 4 const 1 100.00
|
||||
1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1 100.00 Using index
|
||||
Warnings:
|
||||
Note 1003 select 5 AS `pk` from `test`.`t2` join `test`.`t1` where ((((1 between 5 and 6) and isnull(5)) or 1)) order by 5
|
||||
Note 1003 select 5 AS `pk` from `test`.`t2` join `test`.`t1` where 1 order by 5
|
||||
SELECT t1.pk FROM t2 LEFT JOIN t1 ON t2.pk = t1.a
|
||||
WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5
|
||||
ORDER BY t1.pk;
|
||||
|
@@ -2065,7 +2065,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t1 const PRIMARY,idx PRIMARY 4 const 1 100.00
|
||||
1 SIMPLE t2 const PRIMARY PRIMARY 4 const 1 100.00 Using index
|
||||
Warnings:
|
||||
Note 1003 select 5 AS `pk` from `test`.`t2` join `test`.`t1` where ((((1 between 5 and 6) and isnull(5)) or 1)) order by 5
|
||||
Note 1003 select 5 AS `pk` from `test`.`t2` join `test`.`t1` where 1 order by 5
|
||||
SELECT t1.pk FROM t2 LEFT JOIN t1 ON t2.pk = t1.a
|
||||
WHERE t1.b BETWEEN 5 AND 6 AND t1.pk IS NULL OR t1.pk = 5
|
||||
ORDER BY t1.pk;
|
||||
|
@@ -2394,6 +2394,13 @@ REPAIR TABLE m1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.m1 repair note The storage engine for the table doesn't support repair
|
||||
DROP TABLE m1, t1;
|
||||
create temporary table t1_temp(i int);
|
||||
create temporary table tm_temp_temp (i int) engine=merge union=(t1_temp) insert_method=last;
|
||||
alter table tm_temp_temp insert_method=first;
|
||||
check table tm_temp_temp;
|
||||
Table Op Msg_type Msg_text
|
||||
test.tm_temp_temp check status OK
|
||||
drop temporary table t1_temp, tm_temp_temp;
|
||||
End of 5.1 tests
|
||||
#
|
||||
# MDEV-4277: Crash inside mi_killed_in_mariadb() with myisammrg
|
||||
|
@@ -21,3 +21,4 @@ a left(b,10)
|
||||
3 CCCCCCCCCC
|
||||
4 CCCCCCCCCC
|
||||
drop table t1;
|
||||
set debug_sync='reset';
|
||||
|
@@ -1,6 +1,7 @@
|
||||
#
|
||||
# MDEV-5226 mysql_tzinfo_to_sql errors with tzdata 2013f and above
|
||||
#
|
||||
# Verbose run
|
||||
SET SESSION wsrep_replicate_myisam=ON;
|
||||
TRUNCATE TABLE time_zone;
|
||||
TRUNCATE TABLE time_zone_name;
|
||||
@@ -12,12 +13,51 @@ INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/ignored.tab' as time zone. Skipping it.
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/ignored.tab' as time zone. Skipping it.
|
||||
Warning: Skipping directory 'MYSQLTEST_VARDIR/zoneinfo/posix/posix': to avoid infinite symlink recursion.
|
||||
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
|
||||
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
|
||||
# Silent run
|
||||
TRUNCATE TABLE time_zone;
|
||||
TRUNCATE TABLE time_zone_name;
|
||||
TRUNCATE TABLE time_zone_transition;
|
||||
TRUNCATE TABLE time_zone_transition_type;
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/garbage' as time zone. Skipping it.
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('posix/GMT', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
Warning: Unable to load 'MYSQLTEST_VARDIR/zoneinfo/posix/garbage' as time zone. Skipping it.
|
||||
ALTER TABLE time_zone_transition ORDER BY Time_zone_id, Transition_time;
|
||||
ALTER TABLE time_zone_transition_type ORDER BY Time_zone_id, Transition_type_id;
|
||||
#
|
||||
# Testing with explicit timezonefile
|
||||
#
|
||||
INSERT INTO time_zone (Use_leap_seconds) VALUES ('N');
|
||||
SET @time_zone_id= LAST_INSERT_ID();
|
||||
INSERT INTO time_zone_name (Name, Time_zone_id) VALUES ('XXX', @time_zone_id);
|
||||
INSERT INTO time_zone_transition_type (Time_zone_id, Transition_type_id, Offset, Is_DST, Abbreviation) VALUES
|
||||
(@time_zone_id, 0, 0, 0, 'GMT')
|
||||
;
|
||||
#
|
||||
# Testing --leap
|
||||
#
|
||||
TRUNCATE TABLE time_zone_leap_second;
|
||||
ALTER TABLE time_zone_leap_second ORDER BY Transition_time;
|
||||
|
@@ -108,6 +108,9 @@ test
|
||||
Phase 3/3: Running 'mysql_fix_privilege_tables'...
|
||||
OK
|
||||
DROP USER mysqltest1@'%';
|
||||
Version check failed. Got the following error when calling the 'mysql' command line client
|
||||
ERROR 1045 (28000): Access denied for user 'mysqltest1'@'localhost' (using password: YES)
|
||||
FATAL ERROR: Upgrade failed
|
||||
Run mysql_upgrade with a non existing server socket
|
||||
mysqlcheck: Got error: 2005: Unknown MySQL server host 'not_existing_host' (errno) when trying to connect
|
||||
FATAL ERROR: Upgrade failed
|
||||
|
@@ -454,8 +454,12 @@ The following options may be given as the first argument:
|
||||
--net-write-timeout=#
|
||||
Number of seconds to wait for a block to be written to a
|
||||
connection before aborting the write
|
||||
--old Use compatible behavior
|
||||
--old Use compatible behavior from previous MariaDB version.
|
||||
See also --old-mode
|
||||
--old-alter-table Use old, non-optimized alter table
|
||||
--old-mode=name Used to emulate old behavior from earlier MariaDB or
|
||||
MySQL versions. Syntax: old_mode=mode[,mode[,mode...]].
|
||||
See the manual for the complete list of valid old modes
|
||||
--old-passwords Use old password encryption method (needed for 4.0 and
|
||||
older clients)
|
||||
--old-style-user-limits
|
||||
@@ -1071,6 +1075,7 @@ net-retry-count 10
|
||||
net-write-timeout 60
|
||||
old FALSE
|
||||
old-alter-table FALSE
|
||||
old-mode
|
||||
old-passwords FALSE
|
||||
old-style-user-limits FALSE
|
||||
optimizer-prune-level 1
|
||||
|
@@ -357,6 +357,12 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
explain select * from t1 where a = 1 order by b desc;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 ref a a 4 const 5 Using where; Using index
|
||||
explain select * from t1 where a = 2 and b > 0 order by a desc,b desc,b,a;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range a a 9 NULL 5 Using where; Using index
|
||||
explain select * from t1 where a = 2 and b < 2 order by a desc,a,b desc,a,b;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range a a 9 NULL 2 Using where; Using index
|
||||
select * from t1 where a = 1 order by b desc;
|
||||
a b c
|
||||
1 3 b
|
||||
@@ -2020,4 +2026,28 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 index NULL PRIMARY 4 NULL 8 Using index
|
||||
1 SIMPLE t2 ref i_a i_a 5 test.t1.a 2 Using index
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-4974 memory leak in 5.5.32-MariaDB-1~wheezy-log
|
||||
#
|
||||
set sort_buffer_size=default;
|
||||
set max_sort_length=default;
|
||||
create table t1(a int);
|
||||
insert into t1 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
create table t2 (b int,
|
||||
col1 varchar(255),
|
||||
col2 varchar(255)
|
||||
) character set utf8;
|
||||
insert into t2 select
|
||||
A.a+10*B.a,
|
||||
concat('wow-wow-col1-value-', A.a+10*B.a+100*C.a),
|
||||
concat('wow-wow-col2-value-', A.a+10*B.a+100*C.a)
|
||||
from
|
||||
t1 A, t1 B, t1 C where C.a < 8;
|
||||
create table t3 as
|
||||
select distinct A.col1 as XX, B.col1 as YY
|
||||
from
|
||||
t2 A, t2 B
|
||||
where A.b = B.b
|
||||
order by A.col2, B.col2 limit 10, 1000000;
|
||||
drop table t1,t2,t3;
|
||||
End of 5.5 tests
|
||||
|
@@ -1,6 +1,6 @@
|
||||
Illegal error code: 10000
|
||||
MySQL error code 1062 (ER_DUP_ENTRY): Duplicate entry '%-.192s' for key %d
|
||||
MySQL error code 1076 (ER_READY): %s: ready for connections.
|
||||
Version: '%s' socket: '%s' port: %d
|
||||
MySQL error code 1408 (ER_STARTUP): %s: ready for connections.
|
||||
Version: '%s' socket: '%s' port: %d %s
|
||||
MySQL error code 1459 (ER_TABLE_NEEDS_UPGRADE): Table upgrade required. Please do "REPAIR TABLE `%-.32s`" or dump/reload to fix it!
|
||||
MySQL error code 1461 (ER_MAX_PREPARED_STMT_COUNT_REACHED): Can't create more than max_prepared_stmt_count statements (current value: %lu)
|
||||
|
@@ -302,7 +302,6 @@ FLUSH PRIVILEGES;
|
||||
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
|
||||
|
22
mysql-test/r/plugin_vars.result
Normal file
22
mysql-test/r/plugin_vars.result
Normal file
@@ -0,0 +1,22 @@
|
||||
#
|
||||
# MDEV-5345 - Deadlock between mysql_change_user(), SHOW VARIABLES and
|
||||
# INSTALL PLUGIN
|
||||
#
|
||||
CREATE PROCEDURE p_install(x INT)
|
||||
BEGIN
|
||||
DECLARE CONTINUE HANDLER FOR 1126 BEGIN END;
|
||||
WHILE x DO
|
||||
SET x= x - 1;
|
||||
INSTALL PLUGIN no_such_plugin SONAME 'no_such_object';
|
||||
END WHILE;
|
||||
END|
|
||||
CREATE PROCEDURE p_show_vars(x INT)
|
||||
WHILE x DO
|
||||
SET x= x - 1;
|
||||
SHOW VARIABLES;
|
||||
END WHILE|
|
||||
CALL p_install(100);
|
||||
CALL p_show_vars(100);
|
||||
USE test;
|
||||
DROP PROCEDURE p_install;
|
||||
DROP PROCEDURE p_show_vars;
|
@@ -13,3 +13,4 @@ sleep(5)
|
||||
select command, time < 5 from information_schema.processlist where id != connection_id();
|
||||
command time < 5
|
||||
Sleep 1
|
||||
set debug_sync='reset';
|
||||
|
@@ -3996,4 +3996,27 @@ Handler_read_rnd_deleted 0
|
||||
Handler_read_rnd_next 0
|
||||
deallocate prepare st;
|
||||
drop table t1;
|
||||
#
|
||||
# Bug mdev-5410: crash at the execution of PS with subselect
|
||||
# formed by UNION with global ORDER BY
|
||||
#
|
||||
CREATE TABLE t1 (a int DEFAULT NULL);
|
||||
INSERT INTO t1 VALUES (2), (4);
|
||||
CREATE TABLE t2 (b int DEFAULT NULL);
|
||||
INSERT INTO t2 VALUES (1), (3);
|
||||
PREPARE stmt FROM "
|
||||
SELECT c1 FROM (SELECT (SELECT a FROM t1 WHERE t1.a <= t2.b
|
||||
UNION ALL
|
||||
SELECT a FROM t1 WHERE t1.a+3<= t2.b
|
||||
ORDER BY a DESC) AS c1 FROM t2) t3;
|
||||
";
|
||||
EXECUTE stmt;
|
||||
c1
|
||||
NULL
|
||||
2
|
||||
EXECUTE stmt;
|
||||
c1
|
||||
NULL
|
||||
2
|
||||
DROP TABLE t1,t2;
|
||||
# End of 5.3 tests
|
||||
|
@@ -29,3 +29,4 @@ kill %connection%;
|
||||
set debug_sync='now signal done';
|
||||
Got one of the listed errors
|
||||
drop table t1;
|
||||
set debug_sync='reset';
|
||||
|
@@ -130,26 +130,25 @@ test.t1 check error Table upgrade required. Please do "REPAIR TABLE `t1`" or dum
|
||||
# REPAIR old table USE_FRM should fail
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
t1 repair error Failed repairing incompatible .frm file
|
||||
test.t1 repair warning Number of rows changed from 0 to 1
|
||||
test.t1 repair status OK
|
||||
# Run REPAIR TABLE to upgrade .frm file
|
||||
REPAIR TABLE t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
SHOW TABLE STATUS LIKE 't1';
|
||||
Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
|
||||
t1 MyISAM 10 Fixed 2 7 14 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
t1 MyISAM 10 Fixed 1 7 7 1970324836974591 1024 0 NULL # # NULL latin1_swedish_ci NULL
|
||||
SELECT * FROM t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
REPAIR TABLE t1 USE_FRM;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair warning Number of rows changed from 0 to 2
|
||||
test.t1 repair warning Number of rows changed from 0 to 1
|
||||
test.t1 repair status OK
|
||||
SELECT * FROM t1;
|
||||
id
|
||||
1
|
||||
2
|
||||
DROP TABLE t1;
|
||||
DROP TABLE IF EXISTS tt1;
|
||||
CREATE TEMPORARY TABLE tt1 (c1 INT);
|
||||
@@ -183,3 +182,28 @@ test.t1 repair status OK
|
||||
test.t2 repair status OK
|
||||
set @@autocommit= default;
|
||||
drop tables t1, t2;
|
||||
#
|
||||
# Check that we have decent error messages when using crashed
|
||||
# .frm file from MySQL 3.23
|
||||
#
|
||||
# Test with a saved table from 3.23
|
||||
select count(*) from t1;
|
||||
ERROR HY000: Got error 185 'Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this' from MyISAM
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check Error Got error 185 'Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this' from MyISAM
|
||||
test.t1 check error Corrupt
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair Error Got error 185 'Incompatible key or row definition between the MariaDB .frm file and the information in the storage engine. You have to dump and restore the table to fix this' from MyISAM
|
||||
test.t1 repair error Corrupt
|
||||
repair table t1 use_frm;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair status OK
|
||||
select count(*) from t1;
|
||||
count(*)
|
||||
0
|
||||
check table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 check status OK
|
||||
drop table t1;
|
||||
|
14
mysql-test/r/repair_symlink-5543.result
Normal file
14
mysql-test/r/repair_symlink-5543.result
Normal file
@@ -0,0 +1,14 @@
|
||||
create table t1 (a int) engine=myisam data directory='MYSQL_TMP_DIR';
|
||||
insert t1 values (1);
|
||||
repair table t1;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t1 repair error Can't create new tempfile: 'MYSQL_TMP_DIR/t1.TMD'
|
||||
test.t1 repair status Operation failed
|
||||
drop table t1;
|
||||
create table t2 (a int) engine=aria data directory='MYSQL_TMP_DIR';
|
||||
insert t2 values (1);
|
||||
repair table t2;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t2 repair error Can't create new tempfile: 'MYSQL_TMP_DIR/t2.TMD'
|
||||
test.t2 repair status Operation failed
|
||||
drop table t2;
|
@@ -5315,7 +5315,7 @@ SELECT * FROM t1 WHERE (1=2 OR t1.pk=2) AND t1.a <> 0;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
Warnings:
|
||||
Note 1003 select 2 AS `pk`,0 AS `a` from `test`.`t1` where ((0 <> 0))
|
||||
Note 1003 select 2 AS `pk`,0 AS `a` from `test`.`t1` where (0 <> 0)
|
||||
DROP TABLE t1;
|
||||
SELECT * FROM mysql.time_zone
|
||||
WHERE ( NOT (Use_leap_seconds <= Use_leap_seconds AND Time_zone_id != 1)
|
||||
|
@@ -5326,7 +5326,7 @@ SELECT * FROM t1 WHERE (1=2 OR t1.pk=2) AND t1.a <> 0;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
Warnings:
|
||||
Note 1003 select 2 AS `pk`,0 AS `a` from `test`.`t1` where ((0 <> 0))
|
||||
Note 1003 select 2 AS `pk`,0 AS `a` from `test`.`t1` where (0 <> 0)
|
||||
DROP TABLE t1;
|
||||
SELECT * FROM mysql.time_zone
|
||||
WHERE ( NOT (Use_leap_seconds <= Use_leap_seconds AND Time_zone_id != 1)
|
||||
|
@@ -5315,7 +5315,7 @@ SELECT * FROM t1 WHERE (1=2 OR t1.pk=2) AND t1.a <> 0;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE NULL NULL NULL NULL NULL NULL NULL NULL Impossible WHERE noticed after reading const tables
|
||||
Warnings:
|
||||
Note 1003 select 2 AS `pk`,0 AS `a` from `test`.`t1` where ((0 <> 0))
|
||||
Note 1003 select 2 AS `pk`,0 AS `a` from `test`.`t1` where (0 <> 0)
|
||||
DROP TABLE t1;
|
||||
SELECT * FROM mysql.time_zone
|
||||
WHERE ( NOT (Use_leap_seconds <= Use_leap_seconds AND Time_zone_id != 1)
|
||||
|
@@ -222,3 +222,49 @@ testf_bug11763507
|
||||
DROP PROCEDURE testp_bug11763507;
|
||||
DROP FUNCTION testf_bug11763507;
|
||||
#END OF BUG#11763507 test.
|
||||
#
|
||||
# MDEV-5531 double call procedure in one session
|
||||
#
|
||||
CREATE TABLE `t1` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`create_ts` int(10) unsigned DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
|
||||
CREATE PROCEDURE test_5531 (IN step TINYINT(1))
|
||||
BEGIN
|
||||
DECLARE counts INT DEFAULT 0;
|
||||
DECLARE cur1 CURSOR FOR
|
||||
SELECT ct.id
|
||||
FROM (SELECT NULL) AS z
|
||||
JOIN (
|
||||
SELECT id
|
||||
FROM `t1`
|
||||
LIMIT 10
|
||||
) AS ct
|
||||
JOIN (SELECT NULL) AS x ON(
|
||||
EXISTS(
|
||||
SELECT 1
|
||||
FROM `t1`
|
||||
WHERE id=ct.id
|
||||
LIMIT 1
|
||||
)
|
||||
);
|
||||
IF step=1 THEN
|
||||
TRUNCATE t1;
|
||||
REPEAT
|
||||
INSERT INTO `t1`
|
||||
(create_ts) VALUES
|
||||
(UNIX_TIMESTAMP());
|
||||
SET counts=counts+1;
|
||||
UNTIL counts>150 END REPEAT;
|
||||
SET max_sp_recursion_depth=1;
|
||||
CALL test_5531(2);
|
||||
SET max_sp_recursion_depth=2;
|
||||
CALL test_5531(2);
|
||||
ELSEIF step=2 THEN
|
||||
OPEN cur1; CLOSE cur1;
|
||||
END IF;
|
||||
END $$
|
||||
CALL test_5531(1);
|
||||
DROP PROCEDURE test_5531;
|
||||
DROP TABLE t1;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user