1
0
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:
Oleksandr Byelkin
2024-10-30 09:24:04 +01:00
734 changed files with 10187 additions and 4442 deletions

View File

@ -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)
{
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);
}
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)
{
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);
}
mysql_free_result(res);

View File

@ -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_from_file.str, from_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'"
"or both under MYSQL_TMP_DIR '%s'",
ds_from_file, ds_to_file, vardir, tmpdir);
report_or_die("Paths '%s' and '%s' are not both under "
"MYSQLTEST_VARDIR '%s' or both under MYSQL_TMP_DIR '%s'",
ds_from_file.str, ds_to_file.str, vardir, tmpdir);
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.
@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] 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)
{
#ifndef EMBEDDED_LIBRARY
DYNAMIC_STRING ds_sort, *ds_type= NULL;
for (unsigned int type= SESSION_TRACK_BEGIN; type <= SESSION_TRACK_END; type++)
{
const char *data;
size_t data_length;
/*
Append the tracking type line, if any corresponding tracking
info is received.
*/
if (!mysql_session_track_get_first(mysql,
(enum_session_state_type) type,
&data, &data_length))
@ -8052,25 +8071,55 @@ static void append_session_track_info(DYNAMIC_STRING *ds, MYSQL *mysql)
DBUG_ASSERT(0);
dynstr_append_mem(ds, STRING_WITH_LEN("Tracker???\n"));
}
dynstr_append_mem(ds, STRING_WITH_LEN("-- "));
dynstr_append_mem(ds, data, data_length);
}
else
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,
(enum_session_state_type) type,
&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)
{
DBUG_ASSERT(data_length == 0);
dynstr_append_mem(ds, STRING_WITH_LEN("<NULL>"));
dynstr_append_mem(ds_type, STRING_WITH_LEN("<NULL>"));
}
else
dynstr_append_mem(ds, data, data_length);
dynstr_append_mem(ds_type, data, data_length);
}
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 */
@ -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
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
dynstr_append_sorted()

View File

@ -172,12 +172,12 @@ IF(UNIX)
# Default GCC flags
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_RELWITHDEBINFO "-O3 ${COMMON_C_FLAGS}")
ENDIF()
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_RELWITHDEBINFO "-O3 ${COMMON_CXX_FLAGS}")
ENDIF()

View File

@ -249,7 +249,8 @@ IF(WITH_WSREP)
SETA(CPACK_RPM_server_PACKAGE_REQUIRES
"galera-4" "rsync" "grep" "gawk" "iproute"
"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()
SET(CPACK_RPM_server_PRE_INSTALL_SCRIPT_FILE ${CMAKE_SOURCE_DIR}/support-files/rpm/server-prein.sh)

View File

@ -15,8 +15,8 @@ MACRO(BUNDLE_LIBFMT)
ExternalProject_Add(
libfmt
PREFIX "${dir}"
URL "https://github.com/fmtlib/fmt/releases/download/11.0.1/fmt-11.0.1.zip"
URL_MD5 5f3915e2eff60e7f70c558120592100d
URL "https://github.com/fmtlib/fmt/releases/download/11.0.2/fmt-11.0.2.zip"
URL_MD5 c622dca45ec3fc95254c48370a9f7a1d
INSTALL_COMMAND ""
CONFIGURE_COMMAND ""
BUILD_COMMAND ""

View File

@ -89,7 +89,7 @@ MACRO(CREATE_EXPORTS_FILE VAR TARGET API_FUNCTIONS)
CONFIGURE_FILE_CONTENT(${CONTENT} ${EXPORTS})
# Avoid "function redeclared as variable" error
# 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")
ENDIF()
SET(${VAR} ${EXPORTS})

View File

@ -32,6 +32,10 @@ ELSE()
SET(CONC_INSTALL_LAYOUT "DEFAULT")
ENDIF()
IF(WITH_BOOST_CONTEXT)
SET(CONC_WITH_BOOST_CONTEXT ON)
ENDIF()
SET(PLUGIN_INSTALL_DIR ${INSTALL_PLUGINDIR})
SET(MARIADB_UNIX_ADDR ${MYSQL_UNIX_ADDR})

View File

@ -194,6 +194,7 @@
#cmakedefine HAVE_PTHREAD_ATTR_GETSTACKSIZE 1
#cmakedefine HAVE_PTHREAD_ATTR_SETSCOPE 1
#cmakedefine HAVE_PTHREAD_ATTR_SETSTACKSIZE 1
#cmakedefine HAVE_PTHREAD_GETATTR_NP 1
#cmakedefine HAVE_PTHREAD_CONDATTR_CREATE 1
#cmakedefine HAVE_PTHREAD_GETAFFINITY_NP 1
#cmakedefine HAVE_PTHREAD_KEY_DELETE 1

View File

@ -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_condattr_create HAVE_PTHREAD_CONDATTR_CREATE)
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_rwlock_rdlock HAVE_PTHREAD_RWLOCK_RDLOCK)
CHECK_FUNCTION_EXISTS (pthread_sigmask HAVE_PTHREAD_SIGMASK)

View File

