mirror of
https://github.com/MariaDB/server.git
synced 2025-07-16 00:42:55 +03:00
Merge branch '11.2' into 11.4
This commit is contained in:
@ -4314,7 +4314,7 @@ static void dump_table(const char *table, const char *db, const uchar *hash_key,
|
|||||||
|
|
||||||
if (versioned && !opt_xml && opt_dump_history)
|
if (versioned && !opt_xml && opt_dump_history)
|
||||||
{
|
{
|
||||||
fprintf(md_result_file,"/*!101100 SET @old_system_versioning_insert_history=@@session.system_versioning_insert_history, @@session.system_versioning_insert_history=1 */;\n");
|
fprintf(md_result_file,"/*M!101100 SET @old_system_versioning_insert_history=@@session.system_versioning_insert_history, @@session.system_versioning_insert_history=1 */;\n");
|
||||||
check_io(md_result_file);
|
check_io(md_result_file);
|
||||||
}
|
}
|
||||||
if (opt_lock)
|
if (opt_lock)
|
||||||
@ -4616,7 +4616,7 @@ static void dump_table(const char *table, const char *db, const uchar *hash_key,
|
|||||||
}
|
}
|
||||||
if (versioned && !opt_xml && opt_dump_history)
|
if (versioned && !opt_xml && opt_dump_history)
|
||||||
{
|
{
|
||||||
fprintf(md_result_file,"/*!101100 SET system_versioning_insert_history=@old_system_versioning_insert_history */;\n");
|
fprintf(md_result_file,"/*M!101100 SET system_versioning_insert_history=@old_system_versioning_insert_history */;\n");
|
||||||
check_io(md_result_file);
|
check_io(md_result_file);
|
||||||
}
|
}
|
||||||
mysql_free_result(res);
|
mysql_free_result(res);
|
||||||
|
@ -3941,9 +3941,9 @@ void do_move_file(struct st_command *command)
|
|||||||
is_sub_path(ds_to_file.str, to_plen, vardir)) ||
|
is_sub_path(ds_to_file.str, to_plen, vardir)) ||
|
||||||
(is_sub_path(ds_from_file.str, from_plen, tmpdir) &&
|
(is_sub_path(ds_from_file.str, from_plen, tmpdir) &&
|
||||||
is_sub_path(ds_to_file.str, to_plen, tmpdir)))) {
|
is_sub_path(ds_to_file.str, to_plen, tmpdir)))) {
|
||||||
report_or_die("Paths '%s' and '%s' are not both under MYSQLTEST_VARDIR '%s'"
|
report_or_die("Paths '%s' and '%s' are not both under "
|
||||||
"or both under MYSQL_TMP_DIR '%s'",
|
"MYSQLTEST_VARDIR '%s' or both under MYSQL_TMP_DIR '%s'",
|
||||||
ds_from_file, ds_to_file, vardir, tmpdir);
|
ds_from_file.str, ds_to_file.str, vardir, tmpdir);
|
||||||
DBUG_VOID_RETURN;
|
DBUG_VOID_RETURN;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -8025,6 +8025,20 @@ static const char *trking_info_desc[SESSION_TRACK_END + 1]=
|
|||||||
/**
|
/**
|
||||||
@brief Append state change information (received through Ok packet) to the output.
|
@brief Append state change information (received through Ok packet) to the output.
|
||||||
|
|
||||||
|
@details The appended string is lines prefixed with "-- ". Only
|
||||||
|
tracking types with info sent from the server are displayed. For
|
||||||
|
each tracking type, the first line is the type name e.g.
|
||||||
|
"-- Tracker : SESSION_TRACK_SYSTEM_VARIABLES".
|
||||||
|
|
||||||
|
The subsequent lines are the actual tracking info. When type is
|
||||||
|
SESSION_TRACK_SYSTEM_VARIABLES, the actual tracking info is a list
|
||||||
|
of name-value pairs of lines, sorted by name, e.g. if the info
|
||||||
|
received from the server is "autocommit=ON;time_zone=SYSTEM", the
|
||||||
|
corresponding string is
|
||||||
|
|
||||||
|
-- autocommit: ON
|
||||||
|
-- time_zone: SYSTEM
|
||||||
|
|
||||||
@param [in,out] ds Dynamic string to hold the content to be printed.
|
@param [in,out] ds Dynamic string to hold the content to be printed.
|
||||||
@param [in] mysql Connection handle.
|
@param [in] mysql Connection handle.
|
||||||
*/
|
*/
|
||||||
@ -8032,11 +8046,16 @@ static const char *trking_info_desc[SESSION_TRACK_END + 1]=
|
|||||||
static void append_session_track_info(DYNAMIC_STRING *ds, MYSQL *mysql)
|
static void append_session_track_info(DYNAMIC_STRING *ds, MYSQL *mysql)
|
||||||
{
|
{
|
||||||
#ifndef EMBEDDED_LIBRARY
|
#ifndef EMBEDDED_LIBRARY
|
||||||
|
DYNAMIC_STRING ds_sort, *ds_type= NULL;
|
||||||
for (unsigned int type= SESSION_TRACK_BEGIN; type <= SESSION_TRACK_END; type++)
|
for (unsigned int type= SESSION_TRACK_BEGIN; type <= SESSION_TRACK_END; type++)
|
||||||
{
|
{
|
||||||
const char *data;
|
const char *data;
|
||||||
size_t data_length;
|
size_t data_length;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Append the tracking type line, if any corresponding tracking
|
||||||
|
info is received.
|
||||||
|
*/
|
||||||
if (!mysql_session_track_get_first(mysql,
|
if (!mysql_session_track_get_first(mysql,
|
||||||
(enum_session_state_type) type,
|
(enum_session_state_type) type,
|
||||||
&data, &data_length))
|
&data, &data_length))
|
||||||
@ -8052,26 +8071,56 @@ static void append_session_track_info(DYNAMIC_STRING *ds, MYSQL *mysql)
|
|||||||
DBUG_ASSERT(0);
|
DBUG_ASSERT(0);
|
||||||
dynstr_append_mem(ds, STRING_WITH_LEN("Tracker???\n"));
|
dynstr_append_mem(ds, STRING_WITH_LEN("Tracker???\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
dynstr_append_mem(ds, STRING_WITH_LEN("-- "));
|
|
||||||
dynstr_append_mem(ds, data, data_length);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
/*
|
||||||
|
The remaining of this function: format and append the actual
|
||||||
|
tracking info.
|
||||||
|
*/
|
||||||
|
if (type == SESSION_TRACK_SYSTEM_VARIABLES)
|
||||||
|
{
|
||||||
|
/* Prepare a string to be sorted before being appended. */
|
||||||
|
if (init_dynamic_string(&ds_sort, "", 1024, 1024))
|
||||||
|
die("Out of memory");
|
||||||
|
ds_type= &ds_sort;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
ds_type= ds;
|
||||||
|
/* Append the first piece of info */
|
||||||
|
dynstr_append_mem(ds_type, STRING_WITH_LEN("-- "));
|
||||||
|
dynstr_append_mem(ds_type, data, data_length);
|
||||||
|
/* Whether we are appending the value of a variable */
|
||||||
|
bool appending_value= type == SESSION_TRACK_SYSTEM_VARIABLES;
|
||||||
|
/* Append remaining pieces */
|
||||||
while (!mysql_session_track_get_next(mysql,
|
while (!mysql_session_track_get_next(mysql,
|
||||||
(enum_session_state_type) type,
|
(enum_session_state_type) type,
|
||||||
&data, &data_length))
|
&data, &data_length))
|
||||||
{
|
{
|
||||||
dynstr_append_mem(ds, STRING_WITH_LEN("\n-- "));
|
if (appending_value)
|
||||||
|
dynstr_append_mem(ds_type, STRING_WITH_LEN(": "));
|
||||||
|
else
|
||||||
|
dynstr_append_mem(ds_type, STRING_WITH_LEN("\n-- "));
|
||||||
|
appending_value= !appending_value && type == SESSION_TRACK_SYSTEM_VARIABLES;
|
||||||
if (data == NULL)
|
if (data == NULL)
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(data_length == 0);
|
DBUG_ASSERT(data_length == 0);
|
||||||
dynstr_append_mem(ds, STRING_WITH_LEN("<NULL>"));
|
dynstr_append_mem(ds_type, STRING_WITH_LEN("<NULL>"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
dynstr_append_mem(ds, data, data_length);
|
dynstr_append_mem(ds_type, data, data_length);
|
||||||
}
|
}
|
||||||
dynstr_append_mem(ds, STRING_WITH_LEN("\n\n"));
|
DBUG_ASSERT(!appending_value);
|
||||||
|
if (type == SESSION_TRACK_SYSTEM_VARIABLES)
|
||||||
|
{
|
||||||
|
dynstr_append_mem(ds_type, STRING_WITH_LEN("\n"));
|
||||||
|
dynstr_append_sorted(ds, ds_type, false);
|
||||||
|
dynstr_append_mem(ds, STRING_WITH_LEN("\n"));
|
||||||
|
dynstr_free(&ds_sort);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
dynstr_append_mem(ds, STRING_WITH_LEN("\n\n"));
|
||||||
}
|
}
|
||||||
#endif /* EMBEDDED_LIBRARY */
|
#endif /* EMBEDDED_LIBRARY */
|
||||||
}
|
}
|
||||||
@ -12216,7 +12265,8 @@ void replace_dynstr_append_uint(DYNAMIC_STRING *ds, uint val)
|
|||||||
/*
|
/*
|
||||||
Build a list of pointer to each line in ds_input, sort
|
Build a list of pointer to each line in ds_input, sort
|
||||||
the list and use the sorted list to append the strings
|
the list and use the sorted list to append the strings
|
||||||
sorted to the output ds
|
sorted to the output ds. The string ds_input needs to
|
||||||
|
end with a newline.
|
||||||
|
|
||||||
SYNOPSIS
|
SYNOPSIS
|
||||||
dynstr_append_sorted()
|
dynstr_append_sorted()
|
||||||
|
@ -172,12 +172,12 @@ IF(UNIX)
|
|||||||
|
|
||||||
# Default GCC flags
|
# Default GCC flags
|
||||||
IF(CMAKE_COMPILER_IS_GNUCC)
|
IF(CMAKE_COMPILER_IS_GNUCC)
|
||||||
SET(COMMON_C_FLAGS "-g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized")
|
SET(COMMON_C_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized")
|
||||||
SET(CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}")
|
SET(CMAKE_C_FLAGS_DEBUG "-O ${COMMON_C_FLAGS}")
|
||||||
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
|
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||||
SET(COMMON_CXX_FLAGS "-g -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized")
|
SET(COMMON_CXX_FLAGS "-g -fno-omit-frame-pointer -fno-strict-aliasing -Wno-uninitialized")
|
||||||
SET(CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}")
|
SET(CMAKE_CXX_FLAGS_DEBUG "-O ${COMMON_CXX_FLAGS}")
|
||||||
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}")
|
SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -249,7 +249,8 @@ IF(WITH_WSREP)
|
|||||||
SETA(CPACK_RPM_server_PACKAGE_REQUIRES
|
SETA(CPACK_RPM_server_PACKAGE_REQUIRES
|
||||||
"galera-4" "rsync" "grep" "gawk" "iproute"
|
"galera-4" "rsync" "grep" "gawk" "iproute"
|
||||||
"coreutils" "findutils" "tar")
|
"coreutils" "findutils" "tar")
|
||||||
SETA(CPACK_RPM_server_PACKAGE_RECOMMENDS "lsof" "pv")
|
SETA(CPACK_RPM_server_PACKAGE_RECOMMENDS "lsof" "socat" "pv")
|
||||||
|
SETA(CPACK_RPM_test_PACKAGE_REQUIRES "socat")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
SET(CPACK_RPM_server_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-prein.sh)
|
SET(CPACK_RPM_server_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-prein.sh)
|
||||||
|
@ -15,8 +15,8 @@ MACRO(BUNDLE_LIBFMT)
|
|||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
libfmt
|
libfmt
|
||||||
PREFIX "${dir}"
|
PREFIX "${dir}"
|
||||||
URL "https://github.com/fmtlib/fmt/releases/download/11.0.1/fmt-11.0.1.zip"
|
URL "https://github.com/fmtlib/fmt/releases/download/11.0.2/fmt-11.0.2.zip"
|
||||||
URL_MD5 5f3915e2eff60e7f70c558120592100d
|
URL_MD5 c622dca45ec3fc95254c48370a9f7a1d
|
||||||
INSTALL_COMMAND ""
|
INSTALL_COMMAND ""
|
||||||
CONFIGURE_COMMAND ""
|
CONFIGURE_COMMAND ""
|
||||||
BUILD_COMMAND ""
|
BUILD_COMMAND ""
|
||||||
|
@ -89,7 +89,7 @@ MACRO(CREATE_EXPORTS_FILE VAR TARGET API_FUNCTIONS)
|
|||||||
CONFIGURE_FILE_CONTENT(${CONTENT} ${EXPORTS})
|
CONFIGURE_FILE_CONTENT(${CONTENT} ${EXPORTS})
|
||||||
# Avoid "function redeclared as variable" error
|
# Avoid "function redeclared as variable" error
|
||||||
# when using gcc/clang option -flto(link time optimization)
|
# when using gcc/clang option -flto(link time optimization)
|
||||||
IF(" ${CMAKE_C_FLAGS} ${CMAKE_CXX_FLAGS} " MATCHES " -flto")
|
IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
|
||||||
SET_SOURCE_FILES_PROPERTIES(${EXPORTS} PROPERTIES COMPILE_FLAGS "-fno-lto")
|
SET_SOURCE_FILES_PROPERTIES(${EXPORTS} PROPERTIES COMPILE_FLAGS "-fno-lto")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
SET(${VAR} ${EXPORTS})
|
SET(${VAR} ${EXPORTS})
|
||||||
|
@ -32,6 +32,10 @@ ELSE()
|
|||||||
SET(CONC_INSTALL_LAYOUT "DEFAULT")
|
SET(CONC_INSTALL_LAYOUT "DEFAULT")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
|
IF(WITH_BOOST_CONTEXT)
|
||||||
|
SET(CONC_WITH_BOOST_CONTEXT ON)
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
SET(PLUGIN_INSTALL_DIR ${INSTALL_PLUGINDIR})
|
SET(PLUGIN_INSTALL_DIR ${INSTALL_PLUGINDIR})
|
||||||
SET(MARIADB_UNIX_ADDR ${MYSQL_UNIX_ADDR})
|
SET(MARIADB_UNIX_ADDR ${MYSQL_UNIX_ADDR})
|
||||||
|
|
||||||
|
@ -194,6 +194,7 @@
|
|||||||
#cmakedefine HAVE_PTHREAD_ATTR_GETSTACKSIZE 1
|
#cmakedefine HAVE_PTHREAD_ATTR_GETSTACKSIZE 1
|
||||||
#cmakedefine HAVE_PTHREAD_ATTR_SETSCOPE 1
|
#cmakedefine HAVE_PTHREAD_ATTR_SETSCOPE 1
|
||||||
#cmakedefine HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
|
#cmakedefine HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
|
||||||
|
#cmakedefine HAVE_PTHREAD_GETATTR_NP 1
|
||||||
#cmakedefine HAVE_PTHREAD_CONDATTR_CREATE 1
|
#cmakedefine HAVE_PTHREAD_CONDATTR_CREATE 1
|
||||||
#cmakedefine HAVE_PTHREAD_GETAFFINITY_NP 1
|
#cmakedefine HAVE_PTHREAD_GETAFFINITY_NP 1
|
||||||
#cmakedefine HAVE_PTHREAD_KEY_DELETE 1
|
#cmakedefine HAVE_PTHREAD_KEY_DELETE 1
|
||||||
|
@ -379,6 +379,7 @@ CHECK_FUNCTION_EXISTS (pthread_attr_getguardsize HAVE_PTHREAD_ATTR_GETGUARDSIZE)
|
|||||||
CHECK_FUNCTION_EXISTS (pthread_attr_setstacksize HAVE_PTHREAD_ATTR_SETSTACKSIZE)
|
CHECK_FUNCTION_EXISTS (pthread_attr_setstacksize HAVE_PTHREAD_ATTR_SETSTACKSIZE)
|
||||||
CHECK_FUNCTION_EXISTS (pthread_condattr_create HAVE_PTHREAD_CONDATTR_CREATE)
|
CHECK_FUNCTION_EXISTS (pthread_condattr_create HAVE_PTHREAD_CONDATTR_CREATE)
|
||||||
CHECK_FUNCTION_EXISTS (pthread_getaffinity_np HAVE_PTHREAD_GETAFFINITY_NP)
|
CHECK_FUNCTION_EXISTS (pthread_getaffinity_np HAVE_PTHREAD_GETAFFINITY_NP)
|
||||||
|
CHECK_FUNCTION_EXISTS (pthread_getattr_np HAVE_PTHREAD_GETATTR_NP)
|
||||||
CHECK_FUNCTION_EXISTS (pthread_key_delete HAVE_PTHREAD_KEY_DELETE)
|
CHECK_FUNCTION_EXISTS (pthread_key_delete HAVE_PTHREAD_KEY_DELETE)
|
||||||
CHECK_FUNCTION_EXISTS (pthread_rwlock_rdlock HAVE_PTHREAD_RWLOCK_RDLOCK)
|
CHECK_FUNCTION_EXISTS (pthread_rwlock_rdlock HAVE_PTHREAD_RWLOCK_RDLOCK)
|
||||||
CHECK_FUNCTION_EXISTS (pthread_sigmask HAVE_PTHREAD_SIGMASK)
|
CHECK_FUNCTION_EXISTS (pthread_sigmask HAVE_PTHREAD_SIGMASK)
|
||||||
|
@ -519,7 +519,7 @@ static bool is_page_corrupted(byte *buf, bool is_encrypted, uint32_t flags)
|
|||||||
normal method. */
|
normal method. */
|
||||||
if (is_encrypted && key_version != 0) {
|
if (is_encrypted && key_version != 0) {
|
||||||
is_corrupted = use_full_crc32
|
is_corrupted = use_full_crc32
|
||||||
? buf_page_is_corrupted(true, buf, flags)
|
? !!buf_page_is_corrupted(false, buf, flags)
|
||||||
: !fil_space_verify_crypt_checksum(buf, zip_size);
|
: !fil_space_verify_crypt_checksum(buf, zip_size);
|
||||||
|
|
||||||
if (is_corrupted && log_file) {
|
if (is_corrupted && log_file) {
|
||||||
|
@ -283,7 +283,7 @@ static bool page_is_corrupted(const byte *page, ulint page_no,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (space->full_crc32()) {
|
if (space->full_crc32()) {
|
||||||
return buf_page_is_corrupted(true, page, space->flags);
|
return buf_page_is_corrupted(false, page, space->flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Validate encrypted pages. The first page is never encrypted.
|
/* Validate encrypted pages. The first page is never encrypted.
|
||||||
@ -316,7 +316,7 @@ static bool page_is_corrupted(const byte *page, ulint page_no,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (page_type != FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED) {
|
if (page_type != FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED) {
|
||||||
return buf_page_is_corrupted(true, tmp_page,
|
return buf_page_is_corrupted(false, tmp_page,
|
||||||
space->flags);
|
space->flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -336,11 +336,11 @@ static bool page_is_corrupted(const byte *page, ulint page_no,
|
|||||||
&& cursor->zip_size)
|
&& cursor->zip_size)
|
||||||
|| page_type == FIL_PAGE_PAGE_COMPRESSED
|
|| page_type == FIL_PAGE_PAGE_COMPRESSED
|
||||||
|| page_type == FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED
|
|| page_type == FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED
|
||||||
|| buf_page_is_corrupted(true, tmp_page,
|
|| buf_page_is_corrupted(false, tmp_page,
|
||||||
space->flags));
|
space->flags));
|
||||||
}
|
}
|
||||||
|
|
||||||
return buf_page_is_corrupted(true, page, space->flags);
|
return buf_page_is_corrupted(false, page, space->flags);
|
||||||
}
|
}
|
||||||
PRAGMA_REENABLE_CHECK_STACK_FRAME
|
PRAGMA_REENABLE_CHECK_STACK_FRAME
|
||||||
|
|
||||||
|
@ -1186,27 +1186,25 @@ static void backup_file_op_fail(uint32_t space_id, int type,
|
|||||||
const byte* new_name, ulint new_len)
|
const byte* new_name, ulint new_len)
|
||||||
{
|
{
|
||||||
bool fail = false;
|
bool fail = false;
|
||||||
switch(type) {
|
const static std::string spacename{filename_to_spacename(name, len)};
|
||||||
|
switch (type) {
|
||||||
case FILE_CREATE:
|
case FILE_CREATE:
|
||||||
msg("DDL tracking : create %u \"%.*s\"", space_id, int(len), name);
|
msg("DDL tracking : create %u \"%.*s\"", space_id, int(len), name);
|
||||||
fail = !check_if_skip_table(
|
fail = !check_if_skip_table(spacename.c_str());
|
||||||
filename_to_spacename(name, len).c_str());
|
|
||||||
break;
|
break;
|
||||||
case FILE_MODIFY:
|
case FILE_MODIFY:
|
||||||
break;
|
break;
|
||||||
case FILE_RENAME:
|
case FILE_RENAME:
|
||||||
msg("DDL tracking : rename %u \"%.*s\",\"%.*s\"",
|
msg("DDL tracking : rename %u \"%.*s\",\"%.*s\"",
|
||||||
space_id, int(len), name, int(new_len), new_name);
|
space_id, int(len), name, int(new_len), new_name);
|
||||||
fail = !check_if_skip_table(
|
fail = !check_if_skip_table(spacename.c_str())
|
||||||
filename_to_spacename(name, len).c_str())
|
|
||||||
|| !check_if_skip_table(
|
|| !check_if_skip_table(
|
||||||
filename_to_spacename(new_name, new_len).c_str());
|
filename_to_spacename(new_name, new_len).c_str());
|
||||||
break;
|
break;
|
||||||
case FILE_DELETE:
|
case FILE_DELETE:
|
||||||
fail = !check_if_skip_table(
|
fail = !check_if_skip_table(spacename.c_str())
|
||||||
filename_to_spacename(name, len).c_str())
|
&& !check_if_fts_table(spacename.c_str());
|
||||||
&& !check_if_fts_table(reinterpret_cast<const char*>(name));
|
msg("DDL tracking : delete %u \"%.*s\"", space_id, int(len), name);
|
||||||
msg("DDL tracking : delete %u \"%.*s\"", space_id, int(len), name);
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
ut_ad(0);
|
ut_ad(0);
|
||||||
@ -2651,7 +2649,7 @@ static bool innodb_init()
|
|||||||
const std::string ib_logfile0{get_log_file_path()};
|
const std::string ib_logfile0{get_log_file_path()};
|
||||||
os_file_delete_if_exists_func(ib_logfile0.c_str(), nullptr);
|
os_file_delete_if_exists_func(ib_logfile0.c_str(), nullptr);
|
||||||
os_file_t file= os_file_create_func(ib_logfile0.c_str(),
|
os_file_t file= os_file_create_func(ib_logfile0.c_str(),
|
||||||
OS_FILE_CREATE, OS_FILE_NORMAL,
|
OS_FILE_CREATE,
|
||||||
#if defined _WIN32 || defined O_DIRECT
|
#if defined _WIN32 || defined O_DIRECT
|
||||||
OS_DATA_FILE_NO_O_DIRECT,
|
OS_DATA_FILE_NO_O_DIRECT,
|
||||||
#else
|
#else
|
||||||
@ -2676,13 +2674,9 @@ static bool innodb_init()
|
|||||||
mach_write_to_4(b + 12, my_crc32c(0, b, 11));
|
mach_write_to_4(b + 12, my_crc32c(0, b, 11));
|
||||||
static_assert(12 + 4 == SIZE_OF_FILE_CHECKPOINT, "compatibility");
|
static_assert(12 + 4 == SIZE_OF_FILE_CHECKPOINT, "compatibility");
|
||||||
|
|
||||||
#ifdef _WIN32
|
ret = os_file_write_func(IORequestWrite, ib_logfile0.c_str(), file,
|
||||||
DWORD len;
|
log_hdr_buf, 0,
|
||||||
ret= WriteFile(file, log_hdr_buf, sizeof log_hdr_buf,
|
sizeof(log_hdr_buf)) == DB_SUCCESS;
|
||||||
&len, nullptr) && len == sizeof log_hdr_buf;
|
|
||||||
#else
|
|
||||||
ret= sizeof log_hdr_buf == write(file, log_hdr_buf, sizeof log_hdr_buf);
|
|
||||||
#endif
|
|
||||||
if (!os_file_close_func(file) || !ret)
|
if (!os_file_close_func(file) || !ret)
|
||||||
goto invalid_log;
|
goto invalid_log;
|
||||||
return false;
|
return false;
|
||||||
@ -3426,7 +3420,8 @@ static bool xtrabackup_copy_mmap_logfile()
|
|||||||
recv_sys_t::parse_mtr_result r;
|
recv_sys_t::parse_mtr_result r;
|
||||||
const byte *start= &log_sys.buf[recv_sys.offset];
|
const byte *start= &log_sys.buf[recv_sys.offset];
|
||||||
|
|
||||||
if (recv_sys.parse_mmap<false>(false) == recv_sys_t::OK)
|
if (recv_sys.parse_mmap<recv_sys_t::store::BACKUP>(false) ==
|
||||||
|
recv_sys_t::OK)
|
||||||
{
|
{
|
||||||
const byte *end;
|
const byte *end;
|
||||||
|
|
||||||
@ -3446,7 +3441,8 @@ static bool xtrabackup_copy_mmap_logfile()
|
|||||||
start = seq + 1;
|
start = seq + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while ((r= recv_sys.parse_mmap<false>(false)) == recv_sys_t::OK);
|
while ((r= recv_sys.parse_mmap<recv_sys_t::store::BACKUP>(false)) ==
|
||||||
|
recv_sys_t::OK);
|
||||||
|
|
||||||
end= &log_sys.buf[recv_sys.offset];
|
end= &log_sys.buf[recv_sys.offset];
|
||||||
|
|
||||||
@ -3551,7 +3547,8 @@ static bool xtrabackup_copy_logfile()
|
|||||||
if (log_sys.buf[recv_sys.offset] <= 1)
|
if (log_sys.buf[recv_sys.offset] <= 1)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (recv_sys.parse_mtr<false>(false) == recv_sys_t::OK)
|
if (recv_sys.parse_mtr<recv_sys_t::store::BACKUP>(false) ==
|
||||||
|
recv_sys_t::OK)
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
@ -3561,7 +3558,8 @@ static bool xtrabackup_copy_logfile()
|
|||||||
sequence_offset));
|
sequence_offset));
|
||||||
*seq= 1;
|
*seq= 1;
|
||||||
}
|
}
|
||||||
while ((r= recv_sys.parse_mtr<false>(false)) == recv_sys_t::OK);
|
while ((r= recv_sys.parse_mtr<recv_sys_t::store::BACKUP>(false)) ==
|
||||||
|
recv_sys_t::OK);
|
||||||
|
|
||||||
if (ds_write(dst_log_file, log_sys.buf + start_offset,
|
if (ds_write(dst_log_file, log_sys.buf + start_offset,
|
||||||
recv_sys.offset - start_offset))
|
recv_sys.offset - start_offset))
|
||||||
@ -3909,16 +3907,18 @@ static void xb_load_single_table_tablespace(const char *dirname,
|
|||||||
|
|
||||||
if (is_remote) {
|
if (is_remote) {
|
||||||
RemoteDatafile* rf = new RemoteDatafile();
|
RemoteDatafile* rf = new RemoteDatafile();
|
||||||
if (!rf->open_link_file(n)) {
|
|
||||||
die("Can't open datafile %s", name);
|
|
||||||
}
|
|
||||||
file = rf;
|
file = rf;
|
||||||
|
if (!rf->open_link_file(n)) {
|
||||||
|
goto cant_open;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
file = new Datafile();
|
file = new Datafile();
|
||||||
file->make_filepath(".", n, IBD);
|
file->make_filepath(".", n, IBD);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file->open_read_only(true) != DB_SUCCESS) {
|
if (file->open_read_only(true) != DB_SUCCESS) {
|
||||||
|
cant_open:
|
||||||
|
delete file;
|
||||||
// Ignore FTS tables, as they can be removed for intermediate tables,
|
// Ignore FTS tables, as they can be removed for intermediate tables,
|
||||||
// this code must be executed under stronger or equal to BLOCK_DDL lock,
|
// this code must be executed under stronger or equal to BLOCK_DDL lock,
|
||||||
// so there must not be errors for non-intermediate FTS tables.
|
// so there must not be errors for non-intermediate FTS tables.
|
||||||
@ -3929,7 +3929,7 @@ static void xb_load_single_table_tablespace(const char *dirname,
|
|||||||
|
|
||||||
for (int i = 0; i < 10; i++) {
|
for (int i = 0; i < 10; i++) {
|
||||||
file->m_defer = false;
|
file->m_defer = false;
|
||||||
err = file->validate_first_page();
|
err = file->validate_first_page(file->get_first_page());
|
||||||
|
|
||||||
if (file->m_defer) {
|
if (file->m_defer) {
|
||||||
if (defer_space_id) {
|
if (defer_space_id) {
|
||||||
@ -3971,7 +3971,7 @@ static void xb_load_single_table_tablespace(const char *dirname,
|
|||||||
skip_node_page0 ? file->detach() : pfs_os_file_t(),
|
skip_node_page0 ? file->detach() : pfs_os_file_t(),
|
||||||
0, false, false);
|
0, false, false);
|
||||||
node->deferred= defer;
|
node->deferred= defer;
|
||||||
if (!space->read_page0())
|
if (!space->read_page0(nullptr, true))
|
||||||
err = DB_CANNOT_OPEN_FILE;
|
err = DB_CANNOT_OPEN_FILE;
|
||||||
mysql_mutex_unlock(&fil_system.mutex);
|
mysql_mutex_unlock(&fil_system.mutex);
|
||||||
|
|
||||||
@ -6863,8 +6863,10 @@ error:
|
|||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
|
|
||||||
ok = fil_system.sys_space->open(false)
|
mysql_mutex_lock(&recv_sys.mutex);
|
||||||
&& xtrabackup_apply_deltas();
|
ok = fil_system.sys_space->open(false);
|
||||||
|
mysql_mutex_unlock(&recv_sys.mutex);
|
||||||
|
if (ok) ok = xtrabackup_apply_deltas();
|
||||||
|
|
||||||
xb_data_files_close();
|
xb_data_files_close();
|
||||||
|
|
||||||
@ -7545,7 +7547,6 @@ void handle_options(int argc, char **argv, char ***argv_server,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static int main_low(char** argv);
|
static int main_low(char** argv);
|
||||||
static int get_exepath(char *buf, size_t size, const char *argv0);
|
|
||||||
|
|
||||||
/* ================= main =================== */
|
/* ================= main =================== */
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
@ -7556,8 +7557,8 @@ int main(int argc, char **argv)
|
|||||||
|
|
||||||
my_getopt_prefix_matching= 0;
|
my_getopt_prefix_matching= 0;
|
||||||
|
|
||||||
if (get_exepath(mariabackup_exe,FN_REFLEN, argv[0]))
|
if (my_get_exepath(mariabackup_exe, FN_REFLEN, argv[0]))
|
||||||
strncpy(mariabackup_exe,argv[0], FN_REFLEN-1);
|
strncpy(mariabackup_exe, argv[0], FN_REFLEN-1);
|
||||||
|
|
||||||
|
|
||||||
if (argc > 1 )
|
if (argc > 1 )
|
||||||
@ -7850,32 +7851,6 @@ static int main_low(char** argv)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int get_exepath(char *buf, size_t size, const char *argv0)
|
|
||||||
{
|
|
||||||
#ifdef _WIN32
|
|
||||||
DWORD ret = GetModuleFileNameA(NULL, buf, (DWORD)size);
|
|
||||||
if (ret > 0)
|
|
||||||
return 0;
|
|
||||||
#elif defined(__linux__)
|
|
||||||
ssize_t ret = readlink("/proc/self/exe", buf, size-1);
|
|
||||||
if(ret > 0)
|
|
||||||
return 0;
|
|
||||||
#elif defined(__APPLE__)
|
|
||||||
size_t ret = proc_pidpath(getpid(), buf, static_cast<uint32_t>(size));
|
|
||||||
if (ret > 0) {
|
|
||||||
buf[ret] = 0;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#elif defined(__FreeBSD__)
|
|
||||||
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PATHNAME, -1};
|
|
||||||
if (sysctl(mib, 4, buf, &size, NULL, 0) == 0) {
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return my_realpath(buf, argv0, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#if defined (__SANITIZE_ADDRESS__) && defined (__linux__)
|
#if defined (__SANITIZE_ADDRESS__) && defined (__linux__)
|
||||||
/* Avoid LeakSanitizer's false positives. */
|
/* Avoid LeakSanitizer's false positives. */
|
||||||
|
@ -286,12 +286,19 @@ static inline void safe_strcpy(char *dst, size_t dst_size, const char *src)
|
|||||||
static inline int safe_strcpy_truncated(char *dst, size_t dst_size,
|
static inline int safe_strcpy_truncated(char *dst, size_t dst_size,
|
||||||
const char *src)
|
const char *src)
|
||||||
{
|
{
|
||||||
DBUG_ASSERT(dst_size > 0);
|
|
||||||
|
|
||||||
strncpy(dst, src, dst_size);
|
DBUG_ASSERT(dst_size > 0);
|
||||||
if (dst[dst_size - 1])
|
if (dst_size == 0)
|
||||||
|
return 1;
|
||||||
|
/*
|
||||||
|
We do not want to use strncpy() as we do not want to rely on
|
||||||
|
strncpy() filling the unused dst with 0.
|
||||||
|
We cannot use strmake() here as it in debug mode fills the buffers
|
||||||
|
with 'Z'.
|
||||||
|
*/
|
||||||
|
if (strnmov(dst, src, dst_size) == dst+dst_size)
|
||||||
{
|
{
|
||||||
dst[dst_size - 1]= 0;
|
dst[dst_size-1]= 0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
@ -307,7 +314,7 @@ static inline int safe_strcpy_truncated(char *dst, size_t dst_size,
|
|||||||
static inline int safe_strcat(char *dst, size_t dst_size, const char *src)
|
static inline int safe_strcat(char *dst, size_t dst_size, const char *src)
|
||||||
{
|
{
|
||||||
size_t init_len= strlen(dst);
|
size_t init_len= strlen(dst);
|
||||||
if (init_len > dst_size)
|
if (init_len >= dst_size)
|
||||||
return 1;
|
return 1;
|
||||||
return safe_strcpy_truncated(dst + init_len, dst_size - init_len, src);
|
return safe_strcpy_truncated(dst + init_len, dst_size - init_len, src);
|
||||||
}
|
}
|
||||||
|
@ -835,7 +835,6 @@ typedef long long my_ptrdiff_t;
|
|||||||
#define ALIGN_PTR(A, t) ((t*) MY_ALIGN((A), sizeof(double)))
|
#define ALIGN_PTR(A, t) ((t*) MY_ALIGN((A), sizeof(double)))
|
||||||
#define ADD_TO_PTR(ptr,size,type) (type) ((uchar*) (ptr)+size)
|
#define ADD_TO_PTR(ptr,size,type) (type) ((uchar*) (ptr)+size)
|
||||||
#define PTR_BYTE_DIFF(A,B) (my_ptrdiff_t) ((uchar*) (A) - (uchar*) (B))
|
#define PTR_BYTE_DIFF(A,B) (my_ptrdiff_t) ((uchar*) (A) - (uchar*) (B))
|
||||||
#define PREV_BITS(type,A) ((type) (((type) 1 << (A)) -1))
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Custom version of standard offsetof() macro which can be used to get
|
Custom version of standard offsetof() macro which can be used to get
|
||||||
|
@ -17,6 +17,65 @@
|
|||||||
#ifndef _my_stack_alloc_h
|
#ifndef _my_stack_alloc_h
|
||||||
#define _my_stack_alloc_h
|
#define _my_stack_alloc_h
|
||||||
|
|
||||||
|
#ifdef _MSC_VER
|
||||||
|
#include <intrin.h> // For MSVC-specific intrinsics
|
||||||
|
#else
|
||||||
|
#include <sys/resource.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Get the address of the current stack.
|
||||||
|
This will fallback to using an estimate for the stack pointer
|
||||||
|
in the cases where either the compiler or the architecture is
|
||||||
|
not supported.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static inline void *my_get_stack_pointer(void *default_stack)
|
||||||
|
{
|
||||||
|
void *stack_ptr= NULL;
|
||||||
|
|
||||||
|
#if defined(__GNUC__) || defined(__clang__) /* GCC and Clang compilers */
|
||||||
|
#if defined(__i386__) /* Intel x86 (32-bit) */
|
||||||
|
__asm__ volatile ("movl %%esp, %0" : "=r" (stack_ptr));
|
||||||
|
#elif defined(__x86_64__) /* Intel x86-64 (64-bit) */
|
||||||
|
__asm__ volatile ("movq %%rsp, %0" : "=r" (stack_ptr));
|
||||||
|
#elif defined(__powerpc__) /* PowerPC (32-bit) */
|
||||||
|
__asm__ volatile ("mr %0, 1" : "=r" (stack_ptr)); /* GPR1 is the stack pointer */
|
||||||
|
#elif defined(__ppc64__) /* PowerPC (64-bit) */
|
||||||
|
__asm__ volatile ("mr %0, 1" : "=r" (stack_ptr));
|
||||||
|
#elif defined(__arm__) /* ARM 32-bit */
|
||||||
|
__asm__ volatile ("mov %0, sp" : "=r" (stack_ptr));
|
||||||
|
#elif defined(__aarch64__) /* ARM 64-bit */
|
||||||
|
__asm__ volatile ("mov %0, sp" : "=r" (stack_ptr));
|
||||||
|
#elif defined(__sparc__) /* SPARC 32-bit */
|
||||||
|
__asm__ volatile ("mov %%sp, %0" : "=r" (stack_ptr));
|
||||||
|
#elif defined(__sparc64__) /* SPARC 64-bit */
|
||||||
|
__asm__ volatile ("mov %%sp, %0" : "=r" (stack_ptr));
|
||||||
|
#elif defined(__s390x__)
|
||||||
|
stack_ptr= __builtin_frame_address(0);
|
||||||
|
#else
|
||||||
|
/* Generic fallback for unsupported architectures in GCC/Clang */
|
||||||
|
stack_ptr= default_stack ? default_stack : (void*) &stack_ptr;
|
||||||
|
#endif
|
||||||
|
#elif defined(_MSC_VER) /* MSVC compiler (Intel only) */
|
||||||
|
#if defined(_M_IX86) /* Intel x86 (32-bit) */
|
||||||
|
__asm { mov stack_ptr, esp }
|
||||||
|
#elif defined(_M_X64) /* Intel x86-64 (64-bit) */
|
||||||
|
/* rsp can’t be accessed directly in MSVC x64 */
|
||||||
|
stack_ptr= _AddressOfReturnAddress();
|
||||||
|
#else
|
||||||
|
/* Generic fallback for unsupported architectures in MSVC */
|
||||||
|
stack_ptr= default_stack ? default_stack : (void*) &stack_ptr;
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
/* Generic fallback for unsupported compilers */
|
||||||
|
stack_ptr= default_stack ? default_stack : (void*) &stack_ptr;
|
||||||
|
#endif
|
||||||
|
return stack_ptr;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Do allocation through alloca if there is enough stack available.
|
Do allocation through alloca if there is enough stack available.
|
||||||
If not, use my_malloc() instead.
|
If not, use my_malloc() instead.
|
||||||
@ -42,7 +101,7 @@
|
|||||||
/* Allocate small blocks as long as there is this much left */
|
/* Allocate small blocks as long as there is this much left */
|
||||||
#define STACK_ALLOC_SMALL_BLOCK 1024*32
|
#define STACK_ALLOC_SMALL_BLOCK 1024*32
|
||||||
|
|
||||||
/* Allocate small blocks as long as there is this much left */
|
/* Allocate small blocks as long as the block size is not bigger than */
|
||||||
#define STACK_ALLOC_SMALL_BLOCK_SIZE 4096
|
#define STACK_ALLOC_SMALL_BLOCK_SIZE 4096
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -56,11 +115,11 @@
|
|||||||
do \
|
do \
|
||||||
{ \
|
{ \
|
||||||
size_t alloc_size= (size); \
|
size_t alloc_size= (size); \
|
||||||
size_t stack_left= available_stack_size(&alloc_size, (stack_end)); \
|
void *stack= my_get_stack_pointer(0); \
|
||||||
if (stack_left > alloc_size && \
|
size_t stack_left= available_stack_size(stack, (stack_end)); \
|
||||||
(STACK_ALLOC_BIG_BLOCK < stack_left - alloc_size || \
|
if (stack_left > alloc_size + STACK_ALLOC_SMALL_BLOCK && \
|
||||||
((STACK_ALLOC_SMALL_BLOCK < stack_left - alloc_size) && \
|
(stack_left > alloc_size + STACK_ALLOC_BIG_BLOCK || \
|
||||||
(STACK_ALLOC_SMALL_BLOCK_SIZE <= alloc_size)))) \
|
(STACK_ALLOC_SMALL_BLOCK_SIZE >= alloc_size))) \
|
||||||
{ \
|
{ \
|
||||||
(must_be_freed)= 0; \
|
(must_be_freed)= 0; \
|
||||||
(res)= alloca(size); \
|
(res)= alloca(size); \
|
||||||
@ -90,3 +149,16 @@ static inline void stack_alloc_free(void *res, my_bool must_be_freed)
|
|||||||
my_free(res);
|
my_free(res);
|
||||||
}
|
}
|
||||||
#endif /* _my_stack_alloc_h */
|
#endif /* _my_stack_alloc_h */
|
||||||
|
|
||||||
|
|
||||||
|
/* Get start and end of stack */
|
||||||
|
|
||||||
|
/*
|
||||||
|
This is used in the case when we not know the exact stack start
|
||||||
|
and have to estimate stack start with get_stack_pointer()
|
||||||
|
*/
|
||||||
|
#define MY_STACK_SAFE_MARGIN 8192
|
||||||
|
|
||||||
|
extern void my_get_stack_bounds(void **stack_start, void **stack_end,
|
||||||
|
void *fallback_stack_start,
|
||||||
|
size_t fallback_stack_size);
|
||||||
|
@ -667,6 +667,8 @@ extern my_off_t my_fseek(FILE *stream,my_off_t pos,int whence,myf MyFlags);
|
|||||||
extern my_off_t my_ftell(FILE *stream,myf MyFlags);
|
extern my_off_t my_ftell(FILE *stream,myf MyFlags);
|
||||||
extern void (*my_sleep_for_space)(unsigned int seconds);
|
extern void (*my_sleep_for_space)(unsigned int seconds);
|
||||||
|
|
||||||
|
extern int my_get_exepath(char *buf, size_t size, const char *argv0);
|
||||||
|
|
||||||
/* implemented in my_memmem.c */
|
/* implemented in my_memmem.c */
|
||||||
extern void *my_memmem(const void *haystack, size_t haystacklen,
|
extern void *my_memmem(const void *haystack, size_t haystacklen,
|
||||||
const void *needle, size_t needlelen);
|
const void *needle, size_t needlelen);
|
||||||
|
Submodule libmariadb updated: de6305915f...efb0d9ac8b
28
mysql-test/include/have_cgroupv2.inc
Normal file
28
mysql-test/include/have_cgroupv2.inc
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
--source include/linux.inc
|
||||||
|
--error 0,1
|
||||||
|
perl;
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use File::Spec;
|
||||||
|
|
||||||
|
# Read the cgroup file
|
||||||
|
my $cgroup_file = '/proc/self/cgroup';
|
||||||
|
open my $fh, '<', $cgroup_file or exit 1;
|
||||||
|
my $line = <$fh>;
|
||||||
|
close $fh;
|
||||||
|
|
||||||
|
# Process the cgroup file content
|
||||||
|
$line =~ s/^0:://;
|
||||||
|
chomp($line);
|
||||||
|
|
||||||
|
# Construct the path
|
||||||
|
my $path = File::Spec->catdir('/sys/fs/cgroup', $line, 'memory.pressure');
|
||||||
|
|
||||||
|
# Check if the file is writable exists
|
||||||
|
exit 0 if -w $path;
|
||||||
|
exit 1;
|
||||||
|
EOF
|
||||||
|
if ($errno)
|
||||||
|
{
|
||||||
|
--skip Requires cgroupv2
|
||||||
|
}
|
201
mysql-test/include/search_condition.inc
Normal file
201
mysql-test/include/search_condition.inc
Normal file
@ -0,0 +1,201 @@
|
|||||||
|
--echo #
|
||||||
|
--echo # WHERE <search condition>
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
let datatype=`SELECT DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS
|
||||||
|
WHERE TABLE_NAME='t0' AND COLUMN_NAME='c'`;
|
||||||
|
let use_string_func=0;
|
||||||
|
let use_field=1;
|
||||||
|
let update_source=c+11;
|
||||||
|
|
||||||
|
if ($datatype == 'varchar')
|
||||||
|
{
|
||||||
|
let use_string_func=1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($datatype == 'datetime')
|
||||||
|
{
|
||||||
|
let update_source=c+0.1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($datatype == 'inet6')
|
||||||
|
{
|
||||||
|
let use_field=0;
|
||||||
|
let update_source=concat(c,'77');
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
if ($use_field)
|
||||||
|
{
|
||||||
|
SELECT * FROM t1 WHERE c;
|
||||||
|
}
|
||||||
|
SELECT * FROM t1 WHERE c IS FALSE;
|
||||||
|
SELECT * FROM t1 WHERE c IS TRUE;
|
||||||
|
SELECT * FROM t1 WHERE COALESCE(c);
|
||||||
|
if ($use_string_func)
|
||||||
|
{
|
||||||
|
SELECT * FROM t1 WHERE CONCAT(c);
|
||||||
|
SELECT * FROM t1 WHERE LEFT(c,100);
|
||||||
|
}
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # HAVING <search condition>
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
if ($use_field)
|
||||||
|
{
|
||||||
|
SELECT COALESCE(c,c) AS c2 FROM t1 GROUP BY c2 HAVING c2;
|
||||||
|
}
|
||||||
|
SELECT COALESCE(c,c) AS c2 FROM t1 GROUP BY c2 HAVING c2 IS FALSE;
|
||||||
|
SELECT COALESCE(c,c) AS c2 FROM t1 GROUP BY c2 HAVING c2 IS TRUE;
|
||||||
|
SELECT COALESCE(c,c) AS c2 FROM t1 GROUP BY c2 HAVING COALESCE(c2);
|
||||||
|
if ($use_string_func)
|
||||||
|
{
|
||||||
|
SELECT CONCAT(c,'0') AS c2 FROM t1 GROUP BY c2 HAVING LEFT(c2,100);
|
||||||
|
}
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # <join condition> := ON <search condition>
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
if ($use_field)
|
||||||
|
{
|
||||||
|
SELECT t1.c FROM t1 JOIN t1 AS t2 ON (t1.c);
|
||||||
|
}
|
||||||
|
SELECT t1.c FROM t1 JOIN t1 AS t2 ON (t1.c IS FALSE);
|
||||||
|
SELECT t1.c FROM t1 JOIN t1 AS t2 ON (t1.c IS TRUE);
|
||||||
|
SELECT t1.c FROM t1 JOIN t1 AS t2 ON (COALESCE(t1.c));
|
||||||
|
if ($use_string_func)
|
||||||
|
{
|
||||||
|
SELECT t1.c FROM t1 JOIN t1 AS t2 ON (CONCAT(t1.c));
|
||||||
|
}
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # <delete statement: searched>
|
||||||
|
--echo # DELETE FROM <target table> [ WHERE <search condition> ]
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
if ($use_field)
|
||||||
|
{
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
DELETE FROM t1 WHERE c;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
}
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
DELETE FROM t1 WHERE c IS FALSE;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
DELETE FROM t1 WHERE c IS TRUE;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
DELETE FROM t1 WHERE COALESCE(c);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
if ($use_string_func)
|
||||||
|
{
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
DELETE FROM t1 WHERE CONCAT(c);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # <update statement: searched>
|
||||||
|
--echo # UPDATE <target table> SET <set clause list> [ WHERE <search condition> ]
|
||||||
|
|
||||||
|
if ($use_field)
|
||||||
|
{
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
eval UPDATE t1 SET c=$update_source WHERE c;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
}
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
eval UPDATE t1 SET c=$update_source WHERE c IS FALSE;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
eval UPDATE t1 SET c=$update_source WHERE c IS TRUE;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
eval UPDATE t1 SET c=$update_source WHERE COALESCE(c);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
if ($use_string_func)
|
||||||
|
{
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
eval UPDATE t1 SET c=$update_source WHERE COALESCE(c);
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
}
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # <check constraint definition>
|
||||||
|
--echo # CHECK <left paren> <search condition> <right paren>
|
||||||
|
|
||||||
|
if ($use_field)
|
||||||
|
{
|
||||||
|
CREATE TABLE t1 LIKE t0;
|
||||||
|
ALTER TABLE t1 ADD CONSTRAINT check0 CHECK(c);
|
||||||
|
--error ER_CONSTRAINT_FAILED
|
||||||
|
INSERT INTO t1 SELECT * FROM t0 WHERE NOT c;
|
||||||
|
INSERT INTO t1 SELECT * FROM t0 WHERE c;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
}
|
||||||
|
|
||||||
|
CREATE TABLE t1 LIKE t0;
|
||||||
|
ALTER TABLE t1 ADD CONSTRAINT check0 CHECK(c IS FALSE);
|
||||||
|
INSERT INTO t1 SELECT * FROM t0 WHERE c IS FALSE;
|
||||||
|
--error ER_CONSTRAINT_FAILED
|
||||||
|
INSERT INTO t1 SELECT * FROM t0 WHERE c IS TRUE;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 LIKE t0;
|
||||||
|
ALTER TABLE t1 ADD CONSTRAINT check0 CHECK(c IS TRUE);
|
||||||
|
--error ER_CONSTRAINT_FAILED
|
||||||
|
INSERT INTO t1 SELECT * FROM t0 WHERE c IS FALSE;
|
||||||
|
INSERT INTO t1 SELECT * FROM t0 WHERE c IS TRUE;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
CREATE TABLE t1 LIKE t0;
|
||||||
|
ALTER TABLE t1 ADD CONSTRAINT check0 CHECK(COALESCE(c));
|
||||||
|
--error ER_CONSTRAINT_FAILED
|
||||||
|
INSERT INTO t1 SELECT * FROM t0 WHERE c IS FALSE;
|
||||||
|
INSERT INTO t1 SELECT * FROM t0 WHERE c IS TRUE;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # <case expression>
|
||||||
|
--echo # WHEN <search condition> THEN <result>
|
||||||
|
|
||||||
|
CREATE TABLE t1 AS SELECT * FROM t0;
|
||||||
|
SELECT c, CASE WHEN c THEN 'true' ELSE 'false' END AS c2 FROM t1;
|
||||||
|
SELECT c, CASE WHEN COALESCE(c) THEN 'true' ELSE 'false' END AS c2 FROM t1;
|
||||||
|
DROP TABLE t1;
|
@ -18,6 +18,10 @@
|
|||||||
# Optionally, SEARCH_ABORT can be set to "FOUND" or "NOT FOUND" and this
|
# Optionally, SEARCH_ABORT can be set to "FOUND" or "NOT FOUND" and this
|
||||||
# will abort if the search result doesn't match the requested one.
|
# will abort if the search result doesn't match the requested one.
|
||||||
#
|
#
|
||||||
|
# Optionally, SEARCH_WAIT can be set to "FOUND" or "NOT FOUND", and this
|
||||||
|
# will wait for the condition to occur. The timeout can be set in
|
||||||
|
# SEARCH_TIMEOUT, default is 60 seconds.
|
||||||
|
#
|
||||||
# Optionally, SEARCH_OUTPUT can be set to control the format of output.
|
# Optionally, SEARCH_OUTPUT can be set to control the format of output.
|
||||||
# Supported formats:
|
# Supported formats:
|
||||||
# - (default) : "FOUND n /pattern/ in FILE " or "NOT FOUND ..."
|
# - (default) : "FOUND n /pattern/ in FILE " or "NOT FOUND ..."
|
||||||
@ -55,31 +59,50 @@ perl;
|
|||||||
my @search_files= glob($ENV{SEARCH_FILE});
|
my @search_files= glob($ENV{SEARCH_FILE});
|
||||||
my $search_pattern= $ENV{SEARCH_PATTERN} or die "SEARCH_PATTERN not set";
|
my $search_pattern= $ENV{SEARCH_PATTERN} or die "SEARCH_PATTERN not set";
|
||||||
my $search_range= $ENV{SEARCH_RANGE};
|
my $search_range= $ENV{SEARCH_RANGE};
|
||||||
my $content;
|
my $timeout= $ENV{SEARCH_TIMEOUT} || 60;
|
||||||
foreach my $search_file (@search_files) {
|
my @matches;
|
||||||
open(FILE, '<', $search_file) || die("Can't open file $search_file: $!");
|
my $res;
|
||||||
my $file_content;
|
|
||||||
if ($search_range > 0) {
|
my $start_time= time();
|
||||||
read(FILE, $file_content, $search_range, 0);
|
for (;;) {
|
||||||
} elsif ($search_range < 0) {
|
my $content;
|
||||||
my $size= -s $search_file;
|
foreach my $search_file (@search_files) {
|
||||||
$search_range = -$size if $size > -$search_range;
|
open(FILE, '<', $search_file) || die("Can't open file $search_file: $!");
|
||||||
seek(FILE, $search_range, 2);
|
my $file_content;
|
||||||
read(FILE, $file_content, -$search_range, 0);
|
if ($search_range > 0) {
|
||||||
} else {
|
read(FILE, $file_content, $search_range, 0);
|
||||||
while(<FILE>) { # error log
|
} elsif ($search_range < 0) {
|
||||||
if (/^CURRENT_TEST:/) {
|
my $size= -s $search_file;
|
||||||
$content='';
|
$search_range = -$size if $size > -$search_range;
|
||||||
|
seek(FILE, $search_range, 2);
|
||||||
|
read(FILE, $file_content, -$search_range, 0);
|
||||||
} else {
|
} else {
|
||||||
$content.=$_;
|
while(<FILE>) { # error log
|
||||||
|
if (/^CURRENT_TEST:/) {
|
||||||
|
$content='';
|
||||||
|
} else {
|
||||||
|
$content.=$_;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
close(FILE);
|
||||||
|
$content.= $file_content;
|
||||||
}
|
}
|
||||||
close(FILE);
|
@matches= ($content =~ /$search_pattern/gs);
|
||||||
$content.= $file_content;
|
$res=@matches ? "FOUND " . scalar(@matches) : "NOT FOUND";
|
||||||
|
|
||||||
|
if (($ENV{SEARCH_WAIT} eq 'FOUND' && $res eq 'NOT FOUND') ||
|
||||||
|
($ENV{SEARCH_WAIT} eq 'NOT FOUND' && $res =~ m{^FOUND })) {
|
||||||
|
if (time() - $start_time < $timeout) {
|
||||||
|
# Millisceond sleep emulated with select
|
||||||
|
select(undef, undef, undef, 0.1);
|
||||||
|
next;
|
||||||
|
}
|
||||||
|
die "Timeout waiting for $ENV{SEARCH_WAIT} ".
|
||||||
|
"for /$search_pattern/ in $ENV{SEARCH_FILE}\n";
|
||||||
|
}
|
||||||
|
last;
|
||||||
}
|
}
|
||||||
my @matches= ($content =~ /$search_pattern/gs);
|
|
||||||
my $res=@matches ? "FOUND " . scalar(@matches) : "NOT FOUND";
|
|
||||||
|
|
||||||
$ENV{SEARCH_FILE} =~ s{^.*?([^/\\]+)$}{$1};
|
$ENV{SEARCH_FILE} =~ s{^.*?([^/\\]+)$}{$1};
|
||||||
|
|
||||||
|
@ -114,6 +114,10 @@ sub create_process {
|
|||||||
|
|
||||||
lock($win32_spawn_lock);
|
lock($win32_spawn_lock);
|
||||||
|
|
||||||
|
# STDOUT/STDERR are temporarily reassigned, avoid prevent
|
||||||
|
# output from another thread
|
||||||
|
lock($mtr_report::flush_lock);
|
||||||
|
|
||||||
#printf STDERR "stdin %d, stdout %d, stderr %d\n",
|
#printf STDERR "stdin %d, stdout %d, stderr %d\n",
|
||||||
# fileno STDIN, fileno STDOUT, fileno STDERR;
|
# fileno STDIN, fileno STDOUT, fileno STDERR;
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ sub flush_out {
|
|||||||
}
|
}
|
||||||
|
|
||||||
use if $^O eq "MSWin32", "threads::shared";
|
use if $^O eq "MSWin32", "threads::shared";
|
||||||
my $flush_lock :shared;
|
our $flush_lock :shared;
|
||||||
|
|
||||||
# Print to stdout
|
# Print to stdout
|
||||||
sub print_out {
|
sub print_out {
|
||||||
|
@ -59,7 +59,7 @@ SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA',
|
|||||||
Kundentyp kategorie
|
Kundentyp kategorie
|
||||||
Privat (Private Nutzung) Mobilfunk
|
Privat (Private Nutzung) Mobilfunk
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1052 Column 'kundentyp' in group statement is ambiguous
|
Warning 1052 Column 'kundentyp' in GROUP BY is ambiguous
|
||||||
drop table t1;
|
drop table t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
AUFNR varchar(12) NOT NULL default '',
|
AUFNR varchar(12) NOT NULL default '',
|
||||||
|
@ -690,7 +690,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
|||||||
alter table table_24562 order by (select 12 from dual);
|
alter table table_24562 order by (select 12 from dual);
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(select 12 from dual)' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(select 12 from dual)' at line 1
|
||||||
alter table table_24562 order by no_such_col;
|
alter table table_24562 order by no_such_col;
|
||||||
ERROR 42S22: Unknown column 'no_such_col' in 'order clause'
|
ERROR 42S22: Unknown column 'no_such_col' in 'ORDER BY'
|
||||||
drop table table_24562;
|
drop table table_24562;
|
||||||
create table t1 (mycol int(10) not null);
|
create table t1 (mycol int(10) not null);
|
||||||
alter table t1 alter column mycol set default 0;
|
alter table t1 alter column mycol set default 0;
|
||||||
|
@ -228,7 +228,7 @@ ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function
|
|||||||
UPDATE t2 SET f = f + 10;
|
UPDATE t2 SET f = f + 10;
|
||||||
ERROR 42S22: Unknown column 'd' in 'NEW'
|
ERROR 42S22: Unknown column 'd' in 'NEW'
|
||||||
CALL sp1();
|
CALL sp1();
|
||||||
ERROR 42S22: Unknown column 'd' in 'field list'
|
ERROR 42S22: Unknown column 'd' in 'INSERT INTO'
|
||||||
DROP TRIGGER trg1;
|
DROP TRIGGER trg1;
|
||||||
DROP PROCEDURE sp1;
|
DROP PROCEDURE sp1;
|
||||||
CREATE TABLE t_gen(a INT, b DOUBLE GENERATED ALWAYS AS (SQRT(a)));
|
CREATE TABLE t_gen(a INT, b DOUBLE GENERATED ALWAYS AS (SQRT(a)));
|
||||||
|
@ -30,7 +30,7 @@ drop table t;
|
|||||||
create table t (c double precision key,c2 char,c3 year);
|
create table t (c double precision key,c2 char,c3 year);
|
||||||
insert into t values (7,3,1);
|
insert into t values (7,3,1);
|
||||||
select a from t where a=all (select a from t where b=2 union select a from t where b=2);
|
select a from t where a=all (select a from t where b=2 union select a from t where b=2);
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SELECT'
|
||||||
insert into t values (3,1,1);
|
insert into t values (3,1,1);
|
||||||
alter table t change c c date,add key(c);
|
alter table t change c c date,add key(c);
|
||||||
ERROR 22007: Incorrect date value: '7' for column `test`.`t`.`c` at row 1
|
ERROR 22007: Incorrect date value: '7' for column `test`.`t`.`c` at row 1
|
||||||
|
@ -204,17 +204,17 @@ drop table t0, t1;
|
|||||||
create table t1 (i int);
|
create table t1 (i int);
|
||||||
insert into t1 values (1),(2);
|
insert into t1 values (1),(2);
|
||||||
analyze select a from t1;
|
analyze select a from t1;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SELECT'
|
||||||
analyze delete from t1 where a=2;
|
analyze delete from t1 where a=2;
|
||||||
ERROR 42S22: Unknown column 'a' in 'where clause'
|
ERROR 42S22: Unknown column 'a' in 'WHERE'
|
||||||
analyze update t1 set a=2;
|
analyze update t1 set a=2;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SET'
|
||||||
create table t2 like t1;
|
create table t2 like t1;
|
||||||
insert into t2 select * from t1;
|
insert into t2 select * from t1;
|
||||||
analyze update t2,t1 set t2.i=5 where t2.a=t1.a;
|
analyze update t2,t1 set t2.i=5 where t2.a=t1.a;
|
||||||
ERROR 42S22: Unknown column 't2.a' in 'where clause'
|
ERROR 42S22: Unknown column 't2.a' in 'WHERE'
|
||||||
analyze delete t1 from t2,t1 where t2.a=t1.a;
|
analyze delete t1 from t2,t1 where t2.a=t1.a;
|
||||||
ERROR 42S22: Unknown column 't2.a' in 'where clause'
|
ERROR 42S22: Unknown column 't2.a' in 'WHERE'
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
#
|
#
|
||||||
# MDEV-6395: ANALYZE UPDATE/DELETE with impossible where does not produce any output
|
# MDEV-6395: ANALYZE UPDATE/DELETE with impossible where does not produce any output
|
||||||
|
@ -2918,10 +2918,8 @@ CREATE TABLE t1 (a VARCHAR(500) COMPRESSED CHARACTER SET utf8mb3) ENGINE=InnoDB;
|
|||||||
INSERT INTO t1 SET a=REPEAT('x',127);
|
INSERT INTO t1 SET a=REPEAT('x',127);
|
||||||
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
|
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
#
|
|
||||||
# MDEV-19727 Add Type_handler::Key_part_spec_init_ft
|
# MDEV-19727 Add Type_handler::Key_part_spec_init_ft
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a VARCHAR(1000) COMPRESSED, FULLTEXT INDEX(a));
|
CREATE TABLE t1 (a VARCHAR(1000) COMPRESSED, FULLTEXT INDEX(a));
|
||||||
@ -2929,5 +2927,20 @@ ERROR HY000: Compressed column 'a' can't be used in key specification
|
|||||||
CREATE TABLE t1 (a TEXT COMPRESSED, FULLTEXT INDEX(a));
|
CREATE TABLE t1 (a TEXT COMPRESSED, FULLTEXT INDEX(a));
|
||||||
ERROR HY000: Compressed column 'a' can't be used in key specification
|
ERROR HY000: Compressed column 'a' can't be used in key specification
|
||||||
#
|
#
|
||||||
# End of 10.5 tests
|
# MDEV-16699 heap-use-after-free in group_concat with compressed or GIS columns
|
||||||
#
|
#
|
||||||
|
create table t1 (c text compressed);
|
||||||
|
insert into t1 values ('foo'),(repeat('a',55000));
|
||||||
|
select length(group_concat(c order by 1)) from t1;
|
||||||
|
length(group_concat(c order by 1))
|
||||||
|
55004
|
||||||
|
create table t2 as select group_concat(c order by 1), concat(c), c from t1;
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`group_concat(c order by 1)` mediumtext DEFAULT NULL,
|
||||||
|
`concat(c)` text DEFAULT NULL,
|
||||||
|
`c` text /*M!100301 COMPRESSED*/ DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||||
|
drop table t1, t2;
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -453,10 +453,7 @@ INSERT INTO t1 SET a=REPEAT('x',127);
|
|||||||
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
|
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
--echo #
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-19727 Add Type_handler::Key_part_spec_init_ft
|
--echo # MDEV-19727 Add Type_handler::Key_part_spec_init_ft
|
||||||
@ -476,5 +473,13 @@ CREATE TABLE t1 (a TEXT COMPRESSED, FULLTEXT INDEX(a));
|
|||||||
|
|
||||||
--disable_prepare_warnings
|
--disable_prepare_warnings
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.5 tests
|
--echo # MDEV-16699 heap-use-after-free in group_concat with compressed or GIS columns
|
||||||
--echo #
|
--echo #
|
||||||
|
create table t1 (c text compressed);
|
||||||
|
insert into t1 values ('foo'),(repeat('a',55000));
|
||||||
|
select length(group_concat(c order by 1)) from t1;
|
||||||
|
create table t2 as select group_concat(c order by 1), concat(c), c from t1;
|
||||||
|
show create table t2;
|
||||||
|
drop table t1, t2;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
@ -2169,7 +2169,7 @@ SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA',
|
|||||||
Kundentyp kategorie
|
Kundentyp kategorie
|
||||||
Privat (Private Nutzung) Mobilfunk
|
Privat (Private Nutzung) Mobilfunk
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1052 Column 'kundentyp' in group statement is ambiguous
|
Warning 1052 Column 'kundentyp' in GROUP BY is ambiguous
|
||||||
drop table t1;
|
drop table t1;
|
||||||
SHOW STATUS LIKE 'Compression';
|
SHOW STATUS LIKE 'Compression';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
|
@ -461,11 +461,13 @@ Connection_errors_max_connections 0
|
|||||||
Connection_errors_peer_address 0
|
Connection_errors_peer_address 0
|
||||||
Connection_errors_select 0
|
Connection_errors_select 0
|
||||||
Connection_errors_tcpwrap 0
|
Connection_errors_tcpwrap 0
|
||||||
|
show global status like 'Threads_connected';
|
||||||
|
Variable_name Value
|
||||||
|
Threads_connected 1
|
||||||
set @max_con.save= @@max_connections;
|
set @max_con.save= @@max_connections;
|
||||||
set global max_connections= 10;
|
set global max_connections= 10;
|
||||||
# ERROR 1040
|
# ERROR 1040
|
||||||
# ERROR 1040
|
# ERROR 1040
|
||||||
connection default;
|
|
||||||
show global status like 'Connection_errors%';
|
show global status like 'Connection_errors%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Connection_errors_accept 0
|
Connection_errors_accept 0
|
||||||
|
@ -517,6 +517,7 @@ SET GLOBAL connect_timeout= @save_connect_timeout;
|
|||||||
flush status;
|
flush status;
|
||||||
|
|
||||||
show global status like 'Connection_errors%';
|
show global status like 'Connection_errors%';
|
||||||
|
show global status like 'Threads_connected';
|
||||||
|
|
||||||
set @max_con.save= @@max_connections;
|
set @max_con.save= @@max_connections;
|
||||||
set global max_connections= 10;
|
set global max_connections= 10;
|
||||||
@ -534,9 +535,25 @@ while ($n)
|
|||||||
--dec $n
|
--dec $n
|
||||||
}
|
}
|
||||||
|
|
||||||
|
connection default;
|
||||||
|
let $n= 10;
|
||||||
|
let $c= 12;
|
||||||
|
while ($n)
|
||||||
|
{
|
||||||
|
disconnect con$c;
|
||||||
|
--dec $n
|
||||||
|
--dec $c
|
||||||
|
}
|
||||||
|
|
||||||
|
# Wait until all connections has terminated to ensure
|
||||||
|
# that Connection_errors is correct
|
||||||
|
|
||||||
|
let $status_var=Threads_connected;
|
||||||
|
let $status_var_value= 1;
|
||||||
|
--source include/wait_for_status_var.inc
|
||||||
|
|
||||||
--enable_result_log
|
--enable_result_log
|
||||||
--enable_query_log
|
--enable_query_log
|
||||||
--connection default
|
|
||||||
show global status like 'Connection_errors%';
|
show global status like 'Connection_errors%';
|
||||||
set global max_connections= @max_con.save;
|
set global max_connections= @max_con.save;
|
||||||
|
|
||||||
|
@ -748,7 +748,7 @@ ERROR HY000: No anchors for recursive WITH element 's'
|
|||||||
#erroneous definition of unreferenced with table t
|
#erroneous definition of unreferenced with table t
|
||||||
with t as (select count(*) from t1 where d>='f' group by a)
|
with t as (select count(*) from t1 where d>='f' group by a)
|
||||||
select t1.b from t2,t1 where t1.a = t2.c;
|
select t1.b from t2,t1 where t1.a = t2.c;
|
||||||
ERROR 42S22: Unknown column 'd' in 'where clause'
|
ERROR 42S22: Unknown column 'd' in 'WHERE'
|
||||||
with t as (select count(*) from t1 where b>='f' group by a)
|
with t as (select count(*) from t1 where b>='f' group by a)
|
||||||
select t1.b from t2,t1 where t1.a = t2.c;
|
select t1.b from t2,t1 where t1.a = t2.c;
|
||||||
b
|
b
|
||||||
@ -760,11 +760,11 @@ ggg
|
|||||||
with t(d) as (select count(*) from t1 where b<='ccc' group by b),
|
with t(d) as (select count(*) from t1 where b<='ccc' group by b),
|
||||||
s as (select * from t1 where a in (select t2.d from t2,t where t2.c=t.d))
|
s as (select * from t1 where a in (select t2.d from t2,t where t2.c=t.d))
|
||||||
select t1.b from t1,t2 where t1.a=t2.c;
|
select t1.b from t1,t2 where t1.a=t2.c;
|
||||||
ERROR 42S22: Unknown column 't2.d' in 'field list'
|
ERROR 42S22: Unknown column 't2.d' in 'SELECT'
|
||||||
with t(d) as (select count(*) from t1 where b<='ccc' group by b),
|
with t(d) as (select count(*) from t1 where b<='ccc' group by b),
|
||||||
s as (select * from t1 where a in (select t2.c from t2,t where t2.c=t.c))
|
s as (select * from t1 where a in (select t2.c from t2,t where t2.c=t.c))
|
||||||
select t1.b from t1,t2 where t1.a=t2.c;
|
select t1.b from t1,t2 where t1.a=t2.c;
|
||||||
ERROR 42S22: Unknown column 't.c' in 'where clause'
|
ERROR 42S22: Unknown column 't.c' in 'WHERE'
|
||||||
with t(d) as (select count(*) from t1 where b<='ccc' group by b),
|
with t(d) as (select count(*) from t1 where b<='ccc' group by b),
|
||||||
s as (select * from t1 where a in (select t2.c from t2,t where t2.c=t.d))
|
s as (select * from t1 where a in (select t2.c from t2,t where t2.c=t.d))
|
||||||
select t1.b from t1,t2 where t1.a=t2.c;
|
select t1.b from t1,t2 where t1.a=t2.c;
|
||||||
@ -1887,13 +1887,13 @@ cte1(a) as (select * from t1 where c1 <= 2),
|
|||||||
cte2(b) as (select * from cte1 where c1 >= 2),
|
cte2(b) as (select * from cte1 where c1 >= 2),
|
||||||
cte3 as (select * from cte1,cte2 where cte1.a < cte2.b)
|
cte3 as (select * from cte1,cte2 where cte1.a < cte2.b)
|
||||||
select * from t2;
|
select * from t2;
|
||||||
ERROR 42S22: Unknown column 'c1' in 'where clause'
|
ERROR 42S22: Unknown column 'c1' in 'WHERE'
|
||||||
with
|
with
|
||||||
cte1(a) as (select * from t1 where c1 <= 2),
|
cte1(a) as (select * from t1 where c1 <= 2),
|
||||||
cte2(b) as (select * from cte1 where a >= 2),
|
cte2(b) as (select * from cte1 where a >= 2),
|
||||||
cte3 as (select * from cte1,cte2 where cte1.a < cte2.c1)
|
cte3 as (select * from cte1,cte2 where cte1.a < cte2.c1)
|
||||||
select * from t2;
|
select * from t2;
|
||||||
ERROR 42S22: Unknown column 'cte2.c1' in 'where clause'
|
ERROR 42S22: Unknown column 'cte2.c1' in 'WHERE'
|
||||||
with
|
with
|
||||||
cte1 as (select * from t1 where c1 <= 2),
|
cte1 as (select * from t1 where c1 <= 2),
|
||||||
cte2(a,b) as (select * from cte1 as s1, cte1 as s2 where s1.c1=s2.c1)
|
cte2(a,b) as (select * from cte1 as s1, cte1 as s2 where s1.c1=s2.c1)
|
||||||
@ -1912,7 +1912,7 @@ with
|
|||||||
cte1 as (select * from t1 where c1 <= 2),
|
cte1 as (select * from t1 where c1 <= 2),
|
||||||
cte2(a,b) as (select * from cte1 as s1, cte1 as s2 where s1.c1=c1)
|
cte2(a,b) as (select * from cte1 as s1, cte1 as s2 where s1.c1=c1)
|
||||||
select * from t2;
|
select * from t2;
|
||||||
ERROR 23000: Column 'c1' in where clause is ambiguous
|
ERROR 23000: Column 'c1' in WHERE is ambiguous
|
||||||
with cte3 as
|
with cte3 as
|
||||||
( with cte2(a,b) as
|
( with cte2(a,b) as
|
||||||
( with cte1 as (select * from t1 where c1 <= 2)
|
( with cte1 as (select * from t1 where c1 <= 2)
|
||||||
@ -1939,7 +1939,7 @@ with cte3 as
|
|||||||
select * from cte1 as s1, cte1 as s2 where s1.c1=s2.c1)
|
select * from cte1 as s1, cte1 as s2 where s1.c1=s2.c1)
|
||||||
select r1.c1,r2.c1 from cte2 as r1, cte2 as r2)
|
select r1.c1,r2.c1 from cte2 as r1, cte2 as r2)
|
||||||
select * from t2;
|
select * from t2;
|
||||||
ERROR 42S22: Unknown column 'r1.c1' in 'field list'
|
ERROR 42S22: Unknown column 'r1.c1' in 'SELECT'
|
||||||
create procedure p1()
|
create procedure p1()
|
||||||
begin
|
begin
|
||||||
insert into t2
|
insert into t2
|
||||||
@ -1960,7 +1960,7 @@ with cte1 as (select a from t1)
|
|||||||
select * from t1 as s, t1 as t where s.c1=t.c1 and s.c1 <= 2 and t.c1 >= 2;
|
select * from t1 as s, t1 as t where s.c1=t.c1 and s.c1 <= 2 and t.c1 >= 2;
|
||||||
end |
|
end |
|
||||||
call p1();
|
call p1();
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SELECT'
|
||||||
drop procedure p1;
|
drop procedure p1;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
#
|
#
|
||||||
|
@ -4732,33 +4732,33 @@ insert into t1 values (3), (7), (1);
|
|||||||
with recursive
|
with recursive
|
||||||
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
|
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
|
||||||
select * from t1 as t;
|
select * from t1 as t;
|
||||||
ERROR 42S22: Unknown column 'r.b' in 'where clause'
|
ERROR 42S22: Unknown column 'r.b' in 'WHERE'
|
||||||
explain with recursive
|
explain with recursive
|
||||||
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
|
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
|
||||||
select * from t1 as t;
|
select * from t1 as t;
|
||||||
ERROR 42S22: Unknown column 'r.b' in 'where clause'
|
ERROR 42S22: Unknown column 'r.b' in 'WHERE'
|
||||||
create procedure sp1() with recursive
|
create procedure sp1() with recursive
|
||||||
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
|
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
|
||||||
select * from t1 as t;
|
select * from t1 as t;
|
||||||
call sp1();
|
call sp1();
|
||||||
ERROR 42S22: Unknown column 'r.b' in 'where clause'
|
ERROR 42S22: Unknown column 'r.b' in 'WHERE'
|
||||||
call sp1();
|
call sp1();
|
||||||
ERROR 42S22: Unknown column 'r.b' in 'where clause'
|
ERROR 42S22: Unknown column 'r.b' in 'WHERE'
|
||||||
with recursive
|
with recursive
|
||||||
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
|
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
|
||||||
select * from t1 as t;
|
select * from t1 as t;
|
||||||
ERROR 42S22: Unknown column 's1.b' in 'where clause'
|
ERROR 42S22: Unknown column 's1.b' in 'WHERE'
|
||||||
explain with recursive
|
explain with recursive
|
||||||
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
|
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
|
||||||
select * from t1 as t;
|
select * from t1 as t;
|
||||||
ERROR 42S22: Unknown column 's1.b' in 'where clause'
|
ERROR 42S22: Unknown column 's1.b' in 'WHERE'
|
||||||
create procedure sp2() with recursive
|
create procedure sp2() with recursive
|
||||||
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
|
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
|
||||||
select * from t1 as t;
|
select * from t1 as t;
|
||||||
call sp2();
|
call sp2();
|
||||||
ERROR 42S22: Unknown column 's1.b' in 'where clause'
|
ERROR 42S22: Unknown column 's1.b' in 'WHERE'
|
||||||
call sp2();
|
call sp2();
|
||||||
ERROR 42S22: Unknown column 's1.b' in 'where clause'
|
ERROR 42S22: Unknown column 's1.b' in 'WHERE'
|
||||||
drop procedure sp1;
|
drop procedure sp1;
|
||||||
drop procedure sp2;
|
drop procedure sp2;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -3025,6 +3025,15 @@ HEX(DATE_FORMAT(TIME'11:22:33',@format))
|
|||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
# MDEV-31221 UBSAN runtime error: negation of -9223372036854775808 cannot be represented in type 'long long int' in my_strtoll10_utf32
|
||||||
|
#
|
||||||
|
SELECT CAST(CONVERT('-9223372036854775808' USING utf32) AS SIGNED) AS c1;
|
||||||
|
c1
|
||||||
|
-9223372036854775808
|
||||||
|
#
|
||||||
|
# End of 10.5 tests
|
||||||
|
#
|
||||||
|
#
|
||||||
# Start of 10.11 tests
|
# Start of 10.11 tests
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -1161,6 +1161,16 @@ SELECT HEX(DATE_FORMAT(TIME'11:22:33',@format));
|
|||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-31221 UBSAN runtime error: negation of -9223372036854775808 cannot be represented in type 'long long int' in my_strtoll10_utf32
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SELECT CAST(CONVERT('-9223372036854775808' USING utf32) AS SIGNED) AS c1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
--echo #
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Start of 10.11 tests
|
--echo # Start of 10.11 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -253,7 +253,7 @@ CREATE TABLE t1 (a INT);
|
|||||||
INSERT DELAYED INTO t1 SET a= b();
|
INSERT DELAYED INTO t1 SET a= b();
|
||||||
ERROR 42000: FUNCTION test.b does not exist
|
ERROR 42000: FUNCTION test.b does not exist
|
||||||
INSERT DELAYED INTO t1 SET b= 1;
|
INSERT DELAYED INTO t1 SET b= 1;
|
||||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
ERROR 42S22: Unknown column 'b' in 'INSERT INTO'
|
||||||
INSERT DELAYED INTO t1 SET b= b();
|
INSERT DELAYED INTO t1 SET b= b();
|
||||||
ERROR 42000: FUNCTION test.b does not exist
|
ERROR 42000: FUNCTION test.b does not exist
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
@ -53,7 +53,7 @@ CREATE TABLE `t1` (
|
|||||||
PRIMARY KEY (`i`)
|
PRIMARY KEY (`i`)
|
||||||
);
|
);
|
||||||
DELETE FROM t1 USING t1 WHERE post='1';
|
DELETE FROM t1 USING t1 WHERE post='1';
|
||||||
ERROR 42S22: Unknown column 'post' in 'where clause'
|
ERROR 42S22: Unknown column 'post' in 'WHERE'
|
||||||
drop table t1;
|
drop table t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
bool char(0) default NULL,
|
bool char(0) default NULL,
|
||||||
@ -236,11 +236,11 @@ drop table t1;
|
|||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (1);
|
INSERT INTO t1 VALUES (1);
|
||||||
DELETE FROM t1 ORDER BY x;
|
DELETE FROM t1 ORDER BY x;
|
||||||
ERROR 42S22: Unknown column 'x' in 'order clause'
|
ERROR 42S22: Unknown column 'x' in 'ORDER BY'
|
||||||
DELETE FROM t1 ORDER BY t2.x;
|
DELETE FROM t1 ORDER BY t2.x;
|
||||||
ERROR 42S22: Unknown column 't2.x' in 'order clause'
|
ERROR 42S22: Unknown column 't2.x' in 'ORDER BY'
|
||||||
DELETE FROM t1 ORDER BY (SELECT x);
|
DELETE FROM t1 ORDER BY (SELECT x);
|
||||||
ERROR 42S22: Unknown column 'x' in 'field list'
|
ERROR 42S22: Unknown column 'x' in 'SELECT'
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
a INT
|
a INT
|
||||||
|
@ -633,7 +633,9 @@ drop table t1,t2,t3;
|
|||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
SET @sort_buffer_size_save= @@sort_buffer_size;
|
SET @sort_buffer_size_save= @@sort_buffer_size;
|
||||||
|
--disable_warnings
|
||||||
SET sort_buffer_size=1125899906842624;
|
SET sort_buffer_size=1125899906842624;
|
||||||
|
--enable_warnings
|
||||||
CREATE TABLE t1 (a INT,b CHAR,KEY(a,b));
|
CREATE TABLE t1 (a INT,b CHAR,KEY(a,b));
|
||||||
DELETE a1 FROM t1 AS a1,t1 AS a2 WHERE a1.a=a2.a;
|
DELETE a1 FROM t1 AS a1,t1 AS a2 WHERE a1.a=a2.a;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
@ -42,7 +42,7 @@ a b
|
|||||||
5 EEEEE
|
5 EEEEE
|
||||||
7 GGGGGGG
|
7 GGGGGGG
|
||||||
DELETE FROM t1 WHERE a=2 RETURNING c;
|
DELETE FROM t1 WHERE a=2 RETURNING c;
|
||||||
ERROR 42S22: Unknown column 'c' in 'field list'
|
ERROR 42S22: Unknown column 'c' in 'RETURNING'
|
||||||
INSERT INTO t1 VALUES (2,'BB'), (2,'bb');
|
INSERT INTO t1 VALUES (2,'BB'), (2,'bb');
|
||||||
DELETE FROM t1 WHERE a=2 RETURNING a, UPPER(b);
|
DELETE FROM t1 WHERE a=2 RETURNING a, UPPER(b);
|
||||||
a UPPER(b)
|
a UPPER(b)
|
||||||
|
@ -5,9 +5,9 @@ select * from (select 2 from DUAL) b;
|
|||||||
2
|
2
|
||||||
2
|
2
|
||||||
SELECT 1 as a FROM (SELECT 1 UNION SELECT a) b;
|
SELECT 1 as a FROM (SELECT 1 UNION SELECT a) b;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SELECT'
|
||||||
SELECT 1 as a FROM (SELECT a UNION SELECT 1) b;
|
SELECT 1 as a FROM (SELECT a UNION SELECT 1) b;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SELECT'
|
||||||
CREATE TABLE t1 (a int not null, b char (10) not null);
|
CREATE TABLE t1 (a int not null, b char (10) not null);
|
||||||
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
|
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
|
||||||
CREATE TABLE t2 (a int not null, b char (10) not null);
|
CREATE TABLE t2 (a int not null, b char (10) not null);
|
||||||
@ -27,18 +27,18 @@ a y
|
|||||||
3 3
|
3 3
|
||||||
3 3
|
3 3
|
||||||
SELECT a FROM (SELECT 1 FROM (SELECT 1) a HAVING a=1) b;
|
SELECT a FROM (SELECT 1 FROM (SELECT 1) a HAVING a=1) b;
|
||||||
ERROR 42S22: Unknown column 'a' in 'having clause'
|
ERROR 42S22: Unknown column 'a' in 'HAVING'
|
||||||
SELECT a,b as a FROM (SELECT '1' as a,'2' as b) b HAVING a=1;
|
SELECT a,b as a FROM (SELECT '1' as a,'2' as b) b HAVING a=1;
|
||||||
ERROR 23000: Column 'a' in having clause is ambiguous
|
ERROR 23000: Column 'a' in HAVING is ambiguous
|
||||||
SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=2;
|
SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=2;
|
||||||
a a
|
a a
|
||||||
1 2
|
1 2
|
||||||
SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=1;
|
SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=1;
|
||||||
a a
|
a a
|
||||||
SELECT 1 FROM (SELECT 1) a WHERE a=2;
|
SELECT 1 FROM (SELECT 1) a WHERE a=2;
|
||||||
ERROR 42S22: Unknown column 'a' in 'where clause'
|
ERROR 42S22: Unknown column 'a' in 'WHERE'
|
||||||
SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) as a;
|
SELECT (SELECT 1) as a FROM (SELECT 1 FROM t1 HAVING a=1) as a;
|
||||||
ERROR 42S22: Unknown column 'a' in 'having clause'
|
ERROR 42S22: Unknown column 'a' in 'HAVING'
|
||||||
select * from t1 as x1, (select * from t1) as x2;
|
select * from t1 as x1, (select * from t1) as x2;
|
||||||
a b a b
|
a b a b
|
||||||
1 a 1 a
|
1 a 1 a
|
||||||
@ -154,13 +154,13 @@ select * from (select 1 as a) b left join (select 2 as a) c using(a);
|
|||||||
a
|
a
|
||||||
1
|
1
|
||||||
SELECT * FROM (SELECT 1 UNION SELECT a) b;
|
SELECT * FROM (SELECT 1 UNION SELECT a) b;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SELECT'
|
||||||
SELECT 1 as a FROM (SELECT a UNION SELECT 1) b;
|
SELECT 1 as a FROM (SELECT a UNION SELECT 1) b;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SELECT'
|
||||||
SELECT 1 as a FROM (SELECT 1 UNION SELECT a) b;
|
SELECT 1 as a FROM (SELECT 1 UNION SELECT a) b;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'SELECT'
|
||||||
select 1 from (select 2) a order by 0;
|
select 1 from (select 2) a order by 0;
|
||||||
ERROR 42S22: Unknown column '0' in 'order clause'
|
ERROR 42S22: Unknown column '0' in 'ORDER BY'
|
||||||
create table t1 (id int);
|
create table t1 (id int);
|
||||||
insert into t1 values (1),(2),(3);
|
insert into t1 values (1),(2),(3);
|
||||||
describe select * from (select * from t1 group by id) bar;
|
describe select * from (select * from t1 group by id) bar;
|
||||||
@ -277,7 +277,7 @@ N M
|
|||||||
UPDATE `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2, P2.N = 2;
|
UPDATE `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2, P2.N = 2;
|
||||||
ERROR HY000: The target table P2 of the UPDATE is not updatable
|
ERROR HY000: The target table P2 of the UPDATE is not updatable
|
||||||
UPDATE `t1` AS P1 INNER JOIN (SELECT aaaa FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2;
|
UPDATE `t1` AS P1 INNER JOIN (SELECT aaaa FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N SET P1.M = 2;
|
||||||
ERROR 42S22: Unknown column 'aaaa' in 'field list'
|
ERROR 42S22: Unknown column 'aaaa' in 'SELECT'
|
||||||
delete P1.* from `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N;
|
delete P1.* from `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
N M
|
N M
|
||||||
@ -285,7 +285,7 @@ N M
|
|||||||
delete P1.*,p2.* from `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS p2 ON P1.N = p2.N;
|
delete P1.*,p2.* from `t1` AS P1 INNER JOIN (SELECT N FROM `t1` GROUP BY N HAVING Count(M) > 1) AS p2 ON P1.N = p2.N;
|
||||||
ERROR HY000: The target table p2 of the DELETE is not updatable
|
ERROR HY000: The target table p2 of the DELETE is not updatable
|
||||||
delete P1.* from `t1` AS P1 INNER JOIN (SELECT aaa FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N;
|
delete P1.* from `t1` AS P1 INNER JOIN (SELECT aaa FROM `t1` GROUP BY N HAVING Count(M) > 1) AS P2 ON P1.N = P2.N;
|
||||||
ERROR 42S22: Unknown column 'aaa' in 'field list'
|
ERROR 42S22: Unknown column 'aaa' in 'SELECT'
|
||||||
drop table t1;
|
drop table t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
OBJECTID int(11) NOT NULL default '0',
|
OBJECTID int(11) NOT NULL default '0',
|
||||||
@ -477,7 +477,7 @@ t1.id=t3.val
|
|||||||
set
|
set
|
||||||
t1.val=t3.val
|
t1.val=t3.val
|
||||||
;
|
;
|
||||||
ERROR 42S22: Unknown column 'v.val' in 'field list'
|
ERROR 42S22: Unknown column 'v.val' in 'SELECT'
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
#
|
#
|
||||||
# MDEV-5353: server crash on subselect if WHERE applied to some
|
# MDEV-5353: server crash on subselect if WHERE applied to some
|
||||||
@ -1363,7 +1363,7 @@ DROP TABLE t1;
|
|||||||
SELECT 1 FROM (
|
SELECT 1 FROM (
|
||||||
SELECT 1 UNION SELECT 2 ORDER BY (SELECT 1 FROM DUAL WHERE xxx = 0)
|
SELECT 1 UNION SELECT 2 ORDER BY (SELECT 1 FROM DUAL WHERE xxx = 0)
|
||||||
) dt;
|
) dt;
|
||||||
ERROR 42S22: Unknown column 'xxx' in 'where clause'
|
ERROR 42S22: Unknown column 'xxx' in 'WHERE'
|
||||||
create table t1 (a int, b int);
|
create table t1 (a int, b int);
|
||||||
insert into t1 values (3,8), (7,2), (1,4), (5,9);
|
insert into t1 values (3,8), (7,2), (1,4), (5,9);
|
||||||
create table t2 (a int, b int);
|
create table t2 (a int, b int);
|
||||||
@ -1377,7 +1377,7 @@ union
|
|||||||
select a,b from t2 where t2.b < 6
|
select a,b from t2 where t2.b < 6
|
||||||
order by (a - b / (select a + max(c) from t3 where d = x))
|
order by (a - b / (select a + max(c) from t3 where d = x))
|
||||||
) dt;
|
) dt;
|
||||||
ERROR 42S22: Unknown column 'x' in 'where clause'
|
ERROR 42S22: Unknown column 'x' in 'WHERE'
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
#
|
#
|
||||||
# End of 10.3 tests
|
# End of 10.3 tests
|
||||||
@ -1862,3 +1862,19 @@ pk a
|
|||||||
deallocate prepare stmt;
|
deallocate prepare stmt;
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
# End of MariaDB 11.1 tests
|
# End of MariaDB 11.1 tests
|
||||||
|
#
|
||||||
|
# MDEV-34880: Incorrect result for query with derived table having TEXT field
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, notes TEXT NOT NULL);
|
||||||
|
INSERT INTO t1 VALUES (1, 'test1'), (2, 'test2');
|
||||||
|
SELECT dt.* FROM (SELECT * FROM t1 UNION SELECT * FROM t1) dt WHERE id = 1;
|
||||||
|
id notes
|
||||||
|
1 test1
|
||||||
|
SELECT dt.* FROM (SELECT * FROM t1 UNION SELECT * FROM t1) dt WHERE id = 1 AND
|
||||||
|
notes = 'test1';
|
||||||
|
id notes
|
||||||
|
1 test1
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# End of 11.2 tests
|
||||||
|
#
|
||||||
|
@ -1514,3 +1514,20 @@ deallocate prepare stmt;
|
|||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
|
|
||||||
--echo # End of MariaDB 11.1 tests
|
--echo # End of MariaDB 11.1 tests
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-34880: Incorrect result for query with derived table having TEXT field
|
||||||
|
--echo #
|
||||||
|
CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, notes TEXT NOT NULL);
|
||||||
|
INSERT INTO t1 VALUES (1, 'test1'), (2, 'test2');
|
||||||
|
|
||||||
|
SELECT dt.* FROM (SELECT * FROM t1 UNION SELECT * FROM t1) dt WHERE id = 1;
|
||||||
|
|
||||||
|
SELECT dt.* FROM (SELECT * FROM t1 UNION SELECT * FROM t1) dt WHERE id = 1 AND
|
||||||
|
notes = 'test1';
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 11.2 tests
|
||||||
|
--echo #
|
||||||
|
@ -23561,6 +23561,33 @@ EXPLAIN
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
|
#
|
||||||
|
# MDEV-35276: Assertion failure in find_producing_item upon a query
|
||||||
|
# from a view
|
||||||
|
#
|
||||||
|
# Note: for all followng queries with DEFAULT(f) hishdown is
|
||||||
|
# prohibited
|
||||||
|
CREATE VIEW v AS select 0 AS f;
|
||||||
|
SELECT * FROM v WHERE f = DEFAULT(f);
|
||||||
|
f
|
||||||
|
0
|
||||||
|
CREATE TABLE t1 (c int DEFAULT 0);
|
||||||
|
insert into t1 values (0), (1);
|
||||||
|
SELECT * FROM v,t1 WHERE f = DEFAULT(c);
|
||||||
|
f c
|
||||||
|
0 0
|
||||||
|
0 1
|
||||||
|
ALTER TABLE t1 ALTER c SET DEFAULT 1;
|
||||||
|
SELECT * FROM v,t1 WHERE f = DEFAULT(c);
|
||||||
|
f c
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, c int DEFAULT a);
|
||||||
|
insert into t1 values (0, -1), (1, -2);
|
||||||
|
SELECT * FROM v,t1 WHERE f = DEFAULT(c);
|
||||||
|
f a c
|
||||||
|
0 0 -1
|
||||||
|
DROP VIEW v;
|
||||||
|
DROP TABLE t1;
|
||||||
# End of 10.5 tests
|
# End of 10.5 tests
|
||||||
#
|
#
|
||||||
# MDEV-28958: condition pushable into view after simplification
|
# MDEV-28958: condition pushable into view after simplification
|
||||||
|
@ -4389,6 +4389,36 @@ execute stmt;
|
|||||||
|
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-35276: Assertion failure in find_producing_item upon a query
|
||||||
|
--echo # from a view
|
||||||
|
--echo #
|
||||||
|
--echo # Note: for all followng queries with DEFAULT(f) hishdown is
|
||||||
|
--echo # prohibited
|
||||||
|
|
||||||
|
CREATE VIEW v AS select 0 AS f;
|
||||||
|
|
||||||
|
SELECT * FROM v WHERE f = DEFAULT(f);
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c int DEFAULT 0);
|
||||||
|
insert into t1 values (0), (1);
|
||||||
|
|
||||||
|
SELECT * FROM v,t1 WHERE f = DEFAULT(c);
|
||||||
|
|
||||||
|
ALTER TABLE t1 ALTER c SET DEFAULT 1;
|
||||||
|
|
||||||
|
SELECT * FROM v,t1 WHERE f = DEFAULT(c);
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, c int DEFAULT a);
|
||||||
|
insert into t1 values (0, -1), (1, -2);
|
||||||
|
|
||||||
|
SELECT * FROM v,t1 WHERE f = DEFAULT(c);
|
||||||
|
|
||||||
|
DROP VIEW v;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
--echo # End of 10.5 tests
|
--echo # End of 10.5 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -1621,7 +1621,7 @@ ex
|
|||||||
# as a dynamic column name
|
# as a dynamic column name
|
||||||
#
|
#
|
||||||
select COLUMN_CREATE(color, "black");
|
select COLUMN_CREATE(color, "black");
|
||||||
ERROR 42S22: Unknown column 'color' in 'field list'
|
ERROR 42S22: Unknown column 'color' in 'SELECT'
|
||||||
#
|
#
|
||||||
# MDEV-489 Assertion `offset < 0x1f' failed in
|
# MDEV-489 Assertion `offset < 0x1f' failed in
|
||||||
# type_and_offset_store on COLUMN_ADD
|
# type_and_offset_store on COLUMN_ADD
|
||||||
|
@ -45,7 +45,7 @@ t1 CREATE TABLE `t1` (
|
|||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||||
INSERT INTO t1 values (1,'abba');
|
INSERT INTO t1 values (1,'abba');
|
||||||
CREATE TABLE t2 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=Memory;
|
CREATE TABLE t2 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=Memory;
|
||||||
ERROR 42000: Unknown storage engine 'MEMORY'
|
ERROR HY000: The MariaDB server is running with the NO_ENGINE_SUBSTITUTION option so it cannot execute this statement
|
||||||
SET SESSION sql_mode='';
|
SET SESSION sql_mode='';
|
||||||
SET SESSION enforce_storage_engine=MyISAM;
|
SET SESSION enforce_storage_engine=MyISAM;
|
||||||
select @@session.enforce_storage_engine;
|
select @@session.enforce_storage_engine;
|
||||||
|
@ -26,7 +26,7 @@ CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=MyISA
|
|||||||
SHOW CREATE TABLE t1;
|
SHOW CREATE TABLE t1;
|
||||||
INSERT INTO t1 values (1,'abba');
|
INSERT INTO t1 values (1,'abba');
|
||||||
|
|
||||||
--error 1286
|
--error ER_OPTION_PREVENTS_STATEMENT
|
||||||
CREATE TABLE t2 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=Memory;
|
CREATE TABLE t2 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=Memory;
|
||||||
|
|
||||||
SET SESSION sql_mode='';
|
SET SESSION sql_mode='';
|
||||||
|
@ -11,5 +11,5 @@ t1 CREATE TABLE `t1` (
|
|||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||||
set session sql_mode='no_engine_substitution';
|
set session sql_mode='no_engine_substitution';
|
||||||
create table t2 (c1 int primary key auto_increment, c2 varchar(10)) engine=memory;
|
create table t2 (c1 int primary key auto_increment, c2 varchar(10)) engine=memory;
|
||||||
ERROR 42000: Unknown storage engine 'MEMORY'
|
ERROR HY000: The MariaDB server is running with the NO_ENGINE_SUBSTITUTION option so it cannot execute this statement
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -2,6 +2,6 @@ SET SQL_MODE="";
|
|||||||
create table t1 (c1 int primary key auto_increment, c2 varchar(10)) engine=memory;
|
create table t1 (c1 int primary key auto_increment, c2 varchar(10)) engine=memory;
|
||||||
show create table t1;
|
show create table t1;
|
||||||
set session sql_mode='no_engine_substitution';
|
set session sql_mode='no_engine_substitution';
|
||||||
--error 1286
|
--error ER_OPTION_PREVENTS_STATEMENT
|
||||||
create table t2 (c1 int primary key auto_increment, c2 varchar(10)) engine=memory;
|
create table t2 (c1 int primary key auto_increment, c2 varchar(10)) engine=memory;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
@ -7,21 +7,21 @@ update t1 set a=1;
|
|||||||
ERROR 42S02: Table 'test.t1' doesn't exist
|
ERROR 42S02: Table 'test.t1' doesn't exist
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
select count(test.t1.b) from t1;
|
select count(test.t1.b) from t1;
|
||||||
ERROR 42S22: Unknown column 'test.t1.b' in 'field list'
|
ERROR 42S22: Unknown column 'test.t1.b' in 'SELECT'
|
||||||
select count(not_existing_database.t1) from t1;
|
select count(not_existing_database.t1) from t1;
|
||||||
ERROR 42S22: Unknown column 'not_existing_database.t1' in 'field list'
|
ERROR 42S22: Unknown column 'not_existing_database.t1' in 'SELECT'
|
||||||
select count(not_existing_database.t1.a) from t1;
|
select count(not_existing_database.t1.a) from t1;
|
||||||
ERROR 42S22: Unknown column 'not_existing_database.t1.a' in 'field list'
|
ERROR 42S22: Unknown column 'not_existing_database.t1.a' in 'SELECT'
|
||||||
select count(not_existing_database.t1.a) from not_existing_database.t1;
|
select count(not_existing_database.t1.a) from not_existing_database.t1;
|
||||||
Got one of the listed errors
|
Got one of the listed errors
|
||||||
select 1 from t1 order by 2;
|
select 1 from t1 order by 2;
|
||||||
ERROR 42S22: Unknown column '2' in 'order clause'
|
ERROR 42S22: Unknown column '2' in 'ORDER BY'
|
||||||
select 1 from t1 group by 2;
|
select 1 from t1 group by 2;
|
||||||
ERROR 42S22: Unknown column '2' in 'group statement'
|
ERROR 42S22: Unknown column '2' in 'GROUP BY'
|
||||||
select 1 from t1 order by t1.b;
|
select 1 from t1 order by t1.b;
|
||||||
ERROR 42S22: Unknown column 't1.b' in 'order clause'
|
ERROR 42S22: Unknown column 't1.b' in 'ORDER BY'
|
||||||
select count(*),b from t1;
|
select count(*),b from t1;
|
||||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
ERROR 42S22: Unknown column 'b' in 'SELECT'
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (a int(256));
|
create table t1 (a int(256));
|
||||||
ERROR 42000: Display width out of range for 'a' (max = 255)
|
ERROR 42000: Display width out of range for 'a' (max = 255)
|
||||||
@ -45,17 +45,17 @@ Warning 1365 Division by 0
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1( a INT );
|
CREATE TABLE t1( a INT );
|
||||||
SELECT b FROM t1;
|
SELECT b FROM t1;
|
||||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
ERROR 42S22: Unknown column 'b' in 'SELECT'
|
||||||
SHOW ERRORS;
|
SHOW ERRORS;
|
||||||
Level Code Message
|
Level Code Message
|
||||||
Error 1054 Unknown column 'b' in 'field list'
|
Error 1054 Unknown column 'b' in 'SELECT'
|
||||||
CREATE TABLE t2 SELECT b FROM t1;
|
CREATE TABLE t2 SELECT b FROM t1;
|
||||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
ERROR 42S22: Unknown column 'b' in 'SELECT'
|
||||||
SHOW ERRORS;
|
SHOW ERRORS;
|
||||||
Level Code Message
|
Level Code Message
|
||||||
Error 1054 Unknown column 'b' in 'field list'
|
Error 1054 Unknown column 'b' in 'SELECT'
|
||||||
INSERT INTO t1 SELECT b FROM t1;
|
INSERT INTO t1 SELECT b FROM t1;
|
||||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
ERROR 42S22: Unknown column 'b' in 'SELECT'
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
flush status;
|
flush status;
|
||||||
drop table if exists t1, t2;
|
drop table if exists t1, t2;
|
||||||
|
@ -205,7 +205,7 @@ INSERT INTO t1 VALUES (repeat('b',@@global.max_allowed_packet));
|
|||||||
EXPLAIN SELECT DISTINCT 1 FROM t1,
|
EXPLAIN SELECT DISTINCT 1 FROM t1,
|
||||||
(SELECT DISTINCTROW a AS away FROM t1 GROUP BY a WITH ROLLUP) as d1
|
(SELECT DISTINCTROW a AS away FROM t1 GROUP BY a WITH ROLLUP) as d1
|
||||||
WHERE t1.a = d1.a;
|
WHERE t1.a = d1.a;
|
||||||
ERROR 42S22: Unknown column 'd1.a' in 'where clause'
|
ERROR 42S22: Unknown column 'd1.a' in 'WHERE'
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# Bug#48295:
|
# Bug#48295:
|
||||||
|
@ -8,3 +8,11 @@ ERROR 28000: Access denied for user 'USER'@'localhost'
|
|||||||
replace mysql.global_priv select * from global_priv_backup;
|
replace mysql.global_priv select * from global_priv_backup;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
drop table global_priv_backup;
|
drop table global_priv_backup;
|
||||||
|
#
|
||||||
|
# MDEV-18151: Skipped error returning for GRANT/SET PASSWORD
|
||||||
|
#
|
||||||
|
CREATE USER foo;
|
||||||
|
GRANT EXECUTE ON * TO foo IDENTIFIED WITH unix_socket AS PASSWORD('bar');
|
||||||
|
ERROR HY000: SET PASSWORD is not applicable for users authenticating via unix_socket plugin
|
||||||
|
DROP USER foo;
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -27,3 +27,17 @@ change_user $USER;
|
|||||||
replace mysql.global_priv select * from global_priv_backup;
|
replace mysql.global_priv select * from global_priv_backup;
|
||||||
flush privileges;
|
flush privileges;
|
||||||
drop table global_priv_backup;
|
drop table global_priv_backup;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-18151: Skipped error returning for GRANT/SET PASSWORD
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE USER foo;
|
||||||
|
--error ER_SET_PASSWORD_AUTH_PLUGIN
|
||||||
|
GRANT EXECUTE ON * TO foo IDENTIFIED WITH unix_socket AS PASSWORD('bar');
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
DROP USER foo;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
@ -126,7 +126,7 @@ group by
|
|||||||
a.text, b.id, b.betreff
|
a.text, b.id, b.betreff
|
||||||
order by
|
order by
|
||||||
match(b.betreff) against ('+abc' in boolean mode) desc;
|
match(b.betreff) against ('+abc' in boolean mode) desc;
|
||||||
ERROR 42000: Table 'b' from one of the SELECTs cannot be used in order clause
|
ERROR 42000: Table 'b' from one of the SELECTs cannot be used in ORDER BY
|
||||||
select a.text, b.id, b.betreff
|
select a.text, b.id, b.betreff
|
||||||
from
|
from
|
||||||
t2 a inner join t3 b on a.id = b.forum inner join
|
t2 a inner join t3 b on a.id = b.forum inner join
|
||||||
@ -142,7 +142,7 @@ where
|
|||||||
match(c.beitrag) against ('+abc' in boolean mode)
|
match(c.beitrag) against ('+abc' in boolean mode)
|
||||||
order by
|
order by
|
||||||
match(b.betreff) against ('+abc' in boolean mode) desc;
|
match(b.betreff) against ('+abc' in boolean mode) desc;
|
||||||
ERROR 42000: Table 'b' from one of the SELECTs cannot be used in order clause
|
ERROR 42000: Table 'b' from one of the SELECTs cannot be used in ORDER BY
|
||||||
select a.text, b.id, b.betreff
|
select a.text, b.id, b.betreff
|
||||||
from
|
from
|
||||||
t2 a inner join t3 b on a.id = b.forum inner join
|
t2 a inner join t3 b on a.id = b.forum inner join
|
||||||
|
@ -160,7 +160,7 @@ set group_concat_max_len = 1024;
|
|||||||
select group_concat(sum(c)) from t1 group by grp;
|
select group_concat(sum(c)) from t1 group by grp;
|
||||||
ERROR HY000: Invalid use of group function
|
ERROR HY000: Invalid use of group function
|
||||||
select grp,group_concat(c order by 2) from t1 group by grp;
|
select grp,group_concat(c order by 2) from t1 group by grp;
|
||||||
ERROR 42S22: Unknown column '2' in 'order clause'
|
ERROR 42S22: Unknown column '2' in 'ORDER BY'
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 ( URL_ID int(11), URL varchar(80));
|
create table t1 ( URL_ID int(11), URL varchar(80));
|
||||||
create table t2 ( REQ_ID int(11), URL_ID int(11));
|
create table t2 ( REQ_ID int(11), URL_ID int(11));
|
||||||
|
@ -154,7 +154,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
|||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 select degrees(pi()) AS `degrees(pi())`,radians(360) AS `radians(360)`
|
Note 1003 select degrees(pi()) AS `degrees(pi())`,radians(360) AS `radians(360)`
|
||||||
select rand(rand);
|
select rand(rand);
|
||||||
ERROR 42S22: Unknown column 'rand' in 'field list'
|
ERROR 42S22: Unknown column 'rand' in 'SELECT'
|
||||||
create table t1 (col1 int, col2 decimal(60,30));
|
create table t1 (col1 int, col2 decimal(60,30));
|
||||||
insert into t1 values(1,1234567890.12345);
|
insert into t1 values(1,1234567890.12345);
|
||||||
select format(col2,7) from t1;
|
select format(col2,7) from t1;
|
||||||
|
@ -134,7 +134,7 @@ DROP PROCEDURE p1;
|
|||||||
GET DIAGNOSTICS CONDITION;
|
GET DIAGNOSTICS CONDITION;
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
|
||||||
GET DIAGNOSTICS CONDITION a;
|
GET DIAGNOSTICS CONDITION a;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'GET DIAGNOSTICS'
|
||||||
GET DIAGNOSTICS CONDITION 1;
|
GET DIAGNOSTICS CONDITION 1;
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
|
||||||
GET DIAGNOSTICS CONDITION 1 @var;
|
GET DIAGNOSTICS CONDITION 1 @var;
|
||||||
@ -213,9 +213,9 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
|||||||
GET DIAGNOSTICS CONDITION (1) @var = CLASS_ORIGIN;
|
GET DIAGNOSTICS CONDITION (1) @var = CLASS_ORIGIN;
|
||||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(1) @var = CLASS_ORIGIN' at line 1
|
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '(1) @var = CLASS_ORIGIN' at line 1
|
||||||
GET DIAGNOSTICS CONDITION p1() @var = CLASS_ORIGIN;
|
GET DIAGNOSTICS CONDITION p1() @var = CLASS_ORIGIN;
|
||||||
ERROR 42S22: Unknown column 'p1' in 'field list'
|
ERROR 42S22: Unknown column 'p1' in 'GET DIAGNOSTICS'
|
||||||
GET DIAGNOSTICS CONDITION ABS(2) @var = CLASS_ORIGIN;
|
GET DIAGNOSTICS CONDITION ABS(2) @var = CLASS_ORIGIN;
|
||||||
ERROR 42S22: Unknown column 'ABS' in 'field list'
|
ERROR 42S22: Unknown column 'ABS' in 'GET DIAGNOSTICS'
|
||||||
GET DIAGNOSTICS CONDITION 1.1 @var = CLASS_ORIGIN;
|
GET DIAGNOSTICS CONDITION 1.1 @var = CLASS_ORIGIN;
|
||||||
GET DIAGNOSTICS CONDITION "1" @var = CLASS_ORIGIN;
|
GET DIAGNOSTICS CONDITION "1" @var = CLASS_ORIGIN;
|
||||||
SELECT COUNT(max_questions) INTO @var FROM mysql.user;
|
SELECT COUNT(max_questions) INTO @var FROM mysql.user;
|
||||||
@ -227,7 +227,7 @@ Warnings:
|
|||||||
Error 1758 Invalid condition number
|
Error 1758 Invalid condition number
|
||||||
Error 1758 Invalid condition number
|
Error 1758 Invalid condition number
|
||||||
GET DIAGNOSTICS CONDITION a @var = CLASS_ORIGIN;
|
GET DIAGNOSTICS CONDITION a @var = CLASS_ORIGIN;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'GET DIAGNOSTICS'
|
||||||
SELECT COUNT(max_questions) INTO @var FROM mysql.user;
|
SELECT COUNT(max_questions) INTO @var FROM mysql.user;
|
||||||
SET @cond = 1;
|
SET @cond = 1;
|
||||||
GET DIAGNOSTICS CONDITION @cond @var1 = CLASS_ORIGIN;
|
GET DIAGNOSTICS CONDITION @cond @var1 = CLASS_ORIGIN;
|
||||||
@ -1502,13 +1502,13 @@ SELECT @var119;
|
|||||||
@var119
|
@var119
|
||||||
0
|
0
|
||||||
INSERT INTO t1 VALUES (1) RETURNING id2;
|
INSERT INTO t1 VALUES (1) RETURNING id2;
|
||||||
ERROR 42S22: Unknown column 'id2' in 'field list'
|
ERROR 42S22: Unknown column 'id2' in 'RETURNING'
|
||||||
GET DIAGNOSTICS CONDITION 1 @var120= ROW_NUMBER;
|
GET DIAGNOSTICS CONDITION 1 @var120= ROW_NUMBER;
|
||||||
SELECT @var120;
|
SELECT @var120;
|
||||||
@var120
|
@var120
|
||||||
0
|
0
|
||||||
INSERT INTO t1(id2) VALUES(1);
|
INSERT INTO t1(id2) VALUES(1);
|
||||||
ERROR 42S22: Unknown column 'id2' in 'field list'
|
ERROR 42S22: Unknown column 'id2' in 'INSERT INTO'
|
||||||
GET DIAGNOSTICS CONDITION 1 @var121= ROW_NUMBER;
|
GET DIAGNOSTICS CONDITION 1 @var121= ROW_NUMBER;
|
||||||
SELECT @var121;
|
SELECT @var121;
|
||||||
@var121
|
@var121
|
||||||
@ -1544,13 +1544,13 @@ SELECT @var125;
|
|||||||
@var125
|
@var125
|
||||||
0
|
0
|
||||||
REPLACE INTO t1 VALUES (1) RETURNING id2;
|
REPLACE INTO t1 VALUES (1) RETURNING id2;
|
||||||
ERROR 42S22: Unknown column 'id2' in 'field list'
|
ERROR 42S22: Unknown column 'id2' in 'RETURNING'
|
||||||
GET DIAGNOSTICS CONDITION 1 @var126= ROW_NUMBER;
|
GET DIAGNOSTICS CONDITION 1 @var126= ROW_NUMBER;
|
||||||
SELECT @var126;
|
SELECT @var126;
|
||||||
@var126
|
@var126
|
||||||
0
|
0
|
||||||
REPLACE INTO t1(id2) VALUES(1);
|
REPLACE INTO t1(id2) VALUES(1);
|
||||||
ERROR 42S22: Unknown column 'id2' in 'field list'
|
ERROR 42S22: Unknown column 'id2' in 'INSERT INTO'
|
||||||
GET DIAGNOSTICS CONDITION 1 @var127= ROW_NUMBER;
|
GET DIAGNOSTICS CONDITION 1 @var127= ROW_NUMBER;
|
||||||
SELECT @var127;
|
SELECT @var127;
|
||||||
@var127
|
@var127
|
||||||
|
@ -5435,5 +5435,22 @@ AsText(g)
|
|||||||
POINT(1 1)
|
POINT(1 1)
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#
|
#
|
||||||
# End of 10.5 tests
|
# MDEV-16699 heap-use-after-free in group_concat with compressed or GIS columns
|
||||||
#
|
#
|
||||||
|
create table t1 (c polygon);
|
||||||
|
insert into t1 values
|
||||||
|
(PolygonFromText('POLYGON((1 2,1 2))')),
|
||||||
|
(PolygonFromText('POLYGON((0 0,1 1,0 0))'));
|
||||||
|
select length(group_concat(c, c order by 1,2)) from t1;
|
||||||
|
length(group_concat(c, c order by 1,2))
|
||||||
|
229
|
||||||
|
create table t2 as select group_concat(c, c order by 1,2), concat(c), c from t1;
|
||||||
|
show create table t2;
|
||||||
|
Table Create Table
|
||||||
|
t2 CREATE TABLE `t2` (
|
||||||
|
`group_concat(c, c order by 1,2)` mediumblob DEFAULT NULL,
|
||||||
|
`concat(c)` longblob DEFAULT NULL,
|
||||||
|
`c` polygon DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||||
|
drop table t1, t2;
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -3445,5 +3445,15 @@ SELECT AsText(g) FROM t1;
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.5 tests
|
--echo # MDEV-16699 heap-use-after-free in group_concat with compressed or GIS columns
|
||||||
--echo #
|
--echo #
|
||||||
|
create table t1 (c polygon);
|
||||||
|
insert into t1 values
|
||||||
|
(PolygonFromText('POLYGON((1 2,1 2))')),
|
||||||
|
(PolygonFromText('POLYGON((0 0,1 1,0 0))'));
|
||||||
|
select length(group_concat(c, c order by 1,2)) from t1;
|
||||||
|
create table t2 as select group_concat(c, c order by 1,2), concat(c), c from t1;
|
||||||
|
show create table t2;
|
||||||
|
drop table t1, t2;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
@ -38,6 +38,7 @@ connection default;
|
|||||||
disconnect u1;
|
disconnect u1;
|
||||||
drop user u1@localhost;
|
drop user u1@localhost;
|
||||||
drop database mysqltest1;
|
drop database mysqltest1;
|
||||||
|
use test;
|
||||||
#
|
#
|
||||||
# MDEV-22313: Neither SHOW CREATE USER nor SHOW GRANTS prints a user's default role
|
# MDEV-22313: Neither SHOW CREATE USER nor SHOW GRANTS prints a user's default role
|
||||||
#
|
#
|
||||||
@ -173,7 +174,7 @@ drop user 'O\'Brien'@'localhost';
|
|||||||
#
|
#
|
||||||
CREATE USER 'test-user';
|
CREATE USER 'test-user';
|
||||||
CREATE ROLE `r``o'l"e`;
|
CREATE ROLE `r``o'l"e`;
|
||||||
select user from mysql.user where is_role='Y';
|
select user as User from mysql.user where is_role='Y';
|
||||||
User
|
User
|
||||||
r`o'l"e
|
r`o'l"e
|
||||||
GRANT `r``o'l"e` TO 'test-user';
|
GRANT `r``o'l"e` TO 'test-user';
|
||||||
@ -348,7 +349,7 @@ ERROR HY000: Password hash should be a 41-digit hexadecimal number
|
|||||||
set password for u7@h = old_password('pwd');
|
set password for u7@h = old_password('pwd');
|
||||||
create user u8@h identified with 'mysql_old_password';
|
create user u8@h identified with 'mysql_old_password';
|
||||||
set password for u8@h = '78a302dd267f6044';
|
set password for u8@h = '78a302dd267f6044';
|
||||||
select user,host,plugin,authentication_string from mysql.user where host='h';
|
select user as User,host as Host,plugin,authentication_string from mysql.user where host='h';
|
||||||
User Host plugin authentication_string
|
User Host plugin authentication_string
|
||||||
u1 h mysql_native_password *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD
|
u1 h mysql_native_password *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD
|
||||||
u2 h mysql_native_password *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD
|
u2 h mysql_native_password *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD
|
||||||
@ -394,7 +395,7 @@ grant select on *.* to u5@h;
|
|||||||
grant select on *.* to u6@h;
|
grant select on *.* to u6@h;
|
||||||
grant select on *.* to u7@h;
|
grant select on *.* to u7@h;
|
||||||
grant select on *.* to u8@h;
|
grant select on *.* to u8@h;
|
||||||
select user,select_priv,plugin,authentication_string from mysql.user where user like 'u_';
|
select user as User,select_priv as Select_priv,plugin,authentication_string from mysql.user where user like 'u_';
|
||||||
User Select_priv plugin authentication_string
|
User Select_priv plugin authentication_string
|
||||||
u1 Y mysql_native_password bad
|
u1 Y mysql_native_password bad
|
||||||
u2 Y mysql_native_password *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD
|
u2 Y mysql_native_password *975B2CD4FF9AE554FE8AD33168FBFC326D2021DD
|
||||||
@ -463,6 +464,14 @@ create table mysql.host (host char(60) binary default '' not null, db char(64) b
|
|||||||
insert mysql.host values('10.5.0.0/255.255.0.0','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N');
|
insert mysql.host values('10.5.0.0/255.255.0.0','','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','N');
|
||||||
flush privileges;
|
flush privileges;
|
||||||
drop table mysql.host;
|
drop table mysql.host;
|
||||||
#
|
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
|
# MDEV-18151: Skipped error returning for GRANT/SET PASSWORD
|
||||||
|
#
|
||||||
|
CREATE USER foo@localhost;
|
||||||
|
GRANT FILE ON *.* TO foo@localhost IDENTIFIED VIA not_installed_plugin;
|
||||||
|
ERROR HY000: Plugin 'not_installed_plugin' is not loaded
|
||||||
|
DROP USER foo@localhost;
|
||||||
|
CREATE USER foo@localhost IDENTIFIED VIA not_installed_plugin;
|
||||||
|
ERROR HY000: Plugin 'not_installed_plugin' is not loaded
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -50,6 +50,7 @@ connection default;
|
|||||||
disconnect u1;
|
disconnect u1;
|
||||||
drop user u1@localhost;
|
drop user u1@localhost;
|
||||||
drop database mysqltest1;
|
drop database mysqltest1;
|
||||||
|
use test;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-22313: Neither SHOW CREATE USER nor SHOW GRANTS prints a user's default role
|
--echo # MDEV-22313: Neither SHOW CREATE USER nor SHOW GRANTS prints a user's default role
|
||||||
@ -130,7 +131,7 @@ drop user 'O\'Brien'@'localhost';
|
|||||||
|
|
||||||
CREATE USER 'test-user';
|
CREATE USER 'test-user';
|
||||||
CREATE ROLE `r``o'l"e`;
|
CREATE ROLE `r``o'l"e`;
|
||||||
select user from mysql.user where is_role='Y';
|
select user as User from mysql.user where is_role='Y';
|
||||||
GRANT `r``o'l"e` TO 'test-user';
|
GRANT `r``o'l"e` TO 'test-user';
|
||||||
SET DEFAULT ROLE `r``o'l"e` FOR 'test-user';
|
SET DEFAULT ROLE `r``o'l"e` FOR 'test-user';
|
||||||
# it is expected that quotes won't be shown correctly
|
# it is expected that quotes won't be shown correctly
|
||||||
@ -310,7 +311,7 @@ set password for u7@h = old_password('pwd');
|
|||||||
create user u8@h identified with 'mysql_old_password';
|
create user u8@h identified with 'mysql_old_password';
|
||||||
eval set password for u8@h = '$p';
|
eval set password for u8@h = '$p';
|
||||||
sorted_result;
|
sorted_result;
|
||||||
select user,host,plugin,authentication_string from mysql.user where host='h';
|
select user as User,host as Host,plugin,authentication_string from mysql.user where host='h';
|
||||||
# test with invalid entries
|
# test with invalid entries
|
||||||
update mysql.global_priv set priv=json_set(priv, '$.authentication_string', 'bad') where user='u1';
|
update mysql.global_priv set priv=json_set(priv, '$.authentication_string', 'bad') where user='u1';
|
||||||
update mysql.global_priv set priv=json_set(priv, '$.authentication_string', 'bad') where user='u5';
|
update mysql.global_priv set priv=json_set(priv, '$.authentication_string', 'bad') where user='u5';
|
||||||
@ -332,7 +333,7 @@ grant select on *.* to u5@h;
|
|||||||
grant select on *.* to u6@h;
|
grant select on *.* to u6@h;
|
||||||
grant select on *.* to u7@h;
|
grant select on *.* to u7@h;
|
||||||
grant select on *.* to u8@h;
|
grant select on *.* to u8@h;
|
||||||
select user,select_priv,plugin,authentication_string from mysql.user where user like 'u_';
|
select user as User,select_priv as Select_priv,plugin,authentication_string from mysql.user where user like 'u_';
|
||||||
|
|
||||||
# but they still can be dropped
|
# but they still can be dropped
|
||||||
drop user u1@h, u2@h, u3@h, u4@h, u5@h, u6@h, u7@h, u8@h;
|
drop user u1@h, u2@h, u3@h, u4@h, u5@h, u6@h, u7@h, u8@h;
|
||||||
@ -419,6 +420,20 @@ insert mysql.host values('10.5.0.0/255.255.0.0','','Y','Y','Y','Y','Y','Y','Y','
|
|||||||
flush privileges;
|
flush privileges;
|
||||||
drop table mysql.host;
|
drop table mysql.host;
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
--echo # MDEV-18151: Skipped error returning for GRANT/SET PASSWORD
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE USER foo@localhost;
|
||||||
|
--error ER_PLUGIN_IS_NOT_LOADED
|
||||||
|
GRANT FILE ON *.* TO foo@localhost IDENTIFIED VIA not_installed_plugin;
|
||||||
|
|
||||||
|
# Cleanup
|
||||||
|
DROP USER foo@localhost;
|
||||||
|
|
||||||
|
--error ER_PLUGIN_IS_NOT_LOADED
|
||||||
|
CREATE USER foo@localhost IDENTIFIED VIA not_installed_plugin;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
15
mysql-test/main/grant_plugin.result
Normal file
15
mysql-test/main/grant_plugin.result
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#
|
||||||
|
# MDEV-18151: Skipped error returning for GRANT/SET PASSWORD
|
||||||
|
#
|
||||||
|
install soname 'auth_0x0100';
|
||||||
|
CREATE USER foo@localhost IDENTIFIED VIA auth_0x0100;
|
||||||
|
uninstall plugin auth_0x0100;
|
||||||
|
select Priv from mysql.global_priv where User = "foo" and host="localhost"
|
||||||
|
into @priv;
|
||||||
|
SET PASSWORD FOR foo@localhost = "1111";
|
||||||
|
ERROR HY000: Plugin 'auth_0x0100' is not loaded
|
||||||
|
select Priv = @priv as "Nothing changed" from mysql.global_priv where User = "foo" and host="localhost";
|
||||||
|
Nothing changed
|
||||||
|
1
|
||||||
|
DROP USER foo@localhost;
|
||||||
|
# End of 10.5 tests
|
26
mysql-test/main/grant_plugin.test
Normal file
26
mysql-test/main/grant_plugin.test
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
--source include/not_embedded.inc
|
||||||
|
|
||||||
|
if (!$AUTH_0X0100_SO) {
|
||||||
|
skip No auth_0x0100 plugin;
|
||||||
|
}
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-18151: Skipped error returning for GRANT/SET PASSWORD
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
install soname 'auth_0x0100';
|
||||||
|
CREATE USER foo@localhost IDENTIFIED VIA auth_0x0100;
|
||||||
|
uninstall plugin auth_0x0100;
|
||||||
|
|
||||||
|
--disable_ps_protocol
|
||||||
|
select Priv from mysql.global_priv where User = "foo" and host="localhost"
|
||||||
|
into @priv;
|
||||||
|
--enable_ps_protocol
|
||||||
|
--error ER_PLUGIN_IS_NOT_LOADED
|
||||||
|
SET PASSWORD FOR foo@localhost = "1111";
|
||||||
|
select Priv = @priv as "Nothing changed" from mysql.global_priv where User = "foo" and host="localhost";
|
||||||
|
|
||||||
|
DROP USER foo@localhost;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
@ -790,7 +790,7 @@ SELECT n+1 AS n FROM t1 GROUP BY n;
|
|||||||
n
|
n
|
||||||
2
|
2
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1052 Column 'n' in group statement is ambiguous
|
Warning 1052 Column 'n' in GROUP BY is ambiguous
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
create table t1(f1 varchar(5) key);
|
create table t1(f1 varchar(5) key);
|
||||||
insert into t1 values (1),(2);
|
insert into t1 values (1),(2);
|
||||||
@ -877,10 +877,10 @@ c2
|
|||||||
aaa
|
aaa
|
||||||
aaa
|
aaa
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1052 Column 'c2' in group statement is ambiguous
|
Warning 1052 Column 'c2' in GROUP BY is ambiguous
|
||||||
show warnings;
|
show warnings;
|
||||||
Level Code Message
|
Level Code Message
|
||||||
Warning 1052 Column 'c2' in group statement is ambiguous
|
Warning 1052 Column 'c2' in GROUP BY is ambiguous
|
||||||
select t1.c1 as c2 from t1, t2 where t1.c2 = t2.c4
|
select t1.c1 as c2 from t1, t2 where t1.c2 = t2.c4
|
||||||
group by t1.c1;
|
group by t1.c1;
|
||||||
c2
|
c2
|
||||||
@ -1029,7 +1029,7 @@ FROM t1 AS t1_outer GROUP BY t1_outer.b;
|
|||||||
ERROR 42000: 'test.t1_outer.a' isn't in GROUP BY
|
ERROR 42000: 'test.t1_outer.a' isn't in GROUP BY
|
||||||
SELECT 1 FROM t1 as t1_outer GROUP BY a
|
SELECT 1 FROM t1 as t1_outer GROUP BY a
|
||||||
HAVING (SELECT t1_outer.b FROM t1 AS t1_inner LIMIT 1);
|
HAVING (SELECT t1_outer.b FROM t1 AS t1_inner LIMIT 1);
|
||||||
ERROR 42S22: Unknown column 'test.t1_outer.b' in 'field list'
|
ERROR 42S22: Unknown column 'test.t1_outer.b' in 'SELECT'
|
||||||
SELECT (SELECT SUM(t1_inner.a) FROM t1 AS t1_inner LIMIT 1)
|
SELECT (SELECT SUM(t1_inner.a) FROM t1 AS t1_inner LIMIT 1)
|
||||||
FROM t1 AS t1_outer GROUP BY t1_outer.b;
|
FROM t1 AS t1_outer GROUP BY t1_outer.b;
|
||||||
(SELECT SUM(t1_inner.a) FROM t1 AS t1_inner LIMIT 1)
|
(SELECT SUM(t1_inner.a) FROM t1 AS t1_inner LIMIT 1)
|
||||||
@ -1071,7 +1071,7 @@ SELECT 1 FROM t1 GROUP BY b HAVING ROW (b,b) = ROW (1,1);
|
|||||||
1
|
1
|
||||||
1
|
1
|
||||||
SELECT 1 FROM t1 GROUP BY b HAVING a = 2;
|
SELECT 1 FROM t1 GROUP BY b HAVING a = 2;
|
||||||
ERROR 42S22: Unknown column 'a' in 'having clause'
|
ERROR 42S22: Unknown column 'a' in 'HAVING'
|
||||||
SELECT 1 FROM t1 GROUP BY SUM(b);
|
SELECT 1 FROM t1 GROUP BY SUM(b);
|
||||||
ERROR HY000: Invalid use of group function
|
ERROR HY000: Invalid use of group function
|
||||||
SELECT b FROM t1 AS t1_outer GROUP BY a HAVING t1_outer.a IN
|
SELECT b FROM t1 AS t1_outer GROUP BY a HAVING t1_outer.a IN
|
||||||
@ -2572,7 +2572,7 @@ DROP TABLE t1,t2;
|
|||||||
# MDEV-5104 crash in Item_field::used_tables with broken order by
|
# MDEV-5104 crash in Item_field::used_tables with broken order by
|
||||||
#
|
#
|
||||||
(select 1 order by x(y)) order by 1;
|
(select 1 order by x(y)) order by 1;
|
||||||
ERROR 42S22: Unknown column 'y' in 'order clause'
|
ERROR 42S22: Unknown column 'y' in 'ORDER BY'
|
||||||
# End of 5.3 tests
|
# End of 5.3 tests
|
||||||
#
|
#
|
||||||
# Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00
|
# Bug#49771: Incorrect MIN (date) when minimum value is 0000-00-00
|
||||||
@ -3001,6 +3001,18 @@ drop table t20, t21, t22;
|
|||||||
# End of 10.3 tests
|
# End of 10.3 tests
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
# MDEV-29351 SIGSEGV when doing forward reference of item in select list
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
UPDATE t1 SET c=1 ORDER BY (SELECT c);
|
||||||
|
ERROR 42S22: Unknown column 'c' in 'SET'
|
||||||
|
UPDATE t1 SET c=1 ORDER BY (SELECT c);
|
||||||
|
ERROR 42S22: Unknown column 'c' in 'SET'
|
||||||
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# End of 10.5 tests
|
||||||
|
#
|
||||||
|
#
|
||||||
# Test new group_min_max optimization
|
# Test new group_min_max optimization
|
||||||
#
|
#
|
||||||
create table t1 (a int, b int, c int, key(a,b,c));
|
create table t1 (a int, b int, c int, key(a,b,c));
|
||||||
|
@ -2151,6 +2151,21 @@ drop table t20, t21, t22;
|
|||||||
--echo # End of 10.3 tests
|
--echo # End of 10.3 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-29351 SIGSEGV when doing forward reference of item in select list
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (a INT);
|
||||||
|
--error ER_BAD_FIELD_ERROR
|
||||||
|
UPDATE t1 SET c=1 ORDER BY (SELECT c);
|
||||||
|
--error ER_BAD_FIELD_ERROR
|
||||||
|
UPDATE t1 SET c=1 ORDER BY (SELECT c);
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
--echo #
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # Test new group_min_max optimization
|
--echo # Test new group_min_max optimization
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -200,7 +200,7 @@ select count(*) from t1 group by col2 having col2 = 'hello';
|
|||||||
count(*)
|
count(*)
|
||||||
3
|
3
|
||||||
select count(*) from t1 group by col2 having col1 = 10;
|
select count(*) from t1 group by col2 having col1 = 10;
|
||||||
ERROR 42S22: Unknown column 'col1' in 'having clause'
|
ERROR 42S22: Unknown column 'col1' in 'HAVING'
|
||||||
select col1 as count_col1 from t1 as tmp1 group by col1 having col1 = 10;
|
select col1 as count_col1 from t1 as tmp1 group by col1 having col1 = 10;
|
||||||
count_col1
|
count_col1
|
||||||
10
|
10
|
||||||
@ -241,7 +241,7 @@ select sum(col1) as co2, count(col2) as cc from t1 group by col1 having col1 =10
|
|||||||
co2 cc
|
co2 cc
|
||||||
40 4
|
40 4
|
||||||
select t2.col2 from t2 group by t2.col1, t2.col2 having t1.col1 <= 10;
|
select t2.col2 from t2 group by t2.col1, t2.col2 having t1.col1 <= 10;
|
||||||
ERROR 42S22: Unknown column 't1.col1' in 'having clause'
|
ERROR 42S22: Unknown column 't1.col1' in 'HAVING'
|
||||||
select t1.col1 from t1
|
select t1.col1 from t1
|
||||||
where t1.col2 in
|
where t1.col2 in
|
||||||
(select t2.col2 from t2
|
(select t2.col2 from t2
|
||||||
@ -279,7 +279,7 @@ select t1.col1 as tmp_col from t1
|
|||||||
where t1.col2 in
|
where t1.col2 in
|
||||||
(select t2.col2 from t2
|
(select t2.col2 from t2
|
||||||
group by t2.col1, t2.col2 having tmp_col <= 10);
|
group by t2.col1, t2.col2 having tmp_col <= 10);
|
||||||
ERROR 42S22: Unknown column 'tmp_col' in 'having clause'
|
ERROR 42S22: Unknown column 'tmp_col' in 'HAVING'
|
||||||
select t1.col1 from t1
|
select t1.col1 from t1
|
||||||
where t1.col2 in
|
where t1.col2 in
|
||||||
(select t2.col2 from t2
|
(select t2.col2 from t2
|
||||||
@ -301,7 +301,7 @@ where t1.col2 in
|
|||||||
(select t2.col2 from t2
|
(select t2.col2 from t2
|
||||||
group by t2.col1, t2.col2 having col_t1 <= 10)
|
group by t2.col1, t2.col2 having col_t1 <= 10)
|
||||||
having col_t1 <= 20;
|
having col_t1 <= 20;
|
||||||
ERROR 42S22: Unknown column 'col_t1' in 'having clause'
|
ERROR 42S22: Unknown column 'col_t1' in 'HAVING'
|
||||||
select t1.col1 from t1
|
select t1.col1 from t1
|
||||||
where t1.col2 in
|
where t1.col2 in
|
||||||
(select t2.col2 from t2
|
(select t2.col2 from t2
|
||||||
@ -322,7 +322,7 @@ select sum(col1) from t1
|
|||||||
group by col_t1
|
group by col_t1
|
||||||
having col_t1 in (select sum(t2.col1) from t2
|
having col_t1 in (select sum(t2.col1) from t2
|
||||||
group by t2.col2, t2.col1 having t2.col1 = t1.col1);
|
group by t2.col2, t2.col1 having t2.col1 = t1.col1);
|
||||||
ERROR 42S22: Unknown column 't1.col1' in 'having clause'
|
ERROR 42S22: Unknown column 't1.col1' in 'HAVING'
|
||||||
select sum(col1) from t1
|
select sum(col1) from t1
|
||||||
group by col_t1
|
group by col_t1
|
||||||
having col_t1 in (select sum(t2.col1) from t2
|
having col_t1 in (select sum(t2.col1) from t2
|
||||||
@ -333,10 +333,10 @@ sum(col1)
|
|||||||
30
|
30
|
||||||
select t1.col1, t2.col1 from t1, t2 where t1.col1 = t2.col1
|
select t1.col1, t2.col1 from t1, t2 where t1.col1 = t2.col1
|
||||||
group by t1.col1, t2.col1 having col1 = 2;
|
group by t1.col1, t2.col1 having col1 = 2;
|
||||||
ERROR 23000: Column 'col1' in having clause is ambiguous
|
ERROR 23000: Column 'col1' in HAVING is ambiguous
|
||||||
select t1.col1*10+t2.col1 from t1,t2 where t1.col1=t2.col1
|
select t1.col1*10+t2.col1 from t1,t2 where t1.col1=t2.col1
|
||||||
group by t1.col1, t2.col1 having col1 = 2;
|
group by t1.col1, t2.col1 having col1 = 2;
|
||||||
ERROR 23000: Column 'col1' in having clause is ambiguous
|
ERROR 23000: Column 'col1' in HAVING is ambiguous
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
create table t1 (s1 int);
|
create table t1 (s1 int);
|
||||||
insert into t1 values (1),(2),(3);
|
insert into t1 values (1),(2),(3);
|
||||||
@ -348,8 +348,8 @@ s1
|
|||||||
0
|
0
|
||||||
0
|
0
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1052 Column 's1' in group statement is ambiguous
|
Warning 1052 Column 's1' in GROUP BY is ambiguous
|
||||||
Warning 1052 Column 's1' in having clause is ambiguous
|
Warning 1052 Column 's1' in HAVING is ambiguous
|
||||||
select s1*0 from t1 group by s1 having s1 = 0;
|
select s1*0 from t1 group by s1 having s1 = 0;
|
||||||
s1*0
|
s1*0
|
||||||
select s1 from t1 group by 1 having 1 = 0;
|
select s1 from t1 group by 1 having 1 = 0;
|
||||||
@ -362,7 +362,7 @@ count(s1)
|
|||||||
1
|
1
|
||||||
1
|
1
|
||||||
select * from t1 a, t1 b group by a.s1 having s1 is null;
|
select * from t1 a, t1 b group by a.s1 having s1 is null;
|
||||||
ERROR 23000: Column 's1' in having clause is ambiguous
|
ERROR 23000: Column 's1' in HAVING is ambiguous
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (s1 char character set latin1 collate latin1_german1_ci);
|
create table t1 (s1 char character set latin1 collate latin1_german1_ci);
|
||||||
insert ignore into t1 values ('ü'),('y');
|
insert ignore into t1 values ('ü'),('y');
|
||||||
|
@ -68,6 +68,6 @@ COUNT(@@GLOBAL.Host_Cache_Size)
|
|||||||
1
|
1
|
||||||
1 Expected
|
1 Expected
|
||||||
SELECT Host_Cache_Size = @@SESSION.Host_Cache_Size;
|
SELECT Host_Cache_Size = @@SESSION.Host_Cache_Size;
|
||||||
ERROR 42S22: Unknown column 'Host_Cache_Size' in 'field list'
|
ERROR 42S22: Unknown column 'Host_Cache_Size' in 'SELECT'
|
||||||
Expected error 'Unknown column Host_Cache_Size in field list'
|
Expected error 'Unknown column Host_Cache_Size in field list'
|
||||||
SET @@GLOBAL.Host_Cache_Size=DEFAULT;
|
SET @@GLOBAL.Host_Cache_Size=DEFAULT;
|
||||||
|
@ -768,14 +768,14 @@ create table t3 (c int);
|
|||||||
create table t4 (d1 int, d2 int);
|
create table t4 (d1 int, d2 int);
|
||||||
insert into t4
|
insert into t4
|
||||||
select * from t1 left join t2 on (select t1.i from t3);
|
select * from t1 left join t2 on (select t1.i from t3);
|
||||||
ERROR 42S22: Unknown column 't1.i' in 'field list'
|
ERROR 42S22: Unknown column 't1.i' in 'SELECT'
|
||||||
replace t4
|
replace t4
|
||||||
select * from t1 left join t2 on (select t1.i from t3);
|
select * from t1 left join t2 on (select t1.i from t3);
|
||||||
ERROR 42S22: Unknown column 't1.i' in 'field list'
|
ERROR 42S22: Unknown column 't1.i' in 'SELECT'
|
||||||
drop table t1,t2,t3,t4;
|
drop table t1,t2,t3,t4;
|
||||||
create table t (a int);
|
create table t (a int);
|
||||||
select 1 in (select count(*) from t t1 join (t t2 join t t3 on (t1.a != 0)));
|
select 1 in (select count(*) from t t1 join (t t2 join t t3 on (t1.a != 0)));
|
||||||
ERROR 42S22: Unknown column 't1.a' in 'on clause'
|
ERROR 42S22: Unknown column 't1.a' in 'ON'
|
||||||
drop table t;
|
drop table t;
|
||||||
#
|
#
|
||||||
# MDEV-28578 Server crashes in Item_field::fix_outer_field after CREATE SELECT
|
# MDEV-28578 Server crashes in Item_field::fix_outer_field after CREATE SELECT
|
||||||
@ -783,7 +783,7 @@ drop table t;
|
|||||||
create table t1 (i int) ;
|
create table t1 (i int) ;
|
||||||
create table t2 (j int) ;
|
create table t2 (j int) ;
|
||||||
create table t4 select * from t1 join t2 on (select t3.i);
|
create table t4 select * from t1 join t2 on (select t3.i);
|
||||||
ERROR 42S22: Unknown column 't3.i' in 'field list'
|
ERROR 42S22: Unknown column 't3.i' in 'SELECT'
|
||||||
drop table t1, t2;
|
drop table t1, t2;
|
||||||
#
|
#
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
|
@ -482,7 +482,7 @@ INSERT INTO t1 VALUES(1,'a'),(2,'b'),(3,'c');
|
|||||||
# SIMLPE INSERT STATEMENT
|
# SIMLPE INSERT STATEMENT
|
||||||
#
|
#
|
||||||
INSERT INTO t2(id2,val2) VALUES(1,'a') RETURNING id1;
|
INSERT INTO t2(id2,val2) VALUES(1,'a') RETURNING id1;
|
||||||
ERROR 42S22: Unknown column 'id1' in 'field list'
|
ERROR 42S22: Unknown column 'id1' in 'RETURNING'
|
||||||
INSERT INTO t2(id2,val2) values(2,'b') RETURNING SUM(id2);
|
INSERT INTO t2(id2,val2) values(2,'b') RETURNING SUM(id2);
|
||||||
ERROR HY000: Invalid use of group function
|
ERROR HY000: Invalid use of group function
|
||||||
INSERT INTO t2(id2,val2) VALUES(3,'c') RETURNING (SELECT id1 FROM t1);
|
INSERT INTO t2(id2,val2) VALUES(3,'c') RETURNING (SELECT id1 FROM t1);
|
||||||
@ -504,7 +504,7 @@ ERROR 42S02: Unknown table 'test.t1'
|
|||||||
# Multiple rows in single insert statement
|
# Multiple rows in single insert statement
|
||||||
#
|
#
|
||||||
INSERT INTO t2 VALUES(1,'a'),(2,'b') RETURNING id1;
|
INSERT INTO t2 VALUES(1,'a'),(2,'b') RETURNING id1;
|
||||||
ERROR 42S22: Unknown column 'id1' in 'field list'
|
ERROR 42S22: Unknown column 'id1' in 'RETURNING'
|
||||||
INSERT INTO t2 VALUES(3,'c'),(4,'d') RETURNING MAX(id2);
|
INSERT INTO t2 VALUES(3,'c'),(4,'d') RETURNING MAX(id2);
|
||||||
ERROR HY000: Invalid use of group function
|
ERROR HY000: Invalid use of group function
|
||||||
INSERT INTO t2 VALUES(5,'c'),(6,'f') RETURNING (SELECT id1 FROM t1);
|
INSERT INTO t2 VALUES(5,'c'),(6,'f') RETURNING (SELECT id1 FROM t1);
|
||||||
@ -527,7 +527,7 @@ ERROR 42S02: Unknown table 'test.t1'
|
|||||||
# INSERT ... SET
|
# INSERT ... SET
|
||||||
#
|
#
|
||||||
INSERT INTO t2 SET id2=1, val2='a' RETURNING id1;
|
INSERT INTO t2 SET id2=1, val2='a' RETURNING id1;
|
||||||
ERROR 42S22: Unknown column 'id1' in 'field list'
|
ERROR 42S22: Unknown column 'id1' in 'RETURNING'
|
||||||
INSERT INTO t2 SET id2=2, val2='b' RETURNING COUNT(id2);
|
INSERT INTO t2 SET id2=2, val2='b' RETURNING COUNT(id2);
|
||||||
ERROR HY000: Invalid use of group function
|
ERROR HY000: Invalid use of group function
|
||||||
INSERT INTO t2 SET id2=3, val2='c' RETURNING (SELECT id1 FROM t1);
|
INSERT INTO t2 SET id2=3, val2='c' RETURNING (SELECT id1 FROM t1);
|
||||||
@ -550,7 +550,7 @@ ERROR 42S02: Unknown table 'test.t1'
|
|||||||
#
|
#
|
||||||
INSERT INTO ins_duplicate VALUES (2,'b') ON DUPLICATE KEY UPDATE val='b'
|
INSERT INTO ins_duplicate VALUES (2,'b') ON DUPLICATE KEY UPDATE val='b'
|
||||||
RETURNING id1;
|
RETURNING id1;
|
||||||
ERROR 42S22: Unknown column 'id1' in 'field list'
|
ERROR 42S22: Unknown column 'id1' in 'RETURNING'
|
||||||
INSERT INTO ins_duplicate VALUES (2,'b') ON DUPLICATE KEY UPDATE val='b'
|
INSERT INTO ins_duplicate VALUES (2,'b') ON DUPLICATE KEY UPDATE val='b'
|
||||||
RETURNING MAX(id);
|
RETURNING MAX(id);
|
||||||
ERROR HY000: Invalid use of group function
|
ERROR HY000: Invalid use of group function
|
||||||
@ -565,7 +565,7 @@ RETURNING (SELECT * FROM ins_duplicate);
|
|||||||
ERROR 21000: Operand should contain 1 column(s)
|
ERROR 21000: Operand should contain 1 column(s)
|
||||||
INSERT INTO ins_duplicate VALUES(2,'b') ON DUPLICATE KEY UPDATE val='b'
|
INSERT INTO ins_duplicate VALUES(2,'b') ON DUPLICATE KEY UPDATE val='b'
|
||||||
RETURNING id2, (SELECT id1+id FROM t1 WHERE id1=1);
|
RETURNING id2, (SELECT id1+id FROM t1 WHERE id1=1);
|
||||||
ERROR 42S22: Unknown column 'id2' in 'field list'
|
ERROR 42S22: Unknown column 'id2' in 'RETURNING'
|
||||||
INSERT INTO ins_duplicate VALUES(2,'b') ON DUPLICATE KEY UPDATE val='b'
|
INSERT INTO ins_duplicate VALUES(2,'b') ON DUPLICATE KEY UPDATE val='b'
|
||||||
RETURNING (SELECT id FROM ins_duplicate);
|
RETURNING (SELECT id FROM ins_duplicate);
|
||||||
ERROR HY000: Table 'ins_duplicate' is specified twice, both as a target for 'INSERT' and as a separate source for data
|
ERROR HY000: Table 'ins_duplicate' is specified twice, both as a target for 'INSERT' and as a separate source for data
|
||||||
@ -576,7 +576,7 @@ ERROR 42S02: Unknown table 'test.t1'
|
|||||||
# INSERT...SELECT
|
# INSERT...SELECT
|
||||||
#
|
#
|
||||||
INSERT INTO t2(id2, val2) SELECT * FROM t1 WHERE id1=1 RETURNING id1;
|
INSERT INTO t2(id2, val2) SELECT * FROM t1 WHERE id1=1 RETURNING id1;
|
||||||
ERROR 42S22: Unknown column 'id1' in 'field list'
|
ERROR 42S22: Unknown column 'id1' in 'RETURNING'
|
||||||
INSERT INTO t2(id2, val2) SELECT * FROM t1 WHERE id1=2 RETURNING MAX(id2);
|
INSERT INTO t2(id2, val2) SELECT * FROM t1 WHERE id1=2 RETURNING MAX(id2);
|
||||||
ERROR HY000: Invalid use of group function
|
ERROR HY000: Invalid use of group function
|
||||||
INSERT INTO t2(id2, val2) SELECT * FROM t1 WHERE id1=2 RETURNING (SELECT
|
INSERT INTO t2(id2, val2) SELECT * FROM t1 WHERE id1=2 RETURNING (SELECT
|
||||||
|
@ -666,11 +666,11 @@ a
|
|||||||
10
|
10
|
||||||
insert into t1 select t2.a from t2 group by t2.a on duplicate key update a= a + 10;
|
insert into t1 select t2.a from t2 group by t2.a on duplicate key update a= a + 10;
|
||||||
insert into t1 select t2.a from t2 on duplicate key update a= a + t2.b;
|
insert into t1 select t2.a from t2 on duplicate key update a= a + t2.b;
|
||||||
ERROR 23000: Column 'a' in field list is ambiguous
|
ERROR 23000: Column 'a' in UPDATE is ambiguous
|
||||||
insert into t1 select t2.a from t2 on duplicate key update t2.a= a + t2.b;
|
insert into t1 select t2.a from t2 on duplicate key update t2.a= a + t2.b;
|
||||||
ERROR 42S22: Unknown column 't2.a' in 'field list'
|
ERROR 42S22: Unknown column 't2.a' in 'UPDATE'
|
||||||
insert into t1 select t2.a from t2 group by t2.a on duplicate key update a= t1.a + t2.b;
|
insert into t1 select t2.a from t2 group by t2.a on duplicate key update a= t1.a + t2.b;
|
||||||
ERROR 42S22: Unknown column 't2.b' in 'field list'
|
ERROR 42S22: Unknown column 't2.b' in 'UPDATE'
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
create table t1(f1 varchar(5) key);
|
create table t1(f1 varchar(5) key);
|
||||||
insert into t1(f1) select if(max(f1) is null, '2000',max(f1)+1) from t1;
|
insert into t1(f1) select if(max(f1) is null, '2000',max(f1)+1) from t1;
|
||||||
@ -686,9 +686,9 @@ create table t1(x int, y int);
|
|||||||
create table t2(x int, z int);
|
create table t2(x int, z int);
|
||||||
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(x);
|
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(x);
|
||||||
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(z);
|
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(z);
|
||||||
ERROR 42S22: Unknown column 'z' in 'field list'
|
ERROR 42S22: Unknown column 'z' in 'UPDATE'
|
||||||
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(t2.x);
|
insert into t1(x,y) select x,z from t2 on duplicate key update x=values(t2.x);
|
||||||
ERROR 42S22: Unknown column 't2.x' in 'field list'
|
ERROR 42S22: Unknown column 't2.x' in 'UPDATE'
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
CREATE TABLE t1 (a int PRIMARY KEY);
|
CREATE TABLE t1 (a int PRIMARY KEY);
|
||||||
INSERT INTO t1 values (1), (2);
|
INSERT INTO t1 values (1), (2);
|
||||||
|
@ -158,7 +158,7 @@ a b c
|
|||||||
5 0 30
|
5 0 30
|
||||||
8 9 60
|
8 9 60
|
||||||
INSERT t1 SELECT a,b,c FROM t2 WHERE d=2 ON DUPLICATE KEY UPDATE c=c+VALUES(a);
|
INSERT t1 SELECT a,b,c FROM t2 WHERE d=2 ON DUPLICATE KEY UPDATE c=c+VALUES(a);
|
||||||
ERROR 23000: Column 'c' in field list is ambiguous
|
ERROR 23000: Column 'c' in UPDATE is ambiguous
|
||||||
INSERT t1 SELECT a,b,c FROM t2 WHERE d=2 ON DUPLICATE KEY UPDATE c=t1.c+VALUES(t1.a);
|
INSERT t1 SELECT a,b,c FROM t2 WHERE d=2 ON DUPLICATE KEY UPDATE c=t1.c+VALUES(t1.a);
|
||||||
SELECT *, VALUE(a) FROM t1;
|
SELECT *, VALUE(a) FROM t1;
|
||||||
a b c VALUE(a)
|
a b c VALUE(a)
|
||||||
@ -191,9 +191,9 @@ a
|
|||||||
2
|
2
|
||||||
3
|
3
|
||||||
insert into t1 select a from t1 on duplicate key update a=a+1 ;
|
insert into t1 select a from t1 on duplicate key update a=a+1 ;
|
||||||
ERROR 23000: Column 'a' in field list is ambiguous
|
ERROR 23000: Column 'a' in UPDATE is ambiguous
|
||||||
insert ignore into t1 select a from t1 on duplicate key update a=t1.a+1 ;
|
insert ignore into t1 select a from t1 on duplicate key update a=t1.a+1 ;
|
||||||
ERROR 23000: Column 't1.a' in field list is ambiguous
|
ERROR 23000: Column 't1.a' in UPDATE is ambiguous
|
||||||
drop table t1;
|
drop table t1;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
a BIGINT(20) NOT NULL DEFAULT 0,
|
a BIGINT(20) NOT NULL DEFAULT 0,
|
||||||
@ -225,7 +225,7 @@ a b
|
|||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (i INT PRIMARY KEY, j INT);
|
CREATE TABLE t1 (i INT PRIMARY KEY, j INT);
|
||||||
INSERT INTO t1 SELECT 1, j;
|
INSERT INTO t1 SELECT 1, j;
|
||||||
ERROR 42S22: Unknown column 'j' in 'field list'
|
ERROR 42S22: Unknown column 'j' in 'SELECT'
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
CREATE TABLE t1 (i INT PRIMARY KEY, j INT);
|
CREATE TABLE t1 (i INT PRIMARY KEY, j INT);
|
||||||
CREATE TABLE t2 (a INT, b INT);
|
CREATE TABLE t2 (a INT, b INT);
|
||||||
@ -238,7 +238,7 @@ CREATE TABLE t2 (a INT);
|
|||||||
INSERT INTO t1 VALUES (1, 1);
|
INSERT INTO t1 VALUES (1, 1);
|
||||||
INSERT INTO t2 VALUES (1), (3);
|
INSERT INTO t2 VALUES (1), (3);
|
||||||
INSERT INTO t1 SELECT 1, COUNT(*) FROM t2 ON DUPLICATE KEY UPDATE j= a;
|
INSERT INTO t1 SELECT 1, COUNT(*) FROM t2 ON DUPLICATE KEY UPDATE j= a;
|
||||||
ERROR 42S22: Unknown column 'a' in 'field list'
|
ERROR 42S22: Unknown column 'a' in 'UPDATE'
|
||||||
DROP TABLE t1,t2;
|
DROP TABLE t1,t2;
|
||||||
SET SQL_MODE = 'TRADITIONAL';
|
SET SQL_MODE = 'TRADITIONAL';
|
||||||
CREATE TABLE t1 (a INT PRIMARY KEY, b INT NOT NULL);
|
CREATE TABLE t1 (a INT PRIMARY KEY, b INT NOT NULL);
|
||||||
|
@ -234,7 +234,7 @@ a d e f
|
|||||||
1 d blob 3 1
|
1 d blob 3 1
|
||||||
1 d blob 41 1
|
1 d blob 41 1
|
||||||
select a,b,c,d,e,f from t2;
|
select a,b,c,d,e,f from t2;
|
||||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
ERROR 42S22: Unknown column 'b' in 'SELECT'
|
||||||
drop table t2;
|
drop table t2;
|
||||||
#now this will copy invisible fields
|
#now this will copy invisible fields
|
||||||
create table t2 as select a,b,c,d,e,f from t1;
|
create table t2 as select a,b,c,d,e,f from t1;
|
||||||
@ -310,7 +310,7 @@ a d e f
|
|||||||
1 d blob 41 1
|
1 d blob 41 1
|
||||||
#v does not have invisible column;
|
#v does not have invisible column;
|
||||||
select a,b,c,d,e,f from v;
|
select a,b,c,d,e,f from v;
|
||||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
ERROR 42S22: Unknown column 'b' in 'SELECT'
|
||||||
insert into v values(1,21,32,4);
|
insert into v values(1,21,32,4);
|
||||||
select * from v;
|
select * from v;
|
||||||
a d e f
|
a d e f
|
||||||
@ -321,7 +321,7 @@ a d e f
|
|||||||
1 d blob 41 1
|
1 d blob 41 1
|
||||||
1 21 32 4
|
1 21 32 4
|
||||||
insert into v(a,b,c,d,e,f) values(1,12,3,4,5,6);
|
insert into v(a,b,c,d,e,f) values(1,12,3,4,5,6);
|
||||||
ERROR 42S22: Unknown column 'b' in 'field list'
|
ERROR 42S22: Unknown column 'b' in 'INSERT INTO'
|
||||||
drop view v;
|
drop view v;
|
||||||
create view v as select a,b,c,d,e,f from t1;
|
create view v as select a,b,c,d,e,f from t1;
|
||||||
desc v;
|
desc v;
|
||||||
|
@ -16,16 +16,16 @@ select a , invisible from t1;
|
|||||||
a invisible
|
a invisible
|
||||||
1 9
|
1 9
|
||||||
insert into t1(a, invisible) values(99,99);
|
insert into t1(a, invisible) values(99,99);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'INSERT INTO'
|
||||||
select default(invisible) from t1;
|
select default(invisible) from t1;
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'SELECT'
|
||||||
insert into t1(invisible) values(99);
|
insert into t1(invisible) values(99);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'INSERT INTO'
|
||||||
insert into t_tmp select a, invisible from t1;
|
insert into t_tmp select a, invisible from t1;
|
||||||
insert into t1 select * from t_tmp;
|
insert into t1 select * from t_tmp;
|
||||||
ERROR 21S01: Column count doesn't match value count at row 1
|
ERROR 21S01: Column count doesn't match value count at row 1
|
||||||
insert into t1(a,invisible) select * from t_tmp;
|
insert into t1(a,invisible) select * from t_tmp;
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'INSERT INTO'
|
||||||
select a , invisible from t1;
|
select a , invisible from t1;
|
||||||
a invisible
|
a invisible
|
||||||
1 9
|
1 9
|
||||||
@ -45,22 +45,22 @@ select a , invisible from t1;
|
|||||||
a invisible
|
a invisible
|
||||||
109 9
|
109 9
|
||||||
update t1 set invisible = 23 where a=(select a from t1 limit 1);
|
update t1 set invisible = 23 where a=(select a from t1 limit 1);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'SET'
|
||||||
update t1 set invisible = 101 where a=(select a from t1 limit 1);
|
update t1 set invisible = 101 where a=(select a from t1 limit 1);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'SET'
|
||||||
update t1 set invisible = (select invisible+100 from t1 limit 1) where a=(select invisible from t1 limit 1);
|
update t1 set invisible = (select invisible+100 from t1 limit 1) where a=(select invisible from t1 limit 1);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'SET'
|
||||||
select a , invisible from t1;
|
select a , invisible from t1;
|
||||||
a invisible
|
a invisible
|
||||||
109 9
|
109 9
|
||||||
set @a=12;
|
set @a=12;
|
||||||
update t1 set invisible = (select @a from dual) where a=(select a from t1 limit 1);
|
update t1 set invisible = (select @a from dual) where a=(select a from t1 limit 1);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'SET'
|
||||||
select a , invisible from t1;
|
select a , invisible from t1;
|
||||||
a invisible
|
a invisible
|
||||||
109 9
|
109 9
|
||||||
update t1 set invisible = (select invisible+100 from t1 limit 1) where a=(select a from t1 limit 1);
|
update t1 set invisible = (select invisible+100 from t1 limit 1) where a=(select a from t1 limit 1);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'SET'
|
||||||
select a , invisible from t1;
|
select a , invisible from t1;
|
||||||
a invisible
|
a invisible
|
||||||
109 9
|
109 9
|
||||||
@ -100,7 +100,7 @@ select * from t1;
|
|||||||
a
|
a
|
||||||
1
|
1
|
||||||
select invisible ,a from t1;
|
select invisible ,a from t1;
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'SELECT'
|
||||||
set debug_dbug= "+d,test_completely_invisible";
|
set debug_dbug= "+d,test_completely_invisible";
|
||||||
select invisible ,a from t1;
|
select invisible ,a from t1;
|
||||||
invisible a
|
invisible a
|
||||||
@ -108,9 +108,9 @@ invisible a
|
|||||||
set debug_dbug=@old_debug;
|
set debug_dbug=@old_debug;
|
||||||
create table t2 (invisible int);
|
create table t2 (invisible int);
|
||||||
select * from t1 join t2 using (invisible);
|
select * from t1 join t2 using (invisible);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'from clause'
|
ERROR 42S22: Unknown column 'invisible' in 'FROM'
|
||||||
select * from t2 join t1 using (invisible);
|
select * from t2 join t1 using (invisible);
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'from clause'
|
ERROR 42S22: Unknown column 'invisible' in 'FROM'
|
||||||
insert t2 values (8),(9);
|
insert t2 values (8),(9);
|
||||||
select * from t1 natural join t2;
|
select * from t1 natural join t2;
|
||||||
a invisible
|
a invisible
|
||||||
|
@ -39,7 +39,7 @@ a
|
|||||||
2
|
2
|
||||||
3
|
3
|
||||||
select invisible,a from t1;
|
select invisible,a from t1;
|
||||||
ERROR 42S22: Unknown column 'invisible' in 'field list'
|
ERROR 42S22: Unknown column 'invisible' in 'SELECT'
|
||||||
delete from t1 where a =1;
|
delete from t1 where a =1;
|
||||||
update t1 set a=1 where a=3;
|
update t1 set a=1 where a=3;
|
||||||
select * from t1;
|
select * from t1;
|
||||||
|
@ -727,31 +727,31 @@ b c a c b y
|
|||||||
1 10 2 3 1 2
|
1 10 2 3 1 2
|
||||||
1 3 2 3 1 2
|
1 3 2 3 1 2
|
||||||
select * from t1 natural join (t3 cross join t4);
|
select * from t1 natural join (t3 cross join t4);
|
||||||
ERROR 23000: Column 'c' in from clause is ambiguous
|
ERROR 23000: Column 'c' in FROM is ambiguous
|
||||||
select * from (t3 cross join t4) natural join t1;
|
select * from (t3 cross join t4) natural join t1;
|
||||||
ERROR 23000: Column 'c' in from clause is ambiguous
|
ERROR 23000: Column 'c' in FROM is ambiguous
|
||||||
select * from t1 join (t2, t3) using (b);
|
select * from t1 join (t2, t3) using (b);
|
||||||
ERROR 23000: Column 'b' in from clause is ambiguous
|
ERROR 23000: Column 'b' in FROM is ambiguous
|
||||||
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
|
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
|
||||||
ERROR 23000: Column 'c' in from clause is ambiguous
|
ERROR 23000: Column 'c' in FROM is ambiguous
|
||||||
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
|
select * from ((t1 natural join t2), (t3 natural join t4)) natural join t6;
|
||||||
ERROR 23000: Column 'c' in from clause is ambiguous
|
ERROR 23000: Column 'c' in FROM is ambiguous
|
||||||
select * from t6 natural join ((t1 natural join t2), (t3 natural join t4));
|
select * from t6 natural join ((t1 natural join t2), (t3 natural join t4));
|
||||||
ERROR 23000: Column 'c' in from clause is ambiguous
|
ERROR 23000: Column 'c' in FROM is ambiguous
|
||||||
select * from (t1 join t2 on t1.b=t2.b) natural join (t3 natural join t4);
|
select * from (t1 join t2 on t1.b=t2.b) natural join (t3 natural join t4);
|
||||||
ERROR 23000: Column 'b' in from clause is ambiguous
|
ERROR 23000: Column 'b' in FROM is ambiguous
|
||||||
select * from (t3 natural join t4) natural join (t1 join t2 on t1.b=t2.b);
|
select * from (t3 natural join t4) natural join (t1 join t2 on t1.b=t2.b);
|
||||||
ERROR 23000: Column 'b' in from clause is ambiguous
|
ERROR 23000: Column 'b' in FROM is ambiguous
|
||||||
select * from (t3 join (t4 natural join t5) on (b < z))
|
select * from (t3 join (t4 natural join t5) on (b < z))
|
||||||
natural join
|
natural join
|
||||||
(t1 natural join t2);
|
(t1 natural join t2);
|
||||||
ERROR 23000: Column 'c' in from clause is ambiguous
|
ERROR 23000: Column 'c' in FROM is ambiguous
|
||||||
select * from (t1 natural join t2) natural join (t3 join (t4 natural join t5) on (b < z));
|
select * from (t1 natural join t2) natural join (t3 join (t4 natural join t5) on (b < z));
|
||||||
ERROR 23000: Column 'c' in from clause is ambiguous
|
ERROR 23000: Column 'c' in FROM is ambiguous
|
||||||
select t1.b from v1a;
|
select t1.b from v1a;
|
||||||
ERROR 42S22: Unknown column 't1.b' in 'field list'
|
ERROR 42S22: Unknown column 't1.b' in 'SELECT'
|
||||||
select * from v1a join v1b on t1.b = t2.b;
|
select * from v1a join v1b on t1.b = t2.b;
|
||||||
ERROR 42S22: Unknown column 't1.b' in 'on clause'
|
ERROR 42S22: Unknown column 't1.b' in 'ON'
|
||||||
select
|
select
|
||||||
statistics.TABLE_NAME, statistics.COLUMN_NAME, statistics.TABLE_CATALOG, statistics.TABLE_SCHEMA, statistics.NON_UNIQUE, statistics.INDEX_SCHEMA, statistics.INDEX_NAME, statistics.SEQ_IN_INDEX, statistics.COLLATION, statistics.SUB_PART, statistics.PACKED, statistics.NULLABLE, statistics.INDEX_TYPE, statistics.COMMENT,
|
statistics.TABLE_NAME, statistics.COLUMN_NAME, statistics.TABLE_CATALOG, statistics.TABLE_SCHEMA, statistics.NON_UNIQUE, statistics.INDEX_SCHEMA, statistics.INDEX_NAME, statistics.SEQ_IN_INDEX, statistics.COLLATION, statistics.SUB_PART, statistics.PACKED, statistics.NULLABLE, statistics.INDEX_TYPE, statistics.COMMENT,
|
||||||
columns.TABLE_CATALOG, columns.TABLE_SCHEMA, columns.COLUMN_DEFAULT, columns.IS_NULLABLE, columns.DATA_TYPE, columns.CHARACTER_MAXIMUM_LENGTH, columns.CHARACTER_OCTET_LENGTH, columns.NUMERIC_PRECISION, columns.NUMERIC_SCALE, columns.CHARACTER_SET_NAME, columns.COLLATION_NAME, columns.COLUMN_TYPE, columns.COLUMN_KEY, columns.EXTRA, columns.COLUMN_COMMENT
|
columns.TABLE_CATALOG, columns.TABLE_SCHEMA, columns.COLUMN_DEFAULT, columns.IS_NULLABLE, columns.DATA_TYPE, columns.CHARACTER_MAXIMUM_LENGTH, columns.CHARACTER_OCTET_LENGTH, columns.NUMERIC_PRECISION, columns.NUMERIC_SCALE, columns.CHARACTER_SET_NAME, columns.COLLATION_NAME, columns.COLUMN_TYPE, columns.COLUMN_KEY, columns.EXTRA, columns.COLUMN_COMMENT
|
||||||
@ -1531,12 +1531,12 @@ SET optimizer_switch=@save_optimizer_switch;
|
|||||||
CREATE TABLE t (i INT);
|
CREATE TABLE t (i INT);
|
||||||
CREATE PROCEDURE p() SELECT t1.f FROM t AS t1 JOIN t AS t2 USING (f);
|
CREATE PROCEDURE p() SELECT t1.f FROM t AS t1 JOIN t AS t2 USING (f);
|
||||||
CALL p;
|
CALL p;
|
||||||
ERROR 42S22: Unknown column 'f' in 'from clause'
|
ERROR 42S22: Unknown column 'f' in 'FROM'
|
||||||
CALL p;
|
CALL p;
|
||||||
ERROR 42S22: Unknown column 'f' in 'from clause'
|
ERROR 42S22: Unknown column 'f' in 'FROM'
|
||||||
FLUSH TABLES;
|
FLUSH TABLES;
|
||||||
CALL p;
|
CALL p;
|
||||||
ERROR 42S22: Unknown column 'f' in 'from clause'
|
ERROR 42S22: Unknown column 'f' in 'FROM'
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
CREATE TABLE t (f INT);
|
CREATE TABLE t (f INT);
|
||||||
CALL p;
|
CALL p;
|
||||||
@ -1544,9 +1544,9 @@ f
|
|||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
CREATE TABLE t (i INT);
|
CREATE TABLE t (i INT);
|
||||||
CALL p;
|
CALL p;
|
||||||
ERROR 42S22: Unknown column 'f' in 'from clause'
|
ERROR 42S22: Unknown column 'f' in 'FROM'
|
||||||
CALL p;
|
CALL p;
|
||||||
ERROR 42S22: Unknown column 'f' in 'from clause'
|
ERROR 42S22: Unknown column 'f' in 'FROM'
|
||||||
DROP PROCEDURE p;
|
DROP PROCEDURE p;
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
CREATE TABLE t1 (a INT, b INT);
|
CREATE TABLE t1 (a INT, b INT);
|
||||||
@ -1557,9 +1557,9 @@ CREATE TABLE t5 (a INT, c INT);
|
|||||||
CREATE PROCEDURE p1() SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 USING (a)
|
CREATE PROCEDURE p1() SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 USING (a)
|
||||||
LEFT JOIN t5 USING (a)) USING (a);
|
LEFT JOIN t5 USING (a)) USING (a);
|
||||||
CALL p1;
|
CALL p1;
|
||||||
ERROR 23000: Column 'c' in field list is ambiguous
|
ERROR 23000: Column 'c' in SELECT is ambiguous
|
||||||
CALL p1;
|
CALL p1;
|
||||||
ERROR 23000: Column 'c' in field list is ambiguous
|
ERROR 23000: Column 'c' in SELECT is ambiguous
|
||||||
DROP PROCEDURE p1;
|
DROP PROCEDURE p1;
|
||||||
DROP TABLE t1,t2,t3,t4,t5;
|
DROP TABLE t1,t2,t3,t4,t5;
|
||||||
#
|
#
|
||||||
@ -3576,6 +3576,38 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
1 SIMPLE seq ALL NULL NULL NULL NULL 10 Using where; Using join buffer (flat, BNL join)
|
1 SIMPLE seq ALL NULL NULL NULL NULL 10 Using where; Using join buffer (flat, BNL join)
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
#
|
#
|
||||||
|
# MDEV-35180: ref_to_range rewrite causes poor query plan
|
||||||
|
#
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 select seq from seq_1_to_100;
|
||||||
|
create table t2 (
|
||||||
|
kp1 int,
|
||||||
|
kp2 int,
|
||||||
|
filler char(100),
|
||||||
|
key(kp1, kp2)
|
||||||
|
);
|
||||||
|
insert into t2
|
||||||
|
select
|
||||||
|
seq, seq,
|
||||||
|
'filler-data'
|
||||||
|
from seq_1_to_10000;
|
||||||
|
analyze table t1,t2;
|
||||||
|
Table Op Msg_type Msg_text
|
||||||
|
test.t1 analyze status Engine-independent statistics collected
|
||||||
|
test.t1 analyze status OK
|
||||||
|
test.t2 analyze status Engine-independent statistics collected
|
||||||
|
test.t2 analyze status Table is already up to date
|
||||||
|
# For t2, this must use type=ref, key_len=5 (not type=range, key_len=10)
|
||||||
|
explain
|
||||||
|
select *
|
||||||
|
from t1, t2
|
||||||
|
where
|
||||||
|
t2.kp1=t1.a and t2.kp1<=100 and t2.kp2<=20;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ALL NULL NULL NULL NULL 100 Using where
|
||||||
|
1 SIMPLE t2 ref kp1 kp1 5 test.t1.a 1 Using index condition
|
||||||
|
drop table t1,t2;
|
||||||
|
#
|
||||||
# MDEV-30256 Wrong result (missing rows) upon join with empty table
|
# MDEV-30256 Wrong result (missing rows) upon join with empty table
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
|
@ -1977,6 +1977,34 @@ explain select count(*) from t1, t2 as seq where a=10 and b=seq.seq;
|
|||||||
explain select count(*) from t1, t2 as seq where a=11 and b=seq.seq;
|
explain select count(*) from t1, t2 as seq where a=11 and b=seq.seq;
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-35180: ref_to_range rewrite causes poor query plan
|
||||||
|
--echo #
|
||||||
|
create table t1 (a int);
|
||||||
|
insert into t1 select seq from seq_1_to_100;
|
||||||
|
|
||||||
|
create table t2 (
|
||||||
|
kp1 int,
|
||||||
|
kp2 int,
|
||||||
|
filler char(100),
|
||||||
|
key(kp1, kp2)
|
||||||
|
);
|
||||||
|
insert into t2
|
||||||
|
select
|
||||||
|
seq, seq,
|
||||||
|
'filler-data'
|
||||||
|
from seq_1_to_10000;
|
||||||
|
|
||||||
|
analyze table t1,t2;
|
||||||
|
|
||||||
|
--echo # For t2, this must use type=ref, key_len=5 (not type=range, key_len=10)
|
||||||
|
explain
|
||||||
|
select *
|
||||||
|
from t1, t2
|
||||||
|
where
|
||||||
|
t2.kp1=t1.a and t2.kp1<=100 and t2.kp2<=20;
|
||||||
|
|
||||||
|
drop table t1,t2;
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-30256 Wrong result (missing rows) upon join with empty table
|
--echo # MDEV-30256 Wrong result (missing rows) upon join with empty table
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -6244,7 +6244,7 @@ explain format=json
|
|||||||
select *
|
select *
|
||||||
from t1 a, t3 b
|
from t1 a, t3 b
|
||||||
where
|
where
|
||||||
b.kp1=a.a and
|
b.kp1+1=a.a+1 and
|
||||||
b.kp1 <= 10 and
|
b.kp1 <= 10 and
|
||||||
b.kp2 <= 10 and
|
b.kp2 <= 10 and
|
||||||
b.col1 +1 < 33333;
|
b.col1 +1 < 33333;
|
||||||
@ -6257,8 +6257,7 @@ EXPLAIN
|
|||||||
{
|
{
|
||||||
"table": {
|
"table": {
|
||||||
"table_name": "a",
|
"table_name": "a",
|
||||||
"access_type": "range",
|
"access_type": "index",
|
||||||
"possible_keys": ["PRIMARY"],
|
|
||||||
"key": "PRIMARY",
|
"key": "PRIMARY",
|
||||||
"key_length": "4",
|
"key_length": "4",
|
||||||
"used_key_parts": ["a"],
|
"used_key_parts": ["a"],
|
||||||
@ -6266,7 +6265,6 @@ EXPLAIN
|
|||||||
"rows": 10,
|
"rows": 10,
|
||||||
"cost": "COST_REPLACED",
|
"cost": "COST_REPLACED",
|
||||||
"filtered": 100,
|
"filtered": 100,
|
||||||
"attached_condition": "a.a <= 10",
|
|
||||||
"using_index": true
|
"using_index": true
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -6282,14 +6280,14 @@ EXPLAIN
|
|||||||
"loops": 10,
|
"loops": 10,
|
||||||
"rows": 836,
|
"rows": 836,
|
||||||
"cost": "COST_REPLACED",
|
"cost": "COST_REPLACED",
|
||||||
"filtered": 9.090909004,
|
"filtered": 100,
|
||||||
"index_condition": "b.kp2 <= 10",
|
"index_condition": "b.kp1 <= 10 and b.kp2 <= 10",
|
||||||
"attached_condition": "b.kp2 <= 10 and b.col1 + 1 < 33333"
|
"attached_condition": "b.kp1 <= 10 and b.kp2 <= 10 and b.col1 + 1 < 33333"
|
||||||
},
|
},
|
||||||
"buffer_type": "flat",
|
"buffer_type": "flat",
|
||||||
"buffer_size": "54",
|
"buffer_size": "54",
|
||||||
"join_type": "BNL",
|
"join_type": "BNL",
|
||||||
"attached_condition": "b.kp1 = a.a"
|
"attached_condition": "b.kp1 + 1 = a.a + 1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -4228,7 +4228,7 @@ explain format=json
|
|||||||
select *
|
select *
|
||||||
from t1 a, t3 b
|
from t1 a, t3 b
|
||||||
where
|
where
|
||||||
b.kp1=a.a and
|
b.kp1+1=a.a+1 and
|
||||||
b.kp1 <= 10 and
|
b.kp1 <= 10 and
|
||||||
b.kp2 <= 10 and
|
b.kp2 <= 10 and
|
||||||
b.col1 +1 < 33333;
|
b.col1 +1 < 33333;
|
||||||
|
@ -1401,19 +1401,19 @@ SELECT e FROM t5 NATURAL JOIN t6;
|
|||||||
SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d);
|
SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d);
|
||||||
a
|
a
|
||||||
SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d);
|
SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d);
|
||||||
ERROR 42S22: Unknown column 't1.x' in 'field list'
|
ERROR 42S22: Unknown column 't1.x' in 'SELECT'
|
||||||
SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4;
|
SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4;
|
||||||
a
|
a
|
||||||
SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4;
|
SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4;
|
||||||
ERROR 42S22: Unknown column 't1.x' in 'field list'
|
ERROR 42S22: Unknown column 't1.x' in 'SELECT'
|
||||||
SELECT v1.e FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
SELECT v1.e FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
||||||
e
|
e
|
||||||
SELECT v1.x FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
SELECT v1.x FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
||||||
ERROR 42S22: Unknown column 'v1.x' in 'field list'
|
ERROR 42S22: Unknown column 'v1.x' in 'SELECT'
|
||||||
SELECT v2.e FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
SELECT v2.e FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
||||||
e
|
e
|
||||||
SELECT v2.x FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
SELECT v2.x FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
||||||
ERROR 42S22: Unknown column 'v2.x' in 'field list'
|
ERROR 42S22: Unknown column 'v2.x' in 'SELECT'
|
||||||
DROP VIEW v1, v2;
|
DROP VIEW v1, v2;
|
||||||
DROP TABLE t1, t2, t3, t4, t5, t6;
|
DROP TABLE t1, t2, t3, t4, t5, t6;
|
||||||
create table t1 (id1 int(11) not null);
|
create table t1 (id1 int(11) not null);
|
||||||
@ -1628,13 +1628,13 @@ LEFT JOIN t5 USING (a)) USING (a);
|
|||||||
b
|
b
|
||||||
SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 USING (a)
|
SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 USING (a)
|
||||||
LEFT JOIN t5 USING (a)) USING (a);
|
LEFT JOIN t5 USING (a)) USING (a);
|
||||||
ERROR 23000: Column 'c' in field list is ambiguous
|
ERROR 23000: Column 'c' in SELECT is ambiguous
|
||||||
SELECT b FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a)
|
SELECT b FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a)
|
||||||
JOIN t5 USING (a)) USING (a);
|
JOIN t5 USING (a)) USING (a);
|
||||||
b
|
b
|
||||||
SELECT c FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a)
|
SELECT c FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a)
|
||||||
JOIN t5 USING (a)) USING (a);
|
JOIN t5 USING (a)) USING (a);
|
||||||
ERROR 23000: Column 'c' in field list is ambiguous
|
ERROR 23000: Column 'c' in SELECT is ambiguous
|
||||||
DROP TABLE t1,t2,t3,t4,t5;
|
DROP TABLE t1,t2,t3,t4,t5;
|
||||||
CREATE TABLE t1 (a INT, b INT);
|
CREATE TABLE t1 (a INT, b INT);
|
||||||
CREATE TABLE t2 (a INT, b INT);
|
CREATE TABLE t2 (a INT, b INT);
|
||||||
@ -1643,7 +1643,7 @@ INSERT INTO t1 VALUES (1,1);
|
|||||||
INSERT INTO t2 VALUES (1,1);
|
INSERT INTO t2 VALUES (1,1);
|
||||||
INSERT INTO t3 VALUES (1,1);
|
INSERT INTO t3 VALUES (1,1);
|
||||||
SELECT * FROM t1 JOIN (t2 JOIN t3 USING (b)) USING (a);
|
SELECT * FROM t1 JOIN (t2 JOIN t3 USING (b)) USING (a);
|
||||||
ERROR 23000: Column 'a' in from clause is ambiguous
|
ERROR 23000: Column 'a' in FROM is ambiguous
|
||||||
DROP TABLE t1,t2,t3;
|
DROP TABLE t1,t2,t3;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
carrier char(2) default NULL,
|
carrier char(2) default NULL,
|
||||||
|
@ -1410,19 +1410,19 @@ SELECT e FROM t5 NATURAL JOIN t6;
|
|||||||
SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d);
|
SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d);
|
||||||
a
|
a
|
||||||
SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d);
|
SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c JOIN t4 USING(d);
|
||||||
ERROR 42S22: Unknown column 't1.x' in 'field list'
|
ERROR 42S22: Unknown column 't1.x' in 'SELECT'
|
||||||
SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4;
|
SELECT t1.a FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4;
|
||||||
a
|
a
|
||||||
SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4;
|
SELECT t1.x FROM t1 JOIN t2 ON a=b JOIN t3 ON a=c NATURAL JOIN t4;
|
||||||
ERROR 42S22: Unknown column 't1.x' in 'field list'
|
ERROR 42S22: Unknown column 't1.x' in 'SELECT'
|
||||||
SELECT v1.e FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
SELECT v1.e FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
||||||
e
|
e
|
||||||
SELECT v1.x FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
SELECT v1.x FROM v1 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
||||||
ERROR 42S22: Unknown column 'v1.x' in 'field list'
|
ERROR 42S22: Unknown column 'v1.x' in 'SELECT'
|
||||||
SELECT v2.e FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
SELECT v2.e FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
||||||
e
|
e
|
||||||
SELECT v2.x FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
SELECT v2.x FROM v2 JOIN t2 ON e=b JOIN t3 ON e=c JOIN t4 USING(d);
|
||||||
ERROR 42S22: Unknown column 'v2.x' in 'field list'
|
ERROR 42S22: Unknown column 'v2.x' in 'SELECT'
|
||||||
DROP VIEW v1, v2;
|
DROP VIEW v1, v2;
|
||||||
DROP TABLE t1, t2, t3, t4, t5, t6;
|
DROP TABLE t1, t2, t3, t4, t5, t6;
|
||||||
create table t1 (id1 int(11) not null);
|
create table t1 (id1 int(11) not null);
|
||||||
@ -1637,13 +1637,13 @@ LEFT JOIN t5 USING (a)) USING (a);
|
|||||||
b
|
b
|
||||||
SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 USING (a)
|
SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 USING (a)
|
||||||
LEFT JOIN t5 USING (a)) USING (a);
|
LEFT JOIN t5 USING (a)) USING (a);
|
||||||
ERROR 23000: Column 'c' in field list is ambiguous
|
ERROR 23000: Column 'c' in SELECT is ambiguous
|
||||||
SELECT b FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a)
|
SELECT b FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a)
|
||||||
JOIN t5 USING (a)) USING (a);
|
JOIN t5 USING (a)) USING (a);
|
||||||
b
|
b
|
||||||
SELECT c FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a)
|
SELECT c FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 USING (a)
|
||||||
JOIN t5 USING (a)) USING (a);
|
JOIN t5 USING (a)) USING (a);
|
||||||
ERROR 23000: Column 'c' in field list is ambiguous
|
ERROR 23000: Column 'c' in SELECT is ambiguous
|
||||||
DROP TABLE t1,t2,t3,t4,t5;
|
DROP TABLE t1,t2,t3,t4,t5;
|
||||||
CREATE TABLE t1 (a INT, b INT);
|
CREATE TABLE t1 (a INT, b INT);
|
||||||
CREATE TABLE t2 (a INT, b INT);
|
CREATE TABLE t2 (a INT, b INT);
|
||||||
@ -1652,7 +1652,7 @@ INSERT INTO t1 VALUES (1,1);
|
|||||||
INSERT INTO t2 VALUES (1,1);
|
INSERT INTO t2 VALUES (1,1);
|
||||||
INSERT INTO t3 VALUES (1,1);
|
INSERT INTO t3 VALUES (1,1);
|
||||||
SELECT * FROM t1 JOIN (t2 JOIN t3 USING (b)) USING (a);
|
SELECT * FROM t1 JOIN (t2 JOIN t3 USING (b)) USING (a);
|
||||||
ERROR 23000: Column 'a' in from clause is ambiguous
|
ERROR 23000: Column 'a' in FROM is ambiguous
|
||||||
DROP TABLE t1,t2,t3;
|
DROP TABLE t1,t2,t3;
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
carrier char(2) default NULL,
|
carrier char(2) default NULL,
|
||||||
|
@ -35,3 +35,25 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
1 SIMPLE a ALL NULL NULL NULL NULL 2 Using where
|
1 SIMPLE a ALL NULL NULL NULL NULL 2 Using where
|
||||||
1 SIMPLE g ref groups_dt groups_dt 70 const,test.a.type 13 Using index condition
|
1 SIMPLE g ref groups_dt groups_dt 70 const,test.a.type 13 Using index condition
|
||||||
drop table t0,t1,t2,t3;
|
drop table t0,t1,t2,t3;
|
||||||
|
#
|
||||||
|
# MDEV-35253: xa_prepare_unlock_unmodified fails: shift exponent 32 is too large
|
||||||
|
#
|
||||||
|
set @create=
|
||||||
|
concat("create table t1(",
|
||||||
|
(select group_concat(concat("col",seq, " int")) from seq_1_to_32),
|
||||||
|
",\n index idx1(",
|
||||||
|
(select group_concat(concat("col",seq)) from seq_1_to_32),
|
||||||
|
")\n)"
|
||||||
|
);
|
||||||
|
$create_tbl;
|
||||||
|
insert into t1() values (),(),();
|
||||||
|
analyze table t1;
|
||||||
|
Table Op Msg_type Msg_text
|
||||||
|
test.t1 analyze status Engine-independent statistics collected
|
||||||
|
test.t1 analyze status OK
|
||||||
|
# Must not produce a "shift exponent 32 is too large" runtime ubsan error
|
||||||
|
explain select * from t1 where col1=1;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 SIMPLE t1 ref idx1 idx1 5 const 1 Using index
|
||||||
|
drop table t1;
|
||||||
|
End of 10.5 tests
|
||||||
|
@ -45,3 +45,27 @@ SELECT STRAIGHT_JOIN g.id FROM t2 a, t3 g USE INDEX(groups_dt)
|
|||||||
WHERE g.domain = 'queue' AND g.type = a.type;
|
WHERE g.domain = 'queue' AND g.type = a.type;
|
||||||
|
|
||||||
drop table t0,t1,t2,t3;
|
drop table t0,t1,t2,t3;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-35253: xa_prepare_unlock_unmodified fails: shift exponent 32 is too large
|
||||||
|
--echo #
|
||||||
|
--source include/have_sequence.inc
|
||||||
|
set @create=
|
||||||
|
concat("create table t1(",
|
||||||
|
(select group_concat(concat("col",seq, " int")) from seq_1_to_32),
|
||||||
|
",\n index idx1(",
|
||||||
|
(select group_concat(concat("col",seq)) from seq_1_to_32),
|
||||||
|
")\n)"
|
||||||
|
);
|
||||||
|
|
||||||
|
let $create_tbl=`select @create`;
|
||||||
|
evalp $create_tbl;
|
||||||
|
insert into t1() values (),(),();
|
||||||
|
analyze table t1;
|
||||||
|
|
||||||
|
--echo # Must not produce a "shift exponent 32 is too large" runtime ubsan error
|
||||||
|
explain select * from t1 where col1=1;
|
||||||
|
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
--echo End of 10.5 tests
|
||||||
|
@ -110,11 +110,11 @@ grp a c id a c d a
|
|||||||
3 6 D 3 6 C 6 6
|
3 6 D 3 6 C 6 6
|
||||||
NULL NULL NULL NULL NULL NULL NULL
|
NULL NULL NULL NULL NULL NULL NULL
|
||||||
explain select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
explain select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
||||||
ERROR 42S22: Unknown column 't3.a' in 'on clause'
|
ERROR 42S22: Unknown column 't3.a' in 'ON'
|
||||||
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
||||||
ERROR 42S22: Unknown column 't3.a' in 'on clause'
|
ERROR 42S22: Unknown column 't3.a' in 'ON'
|
||||||
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t2.a=t3.a);
|
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t2.a=t3.a);
|
||||||
ERROR 42S22: Unknown column 't3.a' in 'on clause'
|
ERROR 42S22: Unknown column 't3.a' in 'ON'
|
||||||
select t1.*,t2.* from t1 inner join t2 using (a);
|
select t1.*,t2.* from t1 inner join t2 using (a);
|
||||||
grp a c id a c d
|
grp a c id a c d
|
||||||
1 1 a 1 1 a 1
|
1 1 a 1 1 a 1
|
||||||
@ -404,7 +404,7 @@ insert into t3 values (1);
|
|||||||
insert into t4 values (1,1);
|
insert into t4 values (1,1);
|
||||||
insert into t5 values (1,1);
|
insert into t5 values (1,1);
|
||||||
explain select * from t3 left join t4 on t4.seq_1_id = t2.t2_id left join t1 on t1.t1_id = t4.seq_0_id left join t5 on t5.seq_0_id = t1.t1_id left join t2 on t2.t2_id = t5.seq_1_id where t3.t3_id = 23;
|
explain select * from t3 left join t4 on t4.seq_1_id = t2.t2_id left join t1 on t1.t1_id = t4.seq_0_id left join t5 on t5.seq_0_id = t1.t1_id left join t2 on t2.t2_id = t5.seq_1_id where t3.t3_id = 23;
|
||||||
ERROR 42S22: Unknown column 't2.t2_id' in 'on clause'
|
ERROR 42S22: Unknown column 't2.t2_id' in 'ON'
|
||||||
drop table t1,t2,t3,t4,t5;
|
drop table t1,t2,t3,t4,t5;
|
||||||
create table t1 (n int, m int, o int, key(n));
|
create table t1 (n int, m int, o int, key(n));
|
||||||
create table t2 (n int not null, m int, o int, primary key(n));
|
create table t2 (n int not null, m int, o int, primary key(n));
|
||||||
@ -2703,7 +2703,7 @@ join
|
|||||||
t3 on
|
t3 on
|
||||||
(t3.f=t1.a)
|
(t3.f=t1.a)
|
||||||
) on (t2.c=t1.a );
|
) on (t2.c=t1.a );
|
||||||
ERROR 42S22: Unknown column 't1.a' in 'on clause'
|
ERROR 42S22: Unknown column 't1.a' in 'ON'
|
||||||
explain
|
explain
|
||||||
select *
|
select *
|
||||||
from
|
from
|
||||||
@ -2713,7 +2713,7 @@ join
|
|||||||
t3 on
|
t3 on
|
||||||
(t3.f=(select max(g) from t4 where t4.h=t1.a))
|
(t3.f=(select max(g) from t4 where t4.h=t1.a))
|
||||||
) on (t2.c=t1.a );
|
) on (t2.c=t1.a );
|
||||||
ERROR 42S22: Unknown column 't1.a' in 'where clause'
|
ERROR 42S22: Unknown column 't1.a' in 'WHERE'
|
||||||
drop table t1,t2,t3,t4;
|
drop table t1,t2,t3,t4;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1),(2);
|
insert into t1 values (1),(2);
|
||||||
@ -2724,7 +2724,7 @@ insert into t3 values (1),(2);
|
|||||||
select * from ( select * from t1 left join t2
|
select * from ( select * from t1 left join t2
|
||||||
on b in (select x from t3 as sq1)
|
on b in (select x from t3 as sq1)
|
||||||
) as sq2;
|
) as sq2;
|
||||||
ERROR 42S22: Unknown column 'x' in 'field list'
|
ERROR 42S22: Unknown column 'x' in 'SELECT'
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
# end of 10.2 tests
|
# end of 10.2 tests
|
||||||
#
|
#
|
||||||
|
@ -117,11 +117,11 @@ grp a c id a c d a
|
|||||||
3 6 D 3 6 C 6 6
|
3 6 D 3 6 C 6 6
|
||||||
NULL NULL NULL NULL NULL NULL NULL
|
NULL NULL NULL NULL NULL NULL NULL
|
||||||
explain select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
explain select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
||||||
ERROR 42S22: Unknown column 't3.a' in 'on clause'
|
ERROR 42S22: Unknown column 't3.a' in 'ON'
|
||||||
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t1.a=t3.a);
|
||||||
ERROR 42S22: Unknown column 't3.a' in 'on clause'
|
ERROR 42S22: Unknown column 't3.a' in 'ON'
|
||||||
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t2.a=t3.a);
|
select t1.*,t2.*,t3.a from t1 left join t2 on (t3.a=t2.a) left join t1 as t3 on (t2.a=t3.a);
|
||||||
ERROR 42S22: Unknown column 't3.a' in 'on clause'
|
ERROR 42S22: Unknown column 't3.a' in 'ON'
|
||||||
select t1.*,t2.* from t1 inner join t2 using (a);
|
select t1.*,t2.* from t1 inner join t2 using (a);
|
||||||
grp a c id a c d
|
grp a c id a c d
|
||||||
1 1 a 1 1 a 1
|
1 1 a 1 1 a 1
|
||||||
@ -411,7 +411,7 @@ insert into t3 values (1);
|
|||||||
insert into t4 values (1,1);
|
insert into t4 values (1,1);
|
||||||
insert into t5 values (1,1);
|
insert into t5 values (1,1);
|
||||||
explain select * from t3 left join t4 on t4.seq_1_id = t2.t2_id left join t1 on t1.t1_id = t4.seq_0_id left join t5 on t5.seq_0_id = t1.t1_id left join t2 on t2.t2_id = t5.seq_1_id where t3.t3_id = 23;
|
explain select * from t3 left join t4 on t4.seq_1_id = t2.t2_id left join t1 on t1.t1_id = t4.seq_0_id left join t5 on t5.seq_0_id = t1.t1_id left join t2 on t2.t2_id = t5.seq_1_id where t3.t3_id = 23;
|
||||||
ERROR 42S22: Unknown column 't2.t2_id' in 'on clause'
|
ERROR 42S22: Unknown column 't2.t2_id' in 'ON'
|
||||||
drop table t1,t2,t3,t4,t5;
|
drop table t1,t2,t3,t4,t5;
|
||||||
create table t1 (n int, m int, o int, key(n));
|
create table t1 (n int, m int, o int, key(n));
|
||||||
create table t2 (n int not null, m int, o int, primary key(n));
|
create table t2 (n int not null, m int, o int, primary key(n));
|
||||||
@ -2710,7 +2710,7 @@ join
|
|||||||
t3 on
|
t3 on
|
||||||
(t3.f=t1.a)
|
(t3.f=t1.a)
|
||||||
) on (t2.c=t1.a );
|
) on (t2.c=t1.a );
|
||||||
ERROR 42S22: Unknown column 't1.a' in 'on clause'
|
ERROR 42S22: Unknown column 't1.a' in 'ON'
|
||||||
explain
|
explain
|
||||||
select *
|
select *
|
||||||
from
|
from
|
||||||
@ -2720,7 +2720,7 @@ join
|
|||||||
t3 on
|
t3 on
|
||||||
(t3.f=(select max(g) from t4 where t4.h=t1.a))
|
(t3.f=(select max(g) from t4 where t4.h=t1.a))
|
||||||
) on (t2.c=t1.a );
|
) on (t2.c=t1.a );
|
||||||
ERROR 42S22: Unknown column 't1.a' in 'where clause'
|
ERROR 42S22: Unknown column 't1.a' in 'WHERE'
|
||||||
drop table t1,t2,t3,t4;
|
drop table t1,t2,t3,t4;
|
||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
insert into t1 values (1),(2);
|
insert into t1 values (1),(2);
|
||||||
@ -2731,7 +2731,7 @@ insert into t3 values (1),(2);
|
|||||||
select * from ( select * from t1 left join t2
|
select * from ( select * from t1 left join t2
|
||||||
on b in (select x from t3 as sq1)
|
on b in (select x from t3 as sq1)
|
||||||
) as sq2;
|
) as sq2;
|
||||||
ERROR 42S22: Unknown column 'x' in 'field list'
|
ERROR 42S22: Unknown column 'x' in 'SELECT'
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
# end of 10.2 tests
|
# end of 10.2 tests
|
||||||
#
|
#
|
||||||
|
@ -579,62 +579,62 @@ SELECT test.year(); -- FUNCTION test.year does not exist. Check
|
|||||||
SELECT test.create(); -- FUNCTION test.create does not exist. Che
|
SELECT test.create(); -- FUNCTION test.create does not exist. Che
|
||||||
CALL p2('SELECT $(VAR) FROM t1');
|
CALL p2('SELECT $(VAR) FROM t1');
|
||||||
--------
|
--------
|
||||||
SELECT non_keyword FROM t1; -- Unknown column 'non_keyword' in 'field l
|
SELECT non_keyword FROM t1; -- Unknown column 'non_keyword' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT lpad FROM t1; -- Unknown column 'lpad' in 'field list'
|
SELECT lpad FROM t1; -- Unknown column 'lpad' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT rpad FROM t1; -- Unknown column 'rpad' in 'field list'
|
SELECT rpad FROM t1; -- Unknown column 'rpad' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT adddate FROM t1; -- Unknown column 'adddate' in 'field list'
|
SELECT adddate FROM t1; -- Unknown column 'adddate' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT substr FROM t1; -- Unknown column 'substr' in 'field list'
|
SELECT substr FROM t1; -- Unknown column 'substr' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT substring FROM t1; -- Unknown column 'substring' in 'field lis
|
SELECT substring FROM t1; -- Unknown column 'substring' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT trim_oracle FROM t1; -- Unknown column 'trim_oracle' in 'field l
|
SELECT trim_oracle FROM t1; -- Unknown column 'trim_oracle' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT ascii FROM t1; -- Unknown column 'ascii' in 'field list'
|
SELECT ascii FROM t1; -- Unknown column 'ascii' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT replace FROM t1; -- ..syntax.. near 'FROM t1' at line 1
|
SELECT replace FROM t1; -- ..syntax.. near 'FROM t1' at line 1
|
||||||
--------
|
--------
|
||||||
SELECT weight_string FROM t1; -- Unknown column 'weight_string' in 'field
|
SELECT weight_string FROM t1; -- Unknown column 'weight_string' in 'SELEC
|
||||||
--------
|
--------
|
||||||
SELECT char FROM t1; -- ..syntax.. near 'FROM t1' at line 1
|
SELECT char FROM t1; -- ..syntax.. near 'FROM t1' at line 1
|
||||||
--------
|
--------
|
||||||
SELECT trim FROM t1; -- Unknown column 'trim' in 'field list'
|
SELECT trim FROM t1; -- Unknown column 'trim' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT year FROM t1; -- Unknown column 'year' in 'field list'
|
SELECT year FROM t1; -- Unknown column 'year' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT create FROM t1; -- ..syntax.. near 'create FROM t1' at line
|
SELECT create FROM t1; -- ..syntax.. near 'create FROM t1' at line
|
||||||
CALL p2('SELECT t1.$(VAR) FROM t1');
|
CALL p2('SELECT t1.$(VAR) FROM t1');
|
||||||
--------
|
--------
|
||||||
SELECT t1.non_keyword FROM t1; -- Unknown column 't1.non_keyword' in 'fiel
|
SELECT t1.non_keyword FROM t1; -- Unknown column 't1.non_keyword' in 'SELE
|
||||||
--------
|
--------
|
||||||
SELECT t1.lpad FROM t1; -- Unknown column 't1.lpad' in 'field list'
|
SELECT t1.lpad FROM t1; -- Unknown column 't1.lpad' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.rpad FROM t1; -- Unknown column 't1.rpad' in 'field list'
|
SELECT t1.rpad FROM t1; -- Unknown column 't1.rpad' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.adddate FROM t1; -- Unknown column 't1.adddate' in 'field li
|
SELECT t1.adddate FROM t1; -- Unknown column 't1.adddate' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.substr FROM t1; -- Unknown column 't1.substr' in 'field lis
|
SELECT t1.substr FROM t1; -- Unknown column 't1.substr' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.substring FROM t1; -- Unknown column 't1.substring' in 'field
|
SELECT t1.substring FROM t1; -- Unknown column 't1.substring' in 'SELECT
|
||||||
--------
|
--------
|
||||||
SELECT t1.trim_oracle FROM t1; -- Unknown column 't1.trim_oracle' in 'fiel
|
SELECT t1.trim_oracle FROM t1; -- Unknown column 't1.trim_oracle' in 'SELE
|
||||||
--------
|
--------
|
||||||
SELECT t1.ascii FROM t1; -- Unknown column 't1.ascii' in 'field list
|
SELECT t1.ascii FROM t1; -- Unknown column 't1.ascii' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.replace FROM t1; -- Unknown column 't1.replace' in 'field li
|
SELECT t1.replace FROM t1; -- Unknown column 't1.replace' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.weight_string FROM t1; -- Unknown column 't1.weight_string' in 'fi
|
SELECT t1.weight_string FROM t1; -- Unknown column 't1.weight_string' in 'SE
|
||||||
--------
|
--------
|
||||||
SELECT t1.char FROM t1; -- Unknown column 't1.char' in 'field list'
|
SELECT t1.char FROM t1; -- Unknown column 't1.char' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.trim FROM t1; -- Unknown column 't1.trim' in 'field list'
|
SELECT t1.trim FROM t1; -- Unknown column 't1.trim' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.year FROM t1; -- Unknown column 't1.year' in 'field list'
|
SELECT t1.year FROM t1; -- Unknown column 't1.year' in 'SELECT'
|
||||||
--------
|
--------
|
||||||
SELECT t1.create FROM t1; -- Unknown column 't1.create' in 'field lis
|
SELECT t1.create FROM t1; -- Unknown column 't1.create' in 'SELECT'
|
||||||
CALL p2('DROP TABLE $(VAR)');
|
CALL p2('DROP TABLE $(VAR)');
|
||||||
--------
|
--------
|
||||||
DROP TABLE non_keyword; -- Unknown table 'test.non_keyword'
|
DROP TABLE non_keyword; -- Unknown table 'test.non_keyword'
|
||||||
|
@ -184,4 +184,4 @@ DROP TABLE t1, t2;
|
|||||||
# KILL QUERY ID USER
|
# KILL QUERY ID USER
|
||||||
#
|
#
|
||||||
kill query id user 'foo';
|
kill query id user 'foo';
|
||||||
ERROR 42S22: Unknown column 'user' in 'field list'
|
ERROR 42S22: Unknown column 'user' in 'KILL'
|
||||||
|
@ -686,3 +686,40 @@ SELECT * FROM t1;
|
|||||||
id
|
id
|
||||||
1
|
1
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
#
|
||||||
|
# MDEV-34883: LOAD DATA INFILE with geometry data fails
|
||||||
|
#
|
||||||
|
CREATE OR REPLACE TABLE t1 (
|
||||||
|
p point NOT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
|
INSERT INTO t1 VALUES (GeomFromText('POINT(37.646944 -75.761111)'));
|
||||||
|
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.tsv' FROM t1;
|
||||||
|
CREATE OR REPLACE TABLE t2 LIKE t1;
|
||||||
|
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.tsv' INTO TABLE t2;
|
||||||
|
drop table t1, t2;
|
||||||
|
CREATE OR REPLACE TABLE t1 (
|
||||||
|
p point NOT NULL,
|
||||||
|
chr char(20)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
|
INSERT INTO t1 VALUES (GeomFromText('POINT(37.646944 -75.761111)'),"їєі");
|
||||||
|
SELECT * INTO OUTFILE 'MYSQLTEST_VARDIR/tmp/t1.tsv' FROM t1;
|
||||||
|
CREATE OR REPLACE TABLE t2 LIKE t1;
|
||||||
|
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.tsv' INTO TABLE t2 CHARACTER SET latin1;
|
||||||
|
select ST_AsText(p), chr from t1;
|
||||||
|
ST_AsText(p) chr
|
||||||
|
POINT(37.646944 -75.761111) їєі
|
||||||
|
# incorrect string (but correct geom)
|
||||||
|
select ST_AsText(p), chr from t2;
|
||||||
|
ST_AsText(p) chr
|
||||||
|
POINT(37.646944 -75.761111) їєі
|
||||||
|
delete from t2;
|
||||||
|
LOAD DATA INFILE 'MYSQLTEST_VARDIR/tmp/t1.tsv' INTO TABLE t2 CHARACTER SET utf8mb4;
|
||||||
|
select ST_AsText(p), chr from t1;
|
||||||
|
ST_AsText(p) chr
|
||||||
|
POINT(37.646944 -75.761111) їєі
|
||||||
|
# all is correct
|
||||||
|
select ST_AsText(p), chr from t2;
|
||||||
|
ST_AsText(p) chr
|
||||||
|
POINT(37.646944 -75.761111) їєі
|
||||||
|
drop table t1, t2;
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -832,3 +832,61 @@ CREATE TABLE t1 (id integer not null auto_increment primary key);
|
|||||||
LOAD DATA INFILE '../../std_data/loaddata/nl.txt' INTO TABLE t1 FIELDS TERMINATED BY '';
|
LOAD DATA INFILE '../../std_data/loaddata/nl.txt' INTO TABLE t1 FIELDS TERMINATED BY '';
|
||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-34883: LOAD DATA INFILE with geometry data fails
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE OR REPLACE TABLE t1 (
|
||||||
|
p point NOT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
|
INSERT INTO t1 VALUES (GeomFromText('POINT(37.646944 -75.761111)'));
|
||||||
|
|
||||||
|
--disable_ps2_protocol
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1.tsv' FROM t1;
|
||||||
|
--enable_ps2_protocol
|
||||||
|
|
||||||
|
CREATE OR REPLACE TABLE t2 LIKE t1;
|
||||||
|
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/t1.tsv' INTO TABLE t2;
|
||||||
|
|
||||||
|
--remove_file '$MYSQLTEST_VARDIR/tmp/t1.tsv'
|
||||||
|
drop table t1, t2;
|
||||||
|
|
||||||
|
|
||||||
|
CREATE OR REPLACE TABLE t1 (
|
||||||
|
p point NOT NULL,
|
||||||
|
chr char(20)
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES (GeomFromText('POINT(37.646944 -75.761111)'),"їєі");
|
||||||
|
--disable_ps2_protocol
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
eval SELECT * INTO OUTFILE '$MYSQLTEST_VARDIR/tmp/t1.tsv' FROM t1;
|
||||||
|
--enable_ps2_protocol
|
||||||
|
|
||||||
|
CREATE OR REPLACE TABLE t2 LIKE t1;
|
||||||
|
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/t1.tsv' INTO TABLE t2 CHARACTER SET latin1;
|
||||||
|
|
||||||
|
select ST_AsText(p), chr from t1;
|
||||||
|
--echo # incorrect string (but correct geom)
|
||||||
|
select ST_AsText(p), chr from t2;
|
||||||
|
|
||||||
|
delete from t2;
|
||||||
|
|
||||||
|
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||||
|
eval LOAD DATA INFILE '$MYSQLTEST_VARDIR/tmp/t1.tsv' INTO TABLE t2 CHARACTER SET utf8mb4;
|
||||||
|
|
||||||
|
select ST_AsText(p), chr from t1;
|
||||||
|
--echo # all is correct
|
||||||
|
select ST_AsText(p), chr from t2;
|
||||||
|
|
||||||
|
--remove_file '$MYSQLTEST_VARDIR/tmp/t1.tsv'
|
||||||
|
drop table t1, t2;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
@ -305,7 +305,7 @@ date_format('2001-09-01', '%c %b %M', 'de_CH')
|
|||||||
#
|
#
|
||||||
SET lc_messages=ZH_CN;
|
SET lc_messages=ZH_CN;
|
||||||
SELECT x;
|
SELECT x;
|
||||||
ERROR 42S22: 未知列'x'在'field list'
|
ERROR 42S22: 未知列'x'在'SELECT'
|
||||||
SET lc_messages=DEFAULT;
|
SET lc_messages=DEFAULT;
|
||||||
#
|
#
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
@ -315,14 +315,14 @@ SET lc_messages=DEFAULT;
|
|||||||
#
|
#
|
||||||
SET lc_messages=ka_GE;
|
SET lc_messages=ka_GE;
|
||||||
SELECT x;
|
SELECT x;
|
||||||
ERROR 42S22: უცნობი სვეტი 'x' 'field list'-ში
|
ERROR 42S22: უცნობი სვეტი 'x' 'SELECT'-ში
|
||||||
SET lc_messages=DEFAULT;
|
SET lc_messages=DEFAULT;
|
||||||
#
|
#
|
||||||
# Add Swahili error messages and locale
|
# Add Swahili error messages and locale
|
||||||
#
|
#
|
||||||
SET lc_messages=sw_KE;
|
SET lc_messages=sw_KE;
|
||||||
SELECT x;
|
SELECT x;
|
||||||
ERROR 42S22: Safu wima isiyojulikana 'x' katika 'field list'
|
ERROR 42S22: Safu wima isiyojulikana 'x' katika 'SELECT'
|
||||||
SET lc_messages=DEFAULT;
|
SET lc_messages=DEFAULT;
|
||||||
#
|
#
|
||||||
# MDEV-30997 SIGSEGV in __strlen_avx2 | make_date_time | Item_func_date_format::val_str
|
# MDEV-30997 SIGSEGV in __strlen_avx2 | make_date_time | Item_func_date_format::val_str
|
||||||
|
@ -213,3 +213,14 @@ b`;
|
|||||||
SET timestamp=1234567890;
|
SET timestamp=1234567890;
|
||||||
select count(*) from mysql.global_priv where length(priv)>2
|
select count(*) from mysql.global_priv where length(priv)>2
|
||||||
# End of 10.5 tests
|
# End of 10.5 tests
|
||||||
|
#
|
||||||
|
# MDEV-34251 Conditional jump or move depends on uninitialised value in
|
||||||
|
# ha_handler_stats::has_stats
|
||||||
|
#
|
||||||
|
set @@global.log_slow_verbosity="";
|
||||||
|
connect con1,localhost,root,,;
|
||||||
|
connection con1;
|
||||||
|
set long_query_time=0.0, log_slow_verbosity='engine';
|
||||||
|
connection default;
|
||||||
|
disconnect con1;
|
||||||
|
# End of 10.6 tests
|
||||||
|
@ -226,3 +226,19 @@ let SEARCH_OUTPUT=matches;
|
|||||||
source include/search_pattern_in_file.inc;
|
source include/search_pattern_in_file.inc;
|
||||||
|
|
||||||
--echo # End of 10.5 tests
|
--echo # End of 10.5 tests
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-34251 Conditional jump or move depends on uninitialised value in
|
||||||
|
--echo # ha_handler_stats::has_stats
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
set @@global.log_slow_verbosity="";
|
||||||
|
connect (con1,localhost,root,,);
|
||||||
|
connection con1;
|
||||||
|
|
||||||
|
# valgrind or asan would notice if engine stats are accessed wrong.
|
||||||
|
set long_query_time=0.0, log_slow_verbosity='engine';
|
||||||
|
connection default;
|
||||||
|
disconnect con1;
|
||||||
|
|
||||||
|
--echo # End of 10.6 tests
|
||||||
|
@ -81,7 +81,7 @@ NULL
|
|||||||
maria
|
maria
|
||||||
sachin
|
sachin
|
||||||
select db_row_hash_1 from t1;
|
select db_row_hash_1 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_1' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_1' in 'SELECT'
|
||||||
#duplicate entry test;
|
#duplicate entry test;
|
||||||
insert into t1 values(2);
|
insert into t1 values(2);
|
||||||
ERROR 23000: Duplicate entry '2' for key 'a'
|
ERROR 23000: Duplicate entry '2' for key 'a'
|
||||||
@ -154,7 +154,7 @@ ERROR 23000: Duplicate entry '1' for key 'a'
|
|||||||
insert into t1 values(2,2);
|
insert into t1 values(2,2);
|
||||||
ERROR 23000: Duplicate entry '2' for key 'a'
|
ERROR 23000: Duplicate entry '2' for key 'a'
|
||||||
select db_row_hash_1 from t1;
|
select db_row_hash_1 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_1' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_1' in 'SELECT'
|
||||||
#now try to change db_row_hash_1 column;
|
#now try to change db_row_hash_1 column;
|
||||||
alter table t1 drop column db_row_hash_1;
|
alter table t1 drop column db_row_hash_1;
|
||||||
ERROR 42000: Can't DROP COLUMN `db_row_hash_1`; check that it exists
|
ERROR 42000: Can't DROP COLUMN `db_row_hash_1`; check that it exists
|
||||||
@ -405,11 +405,11 @@ a b c d e
|
|||||||
maria 345 frter dasd utyuty
|
maria 345 frter dasd utyuty
|
||||||
sachin 341 fdf gfgfgfg hghgr
|
sachin 341 fdf gfgfgfg hghgr
|
||||||
select db_row_hash_1 from t1;
|
select db_row_hash_1 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_1' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_1' in 'SELECT'
|
||||||
select db_row_hash_2 from t1;
|
select db_row_hash_2 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_2' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_2' in 'SELECT'
|
||||||
select db_row_hash_3 from t1;
|
select db_row_hash_3 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_3' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_3' in 'SELECT'
|
||||||
#duplicate entry test;
|
#duplicate entry test;
|
||||||
insert into t1 values(21,2,3,42,51);
|
insert into t1 values(21,2,3,42,51);
|
||||||
ERROR 23000: Duplicate entry '3' for key 'c'
|
ERROR 23000: Duplicate entry '3' for key 'c'
|
||||||
@ -462,7 +462,7 @@ t1 CREATE TABLE `t1` (
|
|||||||
insert into t1 values(1,2,3,4,5,6);
|
insert into t1 values(1,2,3,4,5,6);
|
||||||
ERROR 23000: Duplicate entry '1' for key 'a'
|
ERROR 23000: Duplicate entry '1' for key 'a'
|
||||||
select db_row_hash_1 , db_row_hash_2, db_row_hash_3 from t1;
|
select db_row_hash_1 , db_row_hash_2, db_row_hash_3 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_1' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_1' in 'SELECT'
|
||||||
#now try to change db_row_hash_1 column;
|
#now try to change db_row_hash_1 column;
|
||||||
alter table t1 drop column db_row_hash_1, drop column db_row_hash_2, drop column db_row_hash_3;
|
alter table t1 drop column db_row_hash_1, drop column db_row_hash_2, drop column db_row_hash_3;
|
||||||
ERROR 42000: Can't DROP COLUMN `db_row_hash_1`; check that it exists
|
ERROR 42000: Can't DROP COLUMN `db_row_hash_1`; check that it exists
|
||||||
@ -786,11 +786,11 @@ NULL NULL NULL NULL NULL NULL NULL NULL
|
|||||||
maria 6 maria maria maria maria 6 maria
|
maria 6 maria maria maria maria 6 maria
|
||||||
mariadb 7 mariadb mariadb mariadb mariadb 8 mariadb
|
mariadb 7 mariadb mariadb mariadb mariadb 8 mariadb
|
||||||
select db_row_hash_1 from t1;
|
select db_row_hash_1 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_1' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_1' in 'SELECT'
|
||||||
select db_row_hash_2 from t1;
|
select db_row_hash_2 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_2' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_2' in 'SELECT'
|
||||||
select db_row_hash_3 from t1;
|
select db_row_hash_3 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_3' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_3' in 'SELECT'
|
||||||
#duplicate entry test;
|
#duplicate entry test;
|
||||||
#duplicate keys entry;
|
#duplicate keys entry;
|
||||||
insert into t1 values(1,1,1,0,0,0,0,0);
|
insert into t1 values(1,1,1,0,0,0,0,0);
|
||||||
@ -806,7 +806,7 @@ ERROR 23000: Duplicate entry '1-1-1-1' for key 'e'
|
|||||||
insert into t1 values(1,1,1,1,1,1,1,1);
|
insert into t1 values(1,1,1,1,1,1,1,1);
|
||||||
ERROR 23000: Duplicate entry '1-1-1' for key 'a'
|
ERROR 23000: Duplicate entry '1-1-1' for key 'a'
|
||||||
select db_row_hash_1,db_row_hash_2,db_row_hash_3,db_row_hash_4,db_row_hash_5 from t1;
|
select db_row_hash_1,db_row_hash_2,db_row_hash_3,db_row_hash_4,db_row_hash_5 from t1;
|
||||||
ERROR 42S22: Unknown column 'db_row_hash_1' in 'field list'
|
ERROR 42S22: Unknown column 'db_row_hash_1' in 'SELECT'
|
||||||
alter table t1 drop column db_row_hash_1, drop column db_row_hash_2, drop column db_row_hash_3;
|
alter table t1 drop column db_row_hash_1, drop column db_row_hash_2, drop column db_row_hash_3;
|
||||||
ERROR 42000: Can't DROP COLUMN `db_row_hash_1`; check that it exists
|
ERROR 42000: Can't DROP COLUMN `db_row_hash_1`; check that it exists
|
||||||
alter table t1 add column dg int , add column ef int , drop column db_row_hash_1;
|
alter table t1 add column dg int , add column ef int , drop column db_row_hash_1;
|
||||||
@ -1170,7 +1170,7 @@ DB_ROW_HASH_1 DB_ROW_HASH_2
|
|||||||
33 3
|
33 3
|
||||||
44 4
|
44 4
|
||||||
select DB_ROW_HASH_1, DB_ROW_HASH_2 from t1;
|
select DB_ROW_HASH_1, DB_ROW_HASH_2 from t1;
|
||||||
ERROR 42S22: Unknown column 'DB_ROW_HASH_1' in 'field list'
|
ERROR 42S22: Unknown column 'DB_ROW_HASH_1' in 'SELECT'
|
||||||
#bug
|
#bug
|
||||||
select DB_ROW_HASH_1, DB_ROW_HASH_2 from t1,t2;
|
select DB_ROW_HASH_1, DB_ROW_HASH_2 from t1,t2;
|
||||||
DB_ROW_HASH_1 DB_ROW_HASH_2
|
DB_ROW_HASH_1 DB_ROW_HASH_2
|
||||||
@ -1191,7 +1191,7 @@ DB_ROW_HASH_1 DB_ROW_HASH_2
|
|||||||
44 4
|
44 4
|
||||||
44 4
|
44 4
|
||||||
select * from t1 where DB_ROW_HASH_1 in (select DB_ROW_HASH_1 from t2);
|
select * from t1 where DB_ROW_HASH_1 in (select DB_ROW_HASH_1 from t2);
|
||||||
ERROR 42S22: Unknown column 'DB_ROW_HASH_1' in 'IN/ALL/ANY subquery'
|
ERROR 42S22: Unknown column 'DB_ROW_HASH_1' in 'IN/ALL/ANY'
|
||||||
select DB_ROW_HASH_1, DB_ROW_HASH_2 from t1,t2 where DB_ROW_HASH_1 in (select DB_ROW_HASH_1 from t2);
|
select DB_ROW_HASH_1, DB_ROW_HASH_2 from t1,t2 where DB_ROW_HASH_1 in (select DB_ROW_HASH_1 from t2);
|
||||||
DB_ROW_HASH_1 DB_ROW_HASH_2
|
DB_ROW_HASH_1 DB_ROW_HASH_2
|
||||||
11 1
|
11 1
|
||||||
@ -1217,7 +1217,7 @@ DB_ROW_HASH_1 DB_ROW_HASH_2
|
|||||||
33 3
|
33 3
|
||||||
44 4
|
44 4
|
||||||
select DB_ROW_HASH_1 from t1,t2 where t1.DB_ROW_HASH_1 = t2.DB_ROW_HASH_2;
|
select DB_ROW_HASH_1 from t1,t2 where t1.DB_ROW_HASH_1 = t2.DB_ROW_HASH_2;
|
||||||
ERROR 42S22: Unknown column 't1.DB_ROW_HASH_1' in 'where clause'
|
ERROR 42S22: Unknown column 't1.DB_ROW_HASH_1' in 'WHERE'
|
||||||
select DB_ROW_HASH_1 from t1 inner join t2 on t1.a = t2.DB_ROW_HASH_2;
|
select DB_ROW_HASH_1 from t1 inner join t2 on t1.a = t2.DB_ROW_HASH_2;
|
||||||
DB_ROW_HASH_1
|
DB_ROW_HASH_1
|
||||||
11
|
11
|
||||||
|
@ -42,7 +42,7 @@ CREATE TABLE t4 (f1 VARCHAR(10), f2 INT) ENGINE=MyISAM;
|
|||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
pk
|
pk
|
||||||
SELECT non_existing FROM v2;
|
SELECT non_existing FROM v2;
|
||||||
ERROR 42S22: Unknown column 'non_existing' in 'field list'
|
ERROR 42S22: Unknown column 'non_existing' in 'SELECT'
|
||||||
SELECT * FROM t1, v3, t4 WHERE v3.f1 = t4.f1 AND t4.f2 = 6 AND t1.pk = v3.f5;
|
SELECT * FROM t1, v3, t4 WHERE v3.f1 = t4.f1 AND t4.f2 = 6 AND t1.pk = v3.f5;
|
||||||
pk f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f1 f2
|
pk f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f1 f2
|
||||||
drop table t1,t2,t3,t4;
|
drop table t1,t2,t3,t4;
|
||||||
|
@ -991,19 +991,19 @@ create view v2 as select * from t2;
|
|||||||
create view v3 as select * from t2 where c0 < 3;
|
create view v3 as select * from t2 where c0 < 3;
|
||||||
create procedure sp0() update t1, v2 set v2.pk = 1 where v2.c0 = t1.c1;
|
create procedure sp0() update t1, v2 set v2.pk = 1 where v2.c0 = t1.c1;
|
||||||
call sp0();
|
call sp0();
|
||||||
ERROR 42S22: Unknown column 't1.c1' in 'where clause'
|
ERROR 42S22: Unknown column 't1.c1' in 'WHERE'
|
||||||
call sp0();
|
call sp0();
|
||||||
ERROR 42S22: Unknown column 't1.c1' in 'where clause'
|
ERROR 42S22: Unknown column 't1.c1' in 'WHERE'
|
||||||
create procedure sp1() update (t1 join v2 on v2.c0 = t1.c1) set v2.pk = 1;
|
create procedure sp1() update (t1 join v2 on v2.c0 = t1.c1) set v2.pk = 1;
|
||||||
call sp1();
|
call sp1();
|
||||||
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
|
ERROR 42S22: Unknown column 't1.c1' in 'ON'
|
||||||
call sp1();
|
call sp1();
|
||||||
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
|
ERROR 42S22: Unknown column 't1.c1' in 'ON'
|
||||||
create procedure sp2() update (t1 join v3 on v3.c0 = t1.c1) set v3.pk = 1;
|
create procedure sp2() update (t1 join v3 on v3.c0 = t1.c1) set v3.pk = 1;
|
||||||
call sp2();
|
call sp2();
|
||||||
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
|
ERROR 42S22: Unknown column 't1.c1' in 'ON'
|
||||||
call sp2();
|
call sp2();
|
||||||
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
|
ERROR 42S22: Unknown column 't1.c1' in 'ON'
|
||||||
create procedure sp3()
|
create procedure sp3()
|
||||||
update (t1 join v2 on v2.c0 = t1.id) set v2.c0 = v2.c0+1;
|
update (t1 join v2 on v2.c0 = t1.id) set v2.c0 = v2.c0+1;
|
||||||
select * from t2;
|
select * from t2;
|
||||||
@ -1022,9 +1022,9 @@ pk c0
|
|||||||
2 3
|
2 3
|
||||||
create procedure sp4() delete t1 from t1 join v2 on v2.c0 = t1.c1;
|
create procedure sp4() delete t1 from t1 join v2 on v2.c0 = t1.c1;
|
||||||
call sp4();
|
call sp4();
|
||||||
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
|
ERROR 42S22: Unknown column 't1.c1' in 'ON'
|
||||||
call sp4();
|
call sp4();
|
||||||
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
|
ERROR 42S22: Unknown column 't1.c1' in 'ON'
|
||||||
drop procedure sp0;
|
drop procedure sp0;
|
||||||
drop procedure sp1;
|
drop procedure sp1;
|
||||||
drop procedure sp2;
|
drop procedure sp2;
|
||||||
|
@ -2698,16 +2698,16 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
INSERT INTO t1 VALUES (1), (2), (3);
|
INSERT INTO t1 VALUES (1), (2), (3);
|
||||||
DELETE FROM t1 USING t1 WHERE uknown_column = 12345;
|
DELETE FROM t1 USING t1 WHERE uknown_column = 12345;
|
||||||
ERROR 42S22: Unknown column 'uknown_column' in 'where clause'
|
ERROR 42S22: Unknown column 'uknown_column' in 'WHERE'
|
||||||
EXPLAIN EXTENDED DELETE FROM t1 USING t1 WHERE uknown_column = 12345;
|
EXPLAIN EXTENDED DELETE FROM t1 USING t1 WHERE uknown_column = 12345;
|
||||||
ERROR 42S22: Unknown column 'uknown_column' in 'where clause'
|
ERROR 42S22: Unknown column 'uknown_column' in 'WHERE'
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#57
|
#57
|
||||||
CREATE TABLE t1(f1 INT);
|
CREATE TABLE t1(f1 INT);
|
||||||
EXPLAIN EXTENDED UPDATE t1 SET f2=1 ORDER BY f2;
|
EXPLAIN EXTENDED UPDATE t1 SET f2=1 ORDER BY f2;
|
||||||
ERROR 42S22: Unknown column 'f2' in 'field list'
|
ERROR 42S22: Unknown column 'f2' in 'SET'
|
||||||
UPDATE t1 SET f2=1 ORDER BY f2;
|
UPDATE t1 SET f2=1 ORDER BY f2;
|
||||||
ERROR 42S22: Unknown column 'f2' in 'field list'
|
ERROR 42S22: Unknown column 'f2' in 'SET'
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
#62
|
#62
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
|
13
mysql-test/main/mysql57nopart.result
Normal file
13
mysql-test/main/mysql57nopart.result
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
#
|
||||||
|
# MDEV-35079 Migrate MySQL5.7 to MariaDB 10.4, then to MariaDB 10.11 Failed
|
||||||
|
#
|
||||||
|
select table_name, concat('<',table_comment,'>') from information_schema.tables
|
||||||
|
where table_schema='test';
|
||||||
|
table_name concat('<',table_comment,'>')
|
||||||
|
mysql57part <The MariaDB server is running with the --skip-partition option so it cannot execute this statement>
|
||||||
|
Warnings:
|
||||||
|
Warning 1290 The MariaDB server is running with the --skip-partition option so it cannot execute this statement
|
||||||
|
drop table mysql57part;
|
||||||
|
Warnings:
|
||||||
|
Warning 1932 Table 'test.mysql57part' doesn't exist in engine
|
||||||
|
# End of 10.11 tests
|
13
mysql-test/main/mysql57nopart.test
Normal file
13
mysql-test/main/mysql57nopart.test
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
source include/have_innodb.inc;
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-35079 Migrate MySQL5.7 to MariaDB 10.4, then to MariaDB 10.11 Failed
|
||||||
|
--echo #
|
||||||
|
let $datadir=`select @@datadir`;
|
||||||
|
copy_file std_data/mysql57part.frm $datadir/test/mysql57part.frm;
|
||||||
|
--disable_view_protocol
|
||||||
|
select table_name, concat('<',table_comment,'>') from information_schema.tables
|
||||||
|
where table_schema='test';
|
||||||
|
--enable_view_protocol
|
||||||
|
drop table mysql57part;
|
||||||
|
|
||||||
|
--echo # End of 10.11 tests
|
@ -70,7 +70,7 @@ SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ANSI_QUOTES';
|
|||||||
INSERT INTO t1 VALUES (1.2345, 2.3456);
|
INSERT INTO t1 VALUES (1.2345, 2.3456);
|
||||||
INSERT INTO t1 VALUES ('1.2345', 2.3456);
|
INSERT INTO t1 VALUES ('1.2345', 2.3456);
|
||||||
INSERT INTO t1 VALUES ("1.2345", 2.3456);
|
INSERT INTO t1 VALUES ("1.2345", 2.3456);
|
||||||
ERROR 42S22: Unknown column '1.2345' in 'field list'
|
ERROR 42S22: Unknown column '1.2345' in 'VALUES'
|
||||||
SET SQL_MODE=@OLD_SQL_MODE;
|
SET SQL_MODE=@OLD_SQL_MODE;
|
||||||
/*M!999999\- enable the sandbox mode */
|
/*M!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
@ -34,7 +34,7 @@ SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='ANSI_QUOTES';
|
|||||||
INSERT INTO t1 VALUES (1.2345, 2.3456);
|
INSERT INTO t1 VALUES (1.2345, 2.3456);
|
||||||
INSERT INTO t1 VALUES ('1.2345', 2.3456);
|
INSERT INTO t1 VALUES ('1.2345', 2.3456);
|
||||||
INSERT INTO t1 VALUES ("1.2345", 2.3456);
|
INSERT INTO t1 VALUES ("1.2345", 2.3456);
|
||||||
ERROR 42S22: Unknown column '1.2345' in 'field list'
|
ERROR 42S22: Unknown column '1.2345' in 'VALUES'
|
||||||
SET SQL_MODE=@OLD_SQL_MODE;
|
SET SQL_MODE=@OLD_SQL_MODE;
|
||||||
# Begin testing mysqldump output + restore
|
# Begin testing mysqldump output + restore
|
||||||
# Create 'original table name - <table>_orig
|
# Create 'original table name - <table>_orig
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user