@ -519,7 +519,7 @@ static bool is_page_corrupted(byte *buf, bool is_encrypted, uint32_t flags)
normal method. */
if (is_encrypted && key_version != 0) {
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);
if (is_corrupted && log_file) {

View File

@ -283,7 +283,7 @@ static bool page_is_corrupted(const byte *page, ulint page_no,
}
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.
@ -316,7 +316,7 @@ static bool page_is_corrupted(const byte *page, ulint page_no,
}
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);
}
}
@ -336,11 +336,11 @@ static bool page_is_corrupted(const byte *page, ulint page_no,
&& cursor->zip_size)
|| page_type == FIL_PAGE_PAGE_COMPRESSED
|| page_type == FIL_PAGE_PAGE_COMPRESSED_ENCRYPTED
|| buf_page_is_corrupted(true, tmp_page,
|| buf_page_is_corrupted(false, tmp_page,
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

View File

@ -1186,26 +1186,24 @@ static void backup_file_op_fail(uint32_t space_id, int type,
const byte* new_name, ulint new_len)
{
bool fail = false;
switch(type) {
const static std::string spacename{filename_to_spacename(name, len)};
switch (type) {
case FILE_CREATE:
msg("DDL tracking : create %u \"%.*s\"", space_id, int(len), name);
fail = !check_if_skip_table(
filename_to_spacename(name, len).c_str());
fail = !check_if_skip_table(spacename.c_str());
break;
case FILE_MODIFY:
break;
case FILE_RENAME:
msg("DDL tracking : rename %u \"%.*s\",\"%.*s\"",
space_id, int(len), name, int(new_len), new_name);
fail = !check_if_skip_table(
filename_to_spacename(name, len).c_str())
fail = !check_if_skip_table(spacename.c_str())
|| !check_if_skip_table(
filename_to_spacename(new_name, new_len).c_str());
break;
case FILE_DELETE:
fail = !check_if_skip_table(
filename_to_spacename(name, len).c_str())
&& !check_if_fts_table(reinterpret_cast<const char*>(name));
fail = !check_if_skip_table(spacename.c_str())
&& !check_if_fts_table(spacename.c_str());
msg("DDL tracking : delete %u \"%.*s\"", space_id, int(len), name);
break;
default:
@ -2651,7 +2649,7 @@ static bool innodb_init()
const std::string ib_logfile0{get_log_file_path()};
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_CREATE, OS_FILE_NORMAL,
OS_FILE_CREATE,
#if defined _WIN32 || defined O_DIRECT
OS_DATA_FILE_NO_O_DIRECT,
#else
@ -2676,13 +2674,9 @@ static bool innodb_init()
mach_write_to_4(b + 12, my_crc32c(0, b, 11));
static_assert(12 + 4 == SIZE_OF_FILE_CHECKPOINT, "compatibility");
#ifdef _WIN32
DWORD len;
ret= WriteFile(file, log_hdr_buf, sizeof log_hdr_buf,
&len, nullptr) && len == sizeof log_hdr_buf;
#else
ret= sizeof log_hdr_buf == write(file, log_hdr_buf, sizeof log_hdr_buf);
#endif
ret = os_file_write_func(IORequestWrite, ib_logfile0.c_str(), file,
log_hdr_buf, 0,
sizeof(log_hdr_buf)) == DB_SUCCESS;
if (!os_file_close_func(file) || !ret)
goto invalid_log;
return false;
@ -3426,7 +3420,8 @@ static bool xtrabackup_copy_mmap_logfile()
recv_sys_t::parse_mtr_result r;
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;
@ -3446,7 +3441,8 @@ static bool xtrabackup_copy_mmap_logfile()
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];
@ -3551,7 +3547,8 @@ static bool xtrabackup_copy_logfile()
if (log_sys.buf[recv_sys.offset] <= 1)
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
{
@ -3561,7 +3558,8 @@ static bool xtrabackup_copy_logfile()
sequence_offset));
*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,
recv_sys.offset - start_offset))
@ -3909,16 +3907,18 @@ static void xb_load_single_table_tablespace(const char *dirname,
if (is_remote) {
RemoteDatafile* rf = new RemoteDatafile();
if (!rf->open_link_file(n)) {
die("Can't open datafile %s", name);
}
file = rf;
if (!rf->open_link_file(n)) {
goto cant_open;
}
} else {
file = new Datafile();
file->make_filepath(".", n, IBD);
}
if (file->open_read_only(true) != DB_SUCCESS) {
cant_open:
delete file;
// Ignore FTS tables, as they can be removed for intermediate tables,
// this code must be executed under stronger or equal to BLOCK_DDL lock,
// 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++) {
file->m_defer = false;
err = file->validate_first_page();
err = file->validate_first_page(file->get_first_page());
if (file->m_defer) {
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(),
0, false, false);
node->deferred= defer;
if (!space->read_page0())
if (!space->read_page0(nullptr, true))
err = DB_CANNOT_OPEN_FILE;
mysql_mutex_unlock(&fil_system.mutex);
@ -6863,8 +6863,10 @@ error:
goto error;
}
ok = fil_system.sys_space->open(false)
&& xtrabackup_apply_deltas();
mysql_mutex_lock(&recv_sys.mutex);
ok = fil_system.sys_space->open(false);
mysql_mutex_unlock(&recv_sys.mutex);
if (ok) ok = xtrabackup_apply_deltas();
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 get_exepath(char *buf, size_t size, const char *argv0);
/* ================= main =================== */
int main(int argc, char **argv)
@ -7556,8 +7557,8 @@ int main(int argc, char **argv)
my_getopt_prefix_matching= 0;
if (get_exepath(mariabackup_exe,FN_REFLEN, argv[0]))
strncpy(mariabackup_exe,argv[0], FN_REFLEN-1);
if (my_get_exepath(mariabackup_exe, FN_REFLEN, argv[0]))
strncpy(mariabackup_exe, argv[0], FN_REFLEN-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__)
/* Avoid LeakSanitizer's false positives. */

View File

@ -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,
const char *src)
{
DBUG_ASSERT(dst_size > 0);
strncpy(dst, src, dst_size);
if (dst[dst_size - 1])
DBUG_ASSERT(dst_size > 0);
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 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)
{
size_t init_len= strlen(dst);
if (init_len > dst_size)
if (init_len >= dst_size)
return 1;
return safe_strcpy_truncated(dst + init_len, dst_size - init_len, src);
}

View File

@ -835,7 +835,6 @@ typedef long long my_ptrdiff_t;
#define ALIGN_PTR(A, t) ((t*) MY_ALIGN((A), sizeof(double)))
#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 PREV_BITS(type,A) ((type) (((type) 1 << (A)) -1))
/*
Custom version of standard offsetof() macro which can be used to get

View File

@ -17,6 +17,65 @@
#ifndef _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 cant 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.
If not, use my_malloc() instead.
@ -42,7 +101,7 @@
/* Allocate small blocks as long as there is this much left */
#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
/*
@ -56,11 +115,11 @@
do \
{ \
size_t alloc_size= (size); \
size_t stack_left= available_stack_size(&alloc_size, (stack_end)); \
if (stack_left > alloc_size && \
(STACK_ALLOC_BIG_BLOCK < stack_left - alloc_size || \
((STACK_ALLOC_SMALL_BLOCK < stack_left - alloc_size) && \
(STACK_ALLOC_SMALL_BLOCK_SIZE <= alloc_size)))) \
void *stack= my_get_stack_pointer(0); \
size_t stack_left= available_stack_size(stack, (stack_end)); \
if (stack_left > alloc_size + STACK_ALLOC_SMALL_BLOCK && \
(stack_left > alloc_size + STACK_ALLOC_BIG_BLOCK || \
(STACK_ALLOC_SMALL_BLOCK_SIZE >= alloc_size))) \
{ \
(must_be_freed)= 0; \
(res)= alloca(size); \
@ -90,3 +149,16 @@ static inline void stack_alloc_free(void *res, my_bool must_be_freed)
my_free(res);
}
#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);

View File

@ -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 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 */
extern void *my_memmem(const void *haystack, size_t haystacklen,
const void *needle, size_t needlelen);

View 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
}

View 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;

View File

@ -18,6 +18,10 @@
# 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.
#
# 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.
# Supported formats:
# - (default) : "FOUND n /pattern/ in FILE " or "NOT FOUND ..."
@ -55,6 +59,12 @@ perl;
my @search_files= glob($ENV{SEARCH_FILE});
my $search_pattern= $ENV{SEARCH_PATTERN} or die "SEARCH_PATTERN not set";
my $search_range= $ENV{SEARCH_RANGE};
my $timeout= $ENV{SEARCH_TIMEOUT} || 60;
my @matches;
my $res;
my $start_time= time();
for (;;) {
my $content;
foreach my $search_file (@search_files) {
open(FILE, '<', $search_file) || die("Can't open file $search_file: $!");
@ -78,8 +88,21 @@ perl;
close(FILE);
$content.= $file_content;
}
my @matches= ($content =~ /$search_pattern/gs);
my $res=@matches ? "FOUND " . scalar(@matches) : "NOT FOUND";
@matches= ($content =~ /$search_pattern/gs);
$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;
}
$ENV{SEARCH_FILE} =~ s{^.*?([^/\\]+)$}{$1};

View File

@ -114,6 +114,10 @@ sub create_process {
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",
# fileno STDIN, fileno STDOUT, fileno STDERR;

View File

@ -88,7 +88,7 @@ sub flush_out {
}
use if $^O eq "MSWin32", "threads::shared";
my $flush_lock :shared;
our $flush_lock :shared;
# Print to stdout
sub print_out {

View File

@ -59,7 +59,7 @@ SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA',
Kundentyp kategorie
Privat (Private Nutzung) Mobilfunk
Warnings:
Warning 1052 Column 'kundentyp' in group statement is ambiguous
Warning 1052 Column 'kundentyp' in GROUP BY is ambiguous
drop table t1;
CREATE TABLE t1 (
AUFNR varchar(12) NOT NULL default '',

View File

@ -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);
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;
ERROR 42S22: Unknown column 'no_such_col' in 'order clause'
ERROR 42S22: Unknown column 'no_such_col' in 'ORDER BY'
drop table table_24562;
create table t1 (mycol int(10) not null);
alter table t1 alter column mycol set default 0;

View File

@ -228,7 +228,7 @@ ERROR HY000: View 'test.v1' references invalid table(s) or column(s) or function
UPDATE t2 SET f = f + 10;
ERROR 42S22: Unknown column 'd' in 'NEW'
CALL sp1();
ERROR 42S22: Unknown column 'd' in 'field list'
ERROR 42S22: Unknown column 'd' in 'INSERT INTO'
DROP TRIGGER trg1;
DROP PROCEDURE sp1;
CREATE TABLE t_gen(a INT, b DOUBLE GENERATED ALWAYS AS (SQRT(a)));

View File

@ -30,7 +30,7 @@ drop table t;
create table t (c double precision key,c2 char,c3 year);
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);
ERROR 42S22: Unknown column 'a' in 'field list'
ERROR 42S22: Unknown column 'a' in 'SELECT'
insert into t values (3,1,1);
alter table t change c c date,add key(c);
ERROR 22007: Incorrect date value: '7' for column `test`.`t`.`c` at row 1

View File

@ -204,17 +204,17 @@ drop table t0, t1;
create table t1 (i int);
insert into t1 values (1),(2);
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;
ERROR 42S22: Unknown column 'a' in 'where clause'
ERROR 42S22: Unknown column 'a' in 'WHERE'
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;
insert into t2 select * from t1;
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;
ERROR 42S22: Unknown column 't2.a' in 'where clause'
ERROR 42S22: Unknown column 't2.a' in 'WHERE'
drop table t1, t2;
#
# MDEV-6395: ANALYZE UPDATE/DELETE with impossible where does not produce any output

View File

@ -2918,10 +2918,8 @@ CREATE TABLE t1 (a VARCHAR(500) COMPRESSED CHARACTER SET utf8mb3) ENGINE=InnoDB;
INSERT INTO t1 SET a=REPEAT('x',127);
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
DROP TABLE t1;
#
# End of 10.4 tests
#
#
# MDEV-19727 Add Type_handler::Key_part_spec_init_ft
#
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));
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

View File

@ -453,10 +453,7 @@ INSERT INTO t1 SET a=REPEAT('x',127);
ALTER TABLE t1 FORCE, ALGORITHM=COPY;
DROP TABLE t1;
--echo #
--echo # End of 10.4 tests
--echo #
--echo #
--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
--echo #
--echo # End of 10.5 tests
--echo # MDEV-16699 heap-use-after-free in group_concat with compressed or GIS columns
--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

View File

@ -2169,7 +2169,7 @@ SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA',
Kundentyp kategorie
Privat (Private Nutzung) Mobilfunk
Warnings:
Warning 1052 Column 'kundentyp' in group statement is ambiguous
Warning 1052 Column 'kundentyp' in GROUP BY is ambiguous
drop table t1;
SHOW STATUS LIKE 'Compression';
Variable_name Value

View File

@ -461,11 +461,13 @@ Connection_errors_max_connections 0
Connection_errors_peer_address 0
Connection_errors_select 0
Connection_errors_tcpwrap 0
show global status like 'Threads_connected';
Variable_name Value
Threads_connected 1
set @max_con.save= @@max_connections;
set global max_connections= 10;
# ERROR 1040
# ERROR 1040
connection default;
show global status like 'Connection_errors%';
Variable_name Value
Connection_errors_accept 0

View File

@ -517,6 +517,7 @@ SET GLOBAL connect_timeout= @save_connect_timeout;
flush status;
show global status like 'Connection_errors%';
show global status like 'Threads_connected';
set @max_con.save= @@max_connections;
set global max_connections= 10;
@ -534,9 +535,25 @@ while ($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_query_log
--connection default
show global status like 'Connection_errors%';
set global max_connections= @max_con.save;

View File

@ -748,7 +748,7 @@ ERROR HY000: No anchors for recursive WITH element 's'
#erroneous definition of unreferenced with table t
with t as (select count(*) from t1 where d>='f' group by a)
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)
select t1.b from t2,t1 where t1.a = t2.c;
b
@ -760,11 +760,11 @@ ggg
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))
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),
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;
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),
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;
@ -1887,13 +1887,13 @@ cte1(a) as (select * from t1 where c1 <= 2),
cte2(b) as (select * from cte1 where c1 >= 2),
cte3 as (select * from cte1,cte2 where cte1.a < cte2.b)
select * from t2;
ERROR 42S22: Unknown column 'c1' in 'where clause'
ERROR 42S22: Unknown column 'c1' in 'WHERE'
with
cte1(a) as (select * from t1 where c1 <= 2),
cte2(b) as (select * from cte1 where a >= 2),
cte3 as (select * from cte1,cte2 where cte1.a < cte2.c1)
select * from t2;
ERROR 42S22: Unknown column 'cte2.c1' in 'where clause'
ERROR 42S22: Unknown column 'cte2.c1' in 'WHERE'
with
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)
@ -1912,7 +1912,7 @@ with
cte1 as (select * from t1 where c1 <= 2),
cte2(a,b) as (select * from cte1 as s1, cte1 as s2 where s1.c1=c1)
select * from t2;
ERROR 23000: Column 'c1' in where clause is ambiguous
ERROR 23000: Column 'c1' in WHERE is ambiguous
with cte3 as
( with cte2(a,b) as
( 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 r1.c1,r2.c1 from cte2 as r1, cte2 as r2)
select * from t2;
ERROR 42S22: Unknown column 'r1.c1' in 'field list'
ERROR 42S22: Unknown column 'r1.c1' in 'SELECT'
create procedure p1()
begin
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;
end |
call p1();
ERROR 42S22: Unknown column 'a' in 'field list'
ERROR 42S22: Unknown column 'a' in 'SELECT'
drop procedure p1;
drop table t1,t2;
#

View File

@ -4732,33 +4732,33 @@ insert into t1 values (3), (7), (1);
with recursive
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
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
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
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
r as (select * from t1 union select s1.* from t1 as s1, r where s1.a = r.b)
select * from t1 as t;
call sp1();
ERROR 42S22: Unknown column 'r.b' in 'where clause'
ERROR 42S22: Unknown column 'r.b' in 'WHERE'
call sp1();
ERROR 42S22: Unknown column 'r.b' in 'where clause'
ERROR 42S22: Unknown column 'r.b' in 'WHERE'
with recursive
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
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
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
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
r as (select * from t1 union select s1.* from t1 as s1, r where s1.b = r.a)
select * from t1 as t;
call sp2();
ERROR 42S22: Unknown column 's1.b' in 'where clause'
ERROR 42S22: Unknown column 's1.b' in 'WHERE'
call sp2();
ERROR 42S22: Unknown column 's1.b' in 'where clause'
ERROR 42S22: Unknown column 's1.b' in 'WHERE'
drop procedure sp1;
drop procedure sp2;
drop table t1;

File diff suppressed because it is too large Load Diff

View File

@ -3025,6 +3025,15 @@ HEX(DATE_FORMAT(TIME'11:22:33',@format))
# 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
#
#

View File

@ -1161,6 +1161,16 @@ SELECT HEX(DATE_FORMAT(TIME'11:22:33',@format));
--echo # End of 10.4 tests
--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 # Start of 10.11 tests
--echo #

View File

@ -253,7 +253,7 @@ CREATE TABLE t1 (a INT);
INSERT DELAYED INTO t1 SET a= b();
ERROR 42000: FUNCTION test.b does not exist
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();
ERROR 42000: FUNCTION test.b does not exist
DROP TABLE t1;

View File

@ -53,7 +53,7 @@ CREATE TABLE `t1` (
PRIMARY KEY (`i`)
);
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;
CREATE TABLE t1 (
bool char(0) default NULL,
@ -236,11 +236,11 @@ drop table t1;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1);
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;
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);
ERROR 42S22: Unknown column 'x' in 'field list'
ERROR 42S22: Unknown column 'x' in 'SELECT'
DROP TABLE t1;
CREATE TABLE t1 (
a INT

View File

@ -633,7 +633,9 @@ drop table t1,t2,t3;
--echo #
SET @sort_buffer_size_save= @@sort_buffer_size;
--disable_warnings
SET sort_buffer_size=1125899906842624;
--enable_warnings
CREATE TABLE t1 (a INT,b CHAR,KEY(a,b));
DELETE a1 FROM t1 AS a1,t1 AS a2 WHERE a1.a=a2.a;
DROP TABLE t1;

View File

@ -42,7 +42,7 @@ a b
5 EEEEE
7 GGGGGGG
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');
DELETE FROM t1 WHERE a=2 RETURNING a, UPPER(b);
a UPPER(b)

View File

@ -5,9 +5,9 @@ select * from (select 2 from DUAL) b;
2
2
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;
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);
insert into t1 values(1,'a'),(2,'b'),(3,'c'),(3,'c');
CREATE TABLE t2 (a int not null, b char (10) not null);
@ -27,18 +27,18 @@ a y
3 3
3 3
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;
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;
a a
1 2
SELECT a,2 as a FROM (SELECT '1' as a) b HAVING a=1;
a a
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;
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;
a b a b
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
1
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;
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;
ERROR 42S22: Unknown column 'a' in 'field list'
ERROR 42S22: Unknown column 'a' in 'SELECT'
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);
insert into t1 values (1),(2),(3);
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;
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;
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;
select * from t1;
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;
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;
ERROR 42S22: Unknown column 'aaa' in 'field list'
ERROR 42S22: Unknown column 'aaa' in 'SELECT'
drop table t1;
CREATE TABLE t1 (
OBJECTID int(11) NOT NULL default '0',
@ -477,7 +477,7 @@ t1.id=t3.val
set
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;
#
# MDEV-5353: server crash on subselect if WHERE applied to some
@ -1363,7 +1363,7 @@ DROP TABLE t1;
SELECT 1 FROM (
SELECT 1 UNION SELECT 2 ORDER BY (SELECT 1 FROM DUAL WHERE xxx = 0)
) dt;
ERROR 42S22: Unknown column 'xxx' in 'where clause'
ERROR 42S22: Unknown column 'xxx' in 'WHERE'
create table t1 (a int, b int);
insert into t1 values (3,8), (7,2), (1,4), (5,9);
create table t2 (a int, b int);
@ -1377,7 +1377,7 @@ union
select a,b from t2 where t2.b < 6
order by (a - b / (select a + max(c) from t3 where d = x))
) dt;
ERROR 42S22: Unknown column 'x' in 'where clause'
ERROR 42S22: Unknown column 'x' in 'WHERE'
drop table t1,t2,t3;
#
# End of 10.3 tests
@ -1862,3 +1862,19 @@ pk a
deallocate prepare stmt;
drop table t1,t2,t3;
# 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
#

View File

@ -1514,3 +1514,20 @@ deallocate prepare stmt;
drop table t1,t2,t3;
--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 #

View File

@ -23561,6 +23561,33 @@ EXPLAIN
}
}
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
#
# MDEV-28958: condition pushable into view after simplification

View File

@ -4389,6 +4389,36 @@ execute stmt;
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 #

View File

@ -1621,7 +1621,7 @@ ex
# as a dynamic column name
#
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
# type_and_offset_store on COLUMN_ADD

View File

@ -45,7 +45,7 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
INSERT INTO t1 values (1,'abba');
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 enforce_storage_engine=MyISAM;
select @@session.enforce_storage_engine;

View File

@ -26,7 +26,7 @@ CREATE TABLE t1 (c1 INT PRIMARY KEY AUTO_INCREMENT, c2 VARCHAR(10)) ENGINE=MyISA
SHOW CREATE TABLE t1;
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;
SET SESSION sql_mode='';

View File

@ -11,5 +11,5 @@ t1 CREATE TABLE `t1` (
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
set session sql_mode='no_engine_substitution';
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;

View File

@ -2,6 +2,6 @@ SET SQL_MODE="";
create table t1 (c1 int primary key auto_increment, c2 varchar(10)) engine=memory;
show create table t1;
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;
drop table t1;

View File

@ -7,21 +7,21 @@ update t1 set a=1;
ERROR 42S02: Table 'test.t1' doesn't exist
create table t1 (a int);
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;
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;
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;
Got one of the listed errors
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;
ERROR 42S22: Unknown column '2' in 'group statement'
ERROR 42S22: Unknown column '2' in 'GROUP BY'
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;
ERROR 42S22: Unknown column 'b' in 'field list'
ERROR 42S22: Unknown column 'b' in 'SELECT'
drop table t1;
create table t1 (a int(256));
ERROR 42000: Display width out of range for 'a' (max = 255)
@ -45,17 +45,17 @@ Warning 1365 Division by 0
DROP TABLE t1;
CREATE TABLE t1( a INT );
SELECT b FROM t1;
ERROR 42S22: Unknown column 'b' in 'field list'
ERROR 42S22: Unknown column 'b' in 'SELECT'
SHOW ERRORS;
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;
ERROR 42S22: Unknown column 'b' in 'field list'
ERROR 42S22: Unknown column 'b' in 'SELECT'
SHOW ERRORS;
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;
ERROR 42S22: Unknown column 'b' in 'field list'
ERROR 42S22: Unknown column 'b' in 'SELECT'
DROP TABLE t1;
flush status;
drop table if exists t1, t2;

View File

@ -205,7 +205,7 @@ INSERT INTO t1 VALUES (repeat('b',@@global.max_allowed_packet));
EXPLAIN SELECT DISTINCT 1 FROM t1,
(SELECT DISTINCTROW a AS away FROM t1 GROUP BY a WITH ROLLUP) as d1
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;
#
# Bug#48295:

View File

@ -8,3 +8,11 @@ ERROR 28000: Access denied for user 'USER'@'localhost'
replace mysql.global_priv select * from global_priv_backup;
flush privileges;
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

View File

@ -27,3 +27,17 @@ change_user $USER;
replace mysql.global_priv select * from global_priv_backup;
flush privileges;
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

View File

@ -126,7 +126,7 @@ group by
a.text, b.id, b.betreff
order by
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
from
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)
order by
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
from
t2 a inner join t3 b on a.id = b.forum inner join

View File

@ -160,7 +160,7 @@ set group_concat_max_len = 1024;
select group_concat(sum(c)) from t1 group by grp;
ERROR HY000: Invalid use of group function
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;
create table t1 ( URL_ID int(11), URL varchar(80));
create table t2 ( REQ_ID int(11), URL_ID int(11));

View File

@ -154,7 +154,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
Warnings:
Note 1003 select degrees(pi()) AS `degrees(pi())`,radians(360) AS `radians(360)`
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));
insert into t1 values(1,1234567890.12345);
select format(col2,7) from t1;

View File

@ -134,7 +134,7 @@ DROP PROCEDURE p1;
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
GET DIAGNOSTICS CONDITION a;
ERROR 42S22: Unknown column 'a' in 'field list'
ERROR 42S22: Unknown column 'a' in 'GET DIAGNOSTICS'
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
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;
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;
ERROR 42S22: Unknown column 'p1' in 'field list'
ERROR 42S22: Unknown column 'p1' in 'GET DIAGNOSTICS'
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" @var = CLASS_ORIGIN;
SELECT COUNT(max_questions) INTO @var FROM mysql.user;
@ -227,7 +227,7 @@ Warnings:
Error 1758 Invalid condition number
Error 1758 Invalid condition number
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;
SET @cond = 1;
GET DIAGNOSTICS CONDITION @cond @var1 = CLASS_ORIGIN;
@ -1502,13 +1502,13 @@ SELECT @var119;
@var119
0
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;
SELECT @var120;
@var120
0
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;
SELECT @var121;
@var121
@ -1544,13 +1544,13 @@ SELECT @var125;
@var125
0
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;
SELECT @var126;
@var126
0
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;
SELECT @var127;
@var127

View File

@ -5435,5 +5435,22 @@ AsText(g)
POINT(1 1)
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

View File

@ -3445,5 +3445,15 @@ SELECT AsText(g) FROM t1;
DROP TABLE t1;
--echo #
--echo # End of 10.5 tests
--echo # MDEV-16699 heap-use-after-free in group_concat with compressed or GIS columns
--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

View File

@ -38,6 +38,7 @@ connection default;
disconnect u1;
drop user u1@localhost;
drop database mysqltest1;
use test;
#
# 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 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
r`o'l"e
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');
create user u8@h identified with 'mysql_old_password';
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
u1 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 u7@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
u1 Y mysql_native_password bad
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');
flush privileges;
drop table mysql.host;
#
# 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

View File

@ -50,6 +50,7 @@ connection default;
disconnect u1;
drop user u1@localhost;
drop database mysqltest1;
use test;
--echo #
--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 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';
SET DEFAULT ROLE `r``o'l"e` FOR 'test-user';
# 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';
eval set password for u8@h = '$p';
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
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';
@ -332,7 +333,7 @@ grant select on *.* to u5@h;
grant select on *.* to u6@h;
grant select on *.* to u7@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
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;
drop table mysql.host;
--echo #
--echo # End of 10.4 tests
--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

View 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

View 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

View File

@ -790,7 +790,7 @@ SELECT n+1 AS n FROM t1 GROUP BY n;
n
2
Warnings:
Warning 1052 Column 'n' in group statement is ambiguous
Warning 1052 Column 'n' in GROUP BY is ambiguous
DROP TABLE t1;
create table t1(f1 varchar(5) key);
insert into t1 values (1),(2);
@ -877,10 +877,10 @@ c2
aaa
aaa
Warnings:
Warning 1052 Column 'c2' in group statement is ambiguous
Warning 1052 Column 'c2' in GROUP BY is ambiguous
show warnings;
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
group by t1.c1;
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
SELECT 1 FROM t1 as t1_outer GROUP BY a
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)
FROM t1 AS t1_outer GROUP BY t1_outer.b;
(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
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);
ERROR HY000: Invalid use of group function
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
#
(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
#
# 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
#
#
# 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
#
create table t1 (a int, b int, c int, key(a,b,c));

View File

@ -2151,6 +2151,21 @@ drop table t20, t21, t22;
--echo # End of 10.3 tests
--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 # Test new group_min_max optimization
--echo #

View File

@ -200,7 +200,7 @@ select count(*) from t1 group by col2 having col2 = 'hello';
count(*)
3
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;
count_col1
10
@ -241,7 +241,7 @@ select sum(col1) as co2, count(col2) as cc from t1 group by col1 having col1 =10
co2 cc
40 4
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
where t1.col2 in
(select t2.col2 from t2
@ -279,7 +279,7 @@ select t1.col1 as tmp_col from t1
where t1.col2 in
(select t2.col2 from t2
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
where t1.col2 in
(select t2.col2 from t2
@ -301,7 +301,7 @@ where t1.col2 in
(select t2.col2 from t2
group by t2.col1, t2.col2 having col_t1 <= 10)
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
where t1.col2 in
(select t2.col2 from t2
@ -322,7 +322,7 @@ select sum(col1) from t1
group by col_t1
having col_t1 in (select sum(t2.col1) from t2
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
group by col_t1
having col_t1 in (select sum(t2.col1) from t2
@ -333,10 +333,10 @@ sum(col1)
30
select t1.col1, t2.col1 from t1, t2 where t1.col1 = t2.col1
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
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;
create table t1 (s1 int);
insert into t1 values (1),(2),(3);
@ -348,8 +348,8 @@ s1
0
0
Warnings:
Warning 1052 Column 's1' in group statement is ambiguous
Warning 1052 Column 's1' in having clause is ambiguous
Warning 1052 Column 's1' in GROUP BY is ambiguous
Warning 1052 Column 's1' in HAVING is ambiguous
select s1*0 from t1 group by s1 having s1 = 0;
s1*0
select s1 from t1 group by 1 having 1 = 0;
@ -362,7 +362,7 @@ count(s1)
1
1
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;
create table t1 (s1 char character set latin1 collate latin1_german1_ci);
insert ignore into t1 values ('ü'),('y');

View File

@ -68,6 +68,6 @@ COUNT(@@GLOBAL.Host_Cache_Size)
1
1 Expected
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'
SET @@GLOBAL.Host_Cache_Size=DEFAULT;

View File

@ -768,14 +768,14 @@ create table t3 (c int);
create table t4 (d1 int, d2 int);
insert into t4
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
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;
create table t (a int);
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;
#
# 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 t2 (j int) ;
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;
#
# End of 10.4 tests

View File

@ -482,7 +482,7 @@ INSERT INTO t1 VALUES(1,'a'),(2,'b'),(3,'c');
# SIMLPE INSERT STATEMENT
#
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);
ERROR HY000: Invalid use of group function
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
#
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);
ERROR HY000: Invalid use of group function
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 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);
ERROR HY000: Invalid use of group function
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'
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'
RETURNING MAX(id);
ERROR HY000: Invalid use of group function
@ -565,7 +565,7 @@ RETURNING (SELECT * FROM ins_duplicate);
ERROR 21000: Operand should contain 1 column(s)
INSERT INTO ins_duplicate VALUES(2,'b') ON DUPLICATE KEY UPDATE val='b'
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'
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
@ -576,7 +576,7 @@ ERROR 42S02: Unknown table 'test.t1'
# INSERT...SELECT
#
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);
ERROR HY000: Invalid use of group function
INSERT INTO t2(id2, val2) SELECT * FROM t1 WHERE id1=2 RETURNING (SELECT

View File

@ -666,11 +666,11 @@ 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;
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;
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;
ERROR 42S22: Unknown column 't2.b' in 'field list'
ERROR 42S22: Unknown column 't2.b' in 'UPDATE'
drop table t1,t2,t3;
create table t1(f1 varchar(5) key);
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);
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);
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);
ERROR 42S22: Unknown column 't2.x' in 'field list'
ERROR 42S22: Unknown column 't2.x' in 'UPDATE'
drop table t1,t2;
CREATE TABLE t1 (a int PRIMARY KEY);
INSERT INTO t1 values (1), (2);

View File

@ -158,7 +158,7 @@ a b c
5 0 30
8 9 60
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);
SELECT *, VALUE(a) FROM t1;
a b c VALUE(a)
@ -191,9 +191,9 @@ a
2
3
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 ;
ERROR 23000: Column 't1.a' in field list is ambiguous
ERROR 23000: Column 't1.a' in UPDATE is ambiguous
drop table t1;
CREATE TABLE t1 (
a BIGINT(20) NOT NULL DEFAULT 0,
@ -225,7 +225,7 @@ a b
DROP TABLE t1;
CREATE TABLE t1 (i INT PRIMARY KEY, j INT);
INSERT INTO t1 SELECT 1, j;
ERROR 42S22: Unknown column 'j' in 'field list'
ERROR 42S22: Unknown column 'j' in 'SELECT'
DROP TABLE t1;
CREATE TABLE t1 (i INT PRIMARY KEY, j 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 t2 VALUES (1), (3);
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;
SET SQL_MODE = 'TRADITIONAL';
CREATE TABLE t1 (a INT PRIMARY KEY, b INT NOT NULL);

View File

@ -234,7 +234,7 @@ a d e f
1 d blob 3 1
1 d blob 41 1
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;
#now this will copy invisible fields
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
#v does not have invisible column;
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);
select * from v;
a d e f
@ -321,7 +321,7 @@ a d e f
1 d blob 41 1
1 21 32 4
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;
create view v as select a,b,c,d,e,f from t1;
desc v;

View File

@ -16,16 +16,16 @@ select a , invisible from t1;
a invisible
1 9
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;
ERROR 42S22: Unknown column 'invisible' in 'field list'
ERROR 42S22: Unknown column 'invisible' in 'SELECT'
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 t1 select * from t_tmp;
ERROR 21S01: Column count doesn't match value count at row 1
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;
a invisible
1 9
@ -45,22 +45,22 @@ select a , invisible from t1;
a invisible
109 9
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);
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);
ERROR 42S22: Unknown column 'invisible' in 'field list'
ERROR 42S22: Unknown column 'invisible' in 'SET'
select a , invisible from t1;
a invisible
109 9
set @a=12;
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;
a invisible
109 9
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;
a invisible
109 9
@ -100,7 +100,7 @@ select * from t1;
a
1
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";
select invisible ,a from t1;
invisible a
@ -108,9 +108,9 @@ invisible a
set debug_dbug=@old_debug;
create table t2 (invisible int);
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);
ERROR 42S22: Unknown column 'invisible' in 'from clause'
ERROR 42S22: Unknown column 'invisible' in 'FROM'
insert t2 values (8),(9);
select * from t1 natural join t2;
a invisible

View File

@ -39,7 +39,7 @@ a
2
3
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;
update t1 set a=1 where a=3;
select * from t1;

View File

@ -727,31 +727,31 @@ b c a c b y
1 10 2 3 1 2
1 3 2 3 1 2
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;
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);
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;
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;
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));
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);
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);
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))
natural join
(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));
ERROR 23000: Column 'c' in from clause is ambiguous
ERROR 23000: Column 'c' in FROM is ambiguous
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;
ERROR 42S22: Unknown column 't1.b' in 'on clause'
ERROR 42S22: Unknown column 't1.b' in 'ON'
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,
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 PROCEDURE p() SELECT t1.f FROM t AS t1 JOIN t AS t2 USING (f);
CALL p;
ERROR 42S22: Unknown column 'f' in 'from clause'
ERROR 42S22: Unknown column 'f' in 'FROM'
CALL p;
ERROR 42S22: Unknown column 'f' in 'from clause'
ERROR 42S22: Unknown column 'f' in 'FROM'
FLUSH TABLES;
CALL p;
ERROR 42S22: Unknown column 'f' in 'from clause'
ERROR 42S22: Unknown column 'f' in 'FROM'
DROP TABLE t;
CREATE TABLE t (f INT);
CALL p;
@ -1544,9 +1544,9 @@ f
DROP TABLE t;
CREATE TABLE t (i INT);
CALL p;
ERROR 42S22: Unknown column 'f' in 'from clause'
ERROR 42S22: Unknown column 'f' in 'FROM'
CALL p;
ERROR 42S22: Unknown column 'f' in 'from clause'
ERROR 42S22: Unknown column 'f' in 'FROM'
DROP PROCEDURE p;
DROP TABLE t;
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)
LEFT JOIN t5 USING (a)) USING (a);
CALL p1;
ERROR 23000: Column 'c' in field list is ambiguous
ERROR 23000: Column 'c' in SELECT is ambiguous
CALL p1;
ERROR 23000: Column 'c' in field list is ambiguous
ERROR 23000: Column 'c' in SELECT is ambiguous
DROP PROCEDURE p1;
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)
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
#
CREATE TABLE t1 (a INT);

View File

@ -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;
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 # MDEV-30256 Wrong result (missing rows) upon join with empty table
--echo #

View File

@ -6244,7 +6244,7 @@ explain format=json
select *
from t1 a, t3 b
where
b.kp1=a.a and
b.kp1+1=a.a+1 and
b.kp1 <= 10 and
b.kp2 <= 10 and
b.col1 +1 < 33333;
@ -6257,8 +6257,7 @@ EXPLAIN
{
"table": {
"table_name": "a",
"access_type": "range",
"possible_keys": ["PRIMARY"],
"access_type": "index",
"key": "PRIMARY",
"key_length": "4",
"used_key_parts": ["a"],
@ -6266,7 +6265,6 @@ EXPLAIN
"rows": 10,
"cost": "COST_REPLACED",
"filtered": 100,
"attached_condition": "a.a <= 10",
"using_index": true
}
},
@ -6282,14 +6280,14 @@ EXPLAIN
"loops": 10,
"rows": 836,
"cost": "COST_REPLACED",
"filtered": 9.090909004,
"index_condition": "b.kp2 <= 10",
"attached_condition": "b.kp2 <= 10 and b.col1 + 1 < 33333"
"filtered": 100,
"index_condition": "b.kp1 <= 10 and b.kp2 <= 10",
"attached_condition": "b.kp1 <= 10 and b.kp2 <= 10 and b.col1 + 1 < 33333"
},
"buffer_type": "flat",
"buffer_size": "54",
"join_type": "BNL",
"attached_condition": "b.kp1 = a.a"
"attached_condition": "b.kp1 + 1 = a.a + 1"
}
}
]

View File

@ -4228,7 +4228,7 @@ explain format=json
select *
from t1 a, t3 b
where
b.kp1=a.a and
b.kp1+1=a.a+1 and
b.kp1 <= 10 and
b.kp2 <= 10 and
b.col1 +1 < 33333;

View File

@ -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);
a
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;
a
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);
e
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);
e
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 TABLE t1, t2, t3, t4, t5, t6;
create table t1 (id1 int(11) not null);
@ -1628,13 +1628,13 @@ LEFT JOIN t5 USING (a)) USING (a);
b
SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 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)
JOIN t5 USING (a)) USING (a);
b
SELECT c FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 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;
CREATE TABLE t1 (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 t3 VALUES (1,1);
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;
CREATE TABLE t1 (
carrier char(2) default NULL,

View File

@ -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);
a
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;
a
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);
e
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);
e
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 TABLE t1, t2, t3, t4, t5, t6;
create table t1 (id1 int(11) not null);
@ -1637,13 +1637,13 @@ LEFT JOIN t5 USING (a)) USING (a);
b
SELECT c FROM t1 JOIN (t2 LEFT JOIN t3 USING (a) LEFT JOIN t4 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)
JOIN t5 USING (a)) USING (a);
b
SELECT c FROM t1 JOIN (t2 JOIN t3 USING (a) JOIN t4 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;
CREATE TABLE t1 (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 t3 VALUES (1,1);
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;
CREATE TABLE t1 (
carrier char(2) default NULL,

View File

@ -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 g ref groups_dt groups_dt 70 const,test.a.type 13 Using index condition
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

View File

@ -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;
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

View File

@ -110,11 +110,11 @@ grp a c id a c d a
3 6 D 3 6 C 6 6
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);
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);
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);
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);
grp a c id a c d
1 1 a 1 1 a 1
@ -404,7 +404,7 @@ insert into t3 values (1);
insert into t4 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;
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;
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));
@ -2703,7 +2703,7 @@ join
t3 on
(t3.f=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
select *
from
@ -2713,7 +2713,7 @@ join
t3 on
(t3.f=(select max(g) from t4 where t4.h=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;
create table t1 (a int);
insert into t1 values (1),(2);
@ -2724,7 +2724,7 @@ insert into t3 values (1),(2);
select * from ( select * from t1 left join t2
on b in (select x from t3 as sq1)
) as sq2;
ERROR 42S22: Unknown column 'x' in 'field list'
ERROR 42S22: Unknown column 'x' in 'SELECT'
drop table t1,t2,t3;
# end of 10.2 tests
#

View File

@ -117,11 +117,11 @@ grp a c id a c d a
3 6 D 3 6 C 6 6
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);
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);
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);
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);
grp a c id a c d
1 1 a 1 1 a 1
@ -411,7 +411,7 @@ insert into t3 values (1);
insert into t4 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;
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;
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));
@ -2710,7 +2710,7 @@ join
t3 on
(t3.f=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
select *
from
@ -2720,7 +2720,7 @@ join
t3 on
(t3.f=(select max(g) from t4 where t4.h=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;
create table t1 (a int);
insert into t1 values (1),(2);
@ -2731,7 +2731,7 @@ insert into t3 values (1),(2);
select * from ( select * from t1 left join t2
on b in (select x from t3 as sq1)
) as sq2;
ERROR 42S22: Unknown column 'x' in 'field list'
ERROR 42S22: Unknown column 'x' in 'SELECT'
drop table t1,t2,t3;
# end of 10.2 tests
#

View File

@ -579,62 +579,62 @@ SELECT test.year(); -- FUNCTION test.year does not exist. Check
SELECT test.create(); -- FUNCTION test.create does not exist. Che
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 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 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
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)');
--------
DROP TABLE non_keyword; -- Unknown table 'test.non_keyword'

View File

@ -184,4 +184,4 @@ DROP TABLE t1, t2;
# KILL QUERY ID USER
#
kill query id user 'foo';
ERROR 42S22: Unknown column 'user' in 'field list'
ERROR 42S22: Unknown column 'user' in 'KILL'

View File

@ -686,3 +686,40 @@ SELECT * FROM t1;
id
1
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

View File

@ -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 '';
SELECT * FROM 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

View File

@ -305,7 +305,7 @@ date_format('2001-09-01', '%c %b %M', 'de_CH')
#
SET lc_messages=ZH_CN;
SELECT x;
ERROR 42S22: 未知列'x'在'field list'
ERROR 42S22: 未知列'x'在'SELECT'
SET lc_messages=DEFAULT;
#
# End of 10.4 tests
@ -315,14 +315,14 @@ SET lc_messages=DEFAULT;
#
SET lc_messages=ka_GE;
SELECT x;
ERROR 42S22: უცნობი სვეტი 'x' 'field list'-ში
ERROR 42S22: უცნობი სვეტი 'x' 'SELECT'-ში
SET lc_messages=DEFAULT;
#
# Add Swahili error messages and locale
#
SET lc_messages=sw_KE;
SELECT x;
ERROR 42S22: Safu wima isiyojulikana 'x' katika 'field list'
ERROR 42S22: Safu wima isiyojulikana 'x' katika 'SELECT'
SET lc_messages=DEFAULT;
#
# MDEV-30997 SIGSEGV in __strlen_avx2 | make_date_time | Item_func_date_format::val_str

View File

@ -213,3 +213,14 @@ b`;
SET timestamp=1234567890;
select count(*) from mysql.global_priv where length(priv)>2
# 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

View File

@ -226,3 +226,19 @@ let SEARCH_OUTPUT=matches;
source include/search_pattern_in_file.inc;
--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

View File

@ -81,7 +81,7 @@ NULL
maria
sachin
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;
insert into t1 values(2);
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);
ERROR 23000: Duplicate entry '2' for key 'a'
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;
alter table t1 drop column db_row_hash_1;
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
sachin 341 fdf gfgfgfg hghgr
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;
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;
ERROR 42S22: Unknown column 'db_row_hash_3' in 'field list'
ERROR 42S22: Unknown column 'db_row_hash_3' in 'SELECT'
#duplicate entry test;
insert into t1 values(21,2,3,42,51);
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);
ERROR 23000: Duplicate entry '1' for key 'a'
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;
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
@ -786,11 +786,11 @@ NULL NULL NULL NULL NULL NULL NULL NULL
maria 6 maria maria maria maria 6 maria
mariadb 7 mariadb mariadb mariadb mariadb 8 mariadb
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;
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;
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 keys entry;
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);
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;
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;
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;
@ -1170,7 +1170,7 @@ DB_ROW_HASH_1 DB_ROW_HASH_2
33 3
44 4
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
select DB_ROW_HASH_1, DB_ROW_HASH_2 from t1,t2;
DB_ROW_HASH_1 DB_ROW_HASH_2
@ -1191,7 +1191,7 @@ DB_ROW_HASH_1 DB_ROW_HASH_2
44 4
44 4
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);
DB_ROW_HASH_1 DB_ROW_HASH_2
11 1
@ -1217,7 +1217,7 @@ DB_ROW_HASH_1 DB_ROW_HASH_2
33 3
44 4
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;
DB_ROW_HASH_1
11

View File

@ -42,7 +42,7 @@ CREATE TABLE t4 (f1 VARCHAR(10), f2 INT) ENGINE=MyISAM;
SELECT * FROM t1;
pk
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;
pk f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 f1 f2
drop table t1,t2,t3,t4;

View File

@ -991,19 +991,19 @@ create view v2 as select * from t2;
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;
call sp0();
ERROR 42S22: Unknown column 't1.c1' in 'where clause'
ERROR 42S22: Unknown column 't1.c1' in 'WHERE'
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;
call sp1();
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
ERROR 42S22: Unknown column 't1.c1' in 'ON'
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;
call sp2();
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
ERROR 42S22: Unknown column 't1.c1' in 'ON'
call sp2();
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
ERROR 42S22: Unknown column 't1.c1' in 'ON'
create procedure sp3()
update (t1 join v2 on v2.c0 = t1.id) set v2.c0 = v2.c0+1;
select * from t2;
@ -1022,9 +1022,9 @@ pk c0
2 3
create procedure sp4() delete t1 from t1 join v2 on v2.c0 = t1.c1;
call sp4();
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
ERROR 42S22: Unknown column 't1.c1' in 'ON'
call sp4();
ERROR 42S22: Unknown column 't1.c1' in 'on clause'
ERROR 42S22: Unknown column 't1.c1' in 'ON'
drop procedure sp0;
drop procedure sp1;
drop procedure sp2;

View File

@ -2698,16 +2698,16 @@ DROP TABLE t1;
CREATE TABLE t1 (a INT);
INSERT INTO t1 VALUES (1), (2), (3);
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;
ERROR 42S22: Unknown column 'uknown_column' in 'where clause'
ERROR 42S22: Unknown column 'uknown_column' in 'WHERE'
DROP TABLE t1;
#57
CREATE TABLE t1(f1 INT);
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;
ERROR 42S22: Unknown column 'f2' in 'field list'
ERROR 42S22: Unknown column 'f2' in 'SET'
DROP TABLE t1;
#62
CREATE TABLE t1 (a INT);

View 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

View 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

View File

@ -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);
ERROR 42S22: Unknown column '1.2345' in 'field list'
ERROR 42S22: Unknown column '1.2345' in 'VALUES'
SET SQL_MODE=@OLD_SQL_MODE;
/*M!999999\- enable the sandbox mode */
/*!40101 SET @saved_cs_client = @@character_set_client */;

View File

@ -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);
ERROR 42S22: Unknown column '1.2345' in 'field list'
ERROR 42S22: Unknown column '1.2345' in 'VALUES'
SET SQL_MODE=@OLD_SQL_MODE;
# Begin testing mysqldump output + restore
# Create 'original table name - <table>_orig

Some files were not shown because too many files have changed in this diff Show More