Merge 10.4 into 10.5
The functional changes of commit 5836191c8f0658d5d75484766fdcc3d838b0a5c1 (MDEV-21168) are omitted due to MDEV-742 having addressed the issue.
This commit is contained in:
commit
fbe2712705
@ -1,6 +1,6 @@
|
||||
/*
|
||||
Copyright (c) 2001, 2012, Oracle and/or its affiliates.
|
||||
Copyright (c) 2009, 2016, MariaDB
|
||||
Copyright (c) 2009, 2020, MariaDB
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -99,6 +99,7 @@ enum options_client
|
||||
OPT_REPORT_PROGRESS,
|
||||
OPT_SKIP_ANNOTATE_ROWS_EVENTS,
|
||||
OPT_SSL_CRL, OPT_SSL_CRLPATH,
|
||||
OPT_IGNORE_DATA,
|
||||
OPT_PRINT_ROW_COUNT, OPT_PRINT_ROW_EVENT_POSITIONS,
|
||||
OPT_SHUTDOWN_WAIT_FOR_SLAVES,
|
||||
OPT_COPY_S3_TABLES,
|
||||
|
@ -507,7 +507,7 @@ static void find_tool(char *tool_executable_name, const char *tool_name,
|
||||
|
||||
len= (int)(last_fn_libchar - self_name);
|
||||
|
||||
my_snprintf(tool_executable_name, FN_REFLEN, "%.*s%c%s",
|
||||
my_snprintf(tool_executable_name, FN_REFLEN, "%.*b%c%s",
|
||||
len, self_name, FN_LIBCHAR, tool_name);
|
||||
}
|
||||
|
||||
|
@ -91,6 +91,7 @@
|
||||
/* Max length GTID position that we will output. */
|
||||
#define MAX_GTID_LENGTH 1024
|
||||
|
||||
static my_bool ignore_table_data(const uchar *hash_key, size_t len);
|
||||
static void add_load_option(DYNAMIC_STRING *str, const char *option,
|
||||
const char *option_value);
|
||||
static ulong find_set(TYPELIB *, const char *, size_t, char **, uint *);
|
||||
@ -211,7 +212,7 @@ TYPELIB compatible_mode_typelib= {array_elements(compatible_mode_names) - 1,
|
||||
|
||||
#define MED_ENGINES "MRG_MyISAM, MRG_ISAM, CONNECT, OQGRAPH, SPIDER, VP, FEDERATED"
|
||||
|
||||
static HASH ignore_table;
|
||||
static HASH ignore_table, ignore_data;
|
||||
|
||||
static HASH ignore_database;
|
||||
|
||||
@ -387,6 +388,12 @@ static struct my_option my_long_options[] =
|
||||
"use the directive multiple times, once for each database. Only takes effect "
|
||||
"when used together with --all-databases|-A",
|
||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"ignore-table-data", OPT_IGNORE_DATA,
|
||||
"Do not dump the specified table data. To specify more than one table "
|
||||
"to ignore, use the directive multiple times, once for each table. "
|
||||
"Each table must be specified with both database and table names, e.g., "
|
||||
"--ignore-table-data=database.table.",
|
||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"ignore-table", OPT_IGNORE_TABLE,
|
||||
"Do not dump the specified table. To specify more than one table to ignore, "
|
||||
"use the directive multiple times, once for each table. Each table must "
|
||||
@ -912,6 +919,19 @@ get_one_option(const struct my_option *opt,
|
||||
(uchar*) my_strdup(PSI_NOT_INSTRUMENTED, argument, MYF(0))))
|
||||
exit(EX_EOM);
|
||||
break;
|
||||
case (int) OPT_IGNORE_DATA:
|
||||
{
|
||||
if (!strchr(argument, '.'))
|
||||
{
|
||||
fprintf(stderr,
|
||||
"Illegal use of option --ignore-table-data=<database>.<table>\n");
|
||||
exit(1);
|
||||
}
|
||||
if (my_hash_insert(&ignore_data, (uchar*)my_strdup(PSI_NOT_INSTRUMENTED,
|
||||
argument, MYF(0))))
|
||||
exit(EX_EOM);
|
||||
break;
|
||||
}
|
||||
case (int) OPT_IGNORE_TABLE:
|
||||
{
|
||||
if (!strchr(argument, '.'))
|
||||
@ -1020,6 +1040,10 @@ static int get_options(int *argc, char ***argv)
|
||||
"mysql.transaction_registry", MYF(MY_WME))))
|
||||
return(EX_EOM);
|
||||
|
||||
if (my_hash_init(PSI_NOT_INSTRUMENTED, &ignore_data, charset_info, 16, 0, 0,
|
||||
(my_hash_get_key) get_table_key, my_free, 0))
|
||||
return(EX_EOM);
|
||||
|
||||
if ((ho_error= handle_options(argc, argv, my_long_options, get_one_option)))
|
||||
return(ho_error);
|
||||
|
||||
@ -1676,6 +1700,8 @@ static void free_resources()
|
||||
my_hash_free(&ignore_database);
|
||||
if (my_hash_inited(&ignore_table))
|
||||
my_hash_free(&ignore_table);
|
||||
if (my_hash_inited(&ignore_data))
|
||||
my_hash_free(&ignore_data);
|
||||
dynstr_free(&extended_row);
|
||||
dynstr_free(&dynamic_where);
|
||||
dynstr_free(&insert_pat);
|
||||
@ -3702,7 +3728,7 @@ static char *alloc_query_str(size_t size)
|
||||
*/
|
||||
|
||||
|
||||
static void dump_table(char *table, char *db)
|
||||
static void dump_table(char *table, char *db, const uchar *hash_key, size_t len)
|
||||
{
|
||||
char ignore_flag;
|
||||
char buf[200], table_buff[NAME_LEN+3];
|
||||
@ -3740,7 +3766,7 @@ static void dump_table(char *table, char *db)
|
||||
}
|
||||
|
||||
/* Check --no-data flag */
|
||||
if (opt_no_data)
|
||||
if (opt_no_data || (hash_key && ignore_table_data(hash_key, len)))
|
||||
{
|
||||
verbose_msg("-- Skipping dump data for table '%s', --no-data was used\n",
|
||||
table);
|
||||
@ -4694,10 +4720,14 @@ static int init_dumping(char *database, int init_func(char*))
|
||||
|
||||
/* Return 1 if we should copy the table */
|
||||
|
||||
my_bool include_table(const uchar *hash_key, size_t len)
|
||||
static my_bool include_table(const uchar *hash_key, size_t len)
|
||||
{
|
||||
return ! my_hash_search(&ignore_table, hash_key, len);
|
||||
}
|
||||
static my_bool ignore_table_data(const uchar *hash_key, size_t len)
|
||||
{
|
||||
return my_hash_search(&ignore_data, hash_key, len) != NULL;
|
||||
}
|
||||
|
||||
|
||||
static int dump_all_tables_in_db(char *database)
|
||||
@ -4763,7 +4793,7 @@ static int dump_all_tables_in_db(char *database)
|
||||
char *end= strmov(afterdot, table);
|
||||
if (include_table((uchar*) hash_key, end - hash_key))
|
||||
{
|
||||
dump_table(table,database);
|
||||
dump_table(table, database, (uchar*) hash_key, end - hash_key);
|
||||
my_free(order_by);
|
||||
order_by= 0;
|
||||
if (opt_dump_triggers && mysql_get_server_version(mysql) >= 50009)
|
||||
@ -5161,7 +5191,7 @@ static int dump_selected_tables(char *db, char **table_names, int tables)
|
||||
for (pos= dump_tables; pos < end; pos++)
|
||||
{
|
||||
DBUG_PRINT("info",("Dumping table %s", *pos));
|
||||
dump_table(*pos, db);
|
||||
dump_table(*pos, db, NULL, 0);
|
||||
if (opt_dump_triggers &&
|
||||
mysql_get_server_version(mysql) >= 50009)
|
||||
{
|
||||
|
@ -588,8 +588,7 @@ static void cleanup_and_exit(int exit_code);
|
||||
|
||||
ATTRIBUTE_NORETURN
|
||||
void really_die(const char *msg);
|
||||
void report_or_die(const char *fmt, ...) ATTRIBUTE_FORMAT(printf, 1, 2);
|
||||
ATTRIBUTE_NORETURN ATTRIBUTE_FORMAT(printf, 1, 2)
|
||||
void report_or_die(const char *fmt, ...);
|
||||
void die(const char *fmt, ...);
|
||||
static void make_error_message(char *buf, size_t len, const char *fmt, va_list args);
|
||||
ATTRIBUTE_NORETURN ATTRIBUTE_FORMAT(printf, 1, 2)
|
||||
@ -718,7 +717,7 @@ public:
|
||||
DBUG_ASSERT(ds->str);
|
||||
|
||||
#ifdef EXTRA_DEBUG
|
||||
DBUG_PRINT("extra", ("str: %*s", (int) ds->length, ds->str));
|
||||
DBUG_DUMP("extra", (uchar*) ds->str, ds->length);
|
||||
#endif
|
||||
|
||||
if (fwrite(ds->str, 1, ds->length, m_file) != ds->length)
|
||||
@ -1140,71 +1139,6 @@ void do_eval(DYNAMIC_STRING *query_eval, const char *query,
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Run query and dump the result to stderr in vertical format
|
||||
|
||||
NOTE! This function should be safe to call when an error
|
||||
has occurred and thus any further errors will be ignored (although logged)
|
||||
|
||||
SYNOPSIS
|
||||
show_query
|
||||
mysql - connection to use
|
||||
query - query to run
|
||||
|
||||
*/
|
||||
|
||||
static void show_query(MYSQL* mysql, const char* query)
|
||||
{
|
||||
MYSQL_RES* res;
|
||||
DBUG_ENTER("show_query");
|
||||
|
||||
if (!mysql)
|
||||
DBUG_VOID_RETURN;
|
||||
|
||||
if (mysql_query(mysql, query))
|
||||
{
|
||||
log_msg("Error running query '%s': %d %s",
|
||||
query, mysql_errno(mysql), mysql_error(mysql));
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
if ((res= mysql_store_result(mysql)) == NULL)
|
||||
{
|
||||
/* No result set returned */
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
{
|
||||
MYSQL_ROW row;
|
||||
unsigned int i;
|
||||
unsigned int row_num= 0;
|
||||
unsigned int num_fields= mysql_num_fields(res);
|
||||
MYSQL_FIELD *fields= mysql_fetch_fields(res);
|
||||
|
||||
fprintf(stderr, "=== %s ===\n", query);
|
||||
while ((row= mysql_fetch_row(res)))
|
||||
{
|
||||
unsigned long *lengths= mysql_fetch_lengths(res);
|
||||
row_num++;
|
||||
|
||||
fprintf(stderr, "---- %d. ----\n", row_num);
|
||||
for(i= 0; i < num_fields; i++)
|
||||
{
|
||||
fprintf(stderr, "%s\t%.*s\n",
|
||||
fields[i].name,
|
||||
(int)lengths[i], row[i] ? row[i] : "NULL");
|
||||
}
|
||||
}
|
||||
for (i= 0; i < strlen(query)+8; i++)
|
||||
fprintf(stderr, "=");
|
||||
fprintf(stderr, "\n\n");
|
||||
}
|
||||
mysql_free_result(res);
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
Show any warnings just before the error. Since the last error
|
||||
is added to the warning stack, only print @@warning_count-1 warnings.
|
||||
@ -1363,7 +1297,7 @@ void check_command_args(struct st_command *command,
|
||||
|
||||
/* Check required arg */
|
||||
if (arg->ds->length == 0 && arg->required)
|
||||
die("Missing required argument '%s' to command '%.*s'", arg->argname,
|
||||
die("Missing required argument '%s' to command '%.*b'", arg->argname,
|
||||
command->first_word_len, command->query);
|
||||
|
||||
}
|
||||
@ -1372,7 +1306,7 @@ void check_command_args(struct st_command *command,
|
||||
while(ptr <= command->end && *ptr != '#')
|
||||
{
|
||||
if (*ptr && *ptr != ' ')
|
||||
die("Extra argument '%s' passed to '%.*s'",
|
||||
die("Extra argument '%s' passed to '%.*b'",
|
||||
ptr, command->first_word_len, command->query);
|
||||
ptr++;
|
||||
}
|
||||
@ -1392,7 +1326,7 @@ void handle_command_error(struct st_command *command, uint error,
|
||||
|
||||
if (command->abort_on_error)
|
||||
{
|
||||
report_or_die("command \"%.*s\" failed with error: %u my_errno: %d "
|
||||
report_or_die("command \"%.*b\" failed with error: %u my_errno: %d "
|
||||
"errno: %d",
|
||||
command->first_word_len, command->query, error, my_errno,
|
||||
sys_errno);
|
||||
@ -1410,7 +1344,7 @@ void handle_command_error(struct st_command *command, uint error,
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
if (command->expected_errors.count > 0)
|
||||
report_or_die("command \"%.*s\" failed with wrong error: %u "
|
||||
report_or_die("command \"%.*b\" failed with wrong error: %u "
|
||||
"my_errno: %d errno: %d",
|
||||
command->first_word_len, command->query, error, my_errno,
|
||||
sys_errno);
|
||||
@ -1419,7 +1353,7 @@ void handle_command_error(struct st_command *command, uint error,
|
||||
command->expected_errors.err[0].code.errnum != 0)
|
||||
{
|
||||
/* Error code we wanted was != 0, i.e. not an expected success */
|
||||
report_or_die("command \"%.*s\" succeeded - should have failed with "
|
||||
report_or_die("command \"%.*b\" succeeded - should have failed with "
|
||||
"errno %d...",
|
||||
command->first_word_len, command->query,
|
||||
command->expected_errors.err[0].code.errnum);
|
||||
@ -2372,7 +2306,7 @@ static int strip_surrounding(char* str, char c1, char c2)
|
||||
static void strip_parentheses(struct st_command *command)
|
||||
{
|
||||
if (strip_surrounding(command->first_argument, '(', ')'))
|
||||
die("%.*s - argument list started with '%c' must be ended with '%c'",
|
||||
die("%.*b - argument list started with '%c' must be ended with '%c'",
|
||||
command->first_word_len, command->query, '(', ')');
|
||||
}
|
||||
|
||||
@ -3028,7 +2962,7 @@ void eval_expr(VAR *v, const char *p, const char **p_end,
|
||||
/* Make sure there was just a $variable and nothing else */
|
||||
const char* end= *p_end + 1;
|
||||
if (end < expected_end && !open_end)
|
||||
die("Found junk '%.*s' after $variable in expression",
|
||||
die("Found junk '%.*b' after $variable in expression",
|
||||
(int)(expected_end - end - 1), end);
|
||||
|
||||
DBUG_VOID_RETURN;
|
||||
@ -3522,10 +3456,10 @@ int do_modify_var(struct st_command *command,
|
||||
const char *p= command->first_argument;
|
||||
VAR* v;
|
||||
if (!*p)
|
||||
die("Missing argument to %.*s", command->first_word_len,
|
||||
die("Missing argument to %.*b", command->first_word_len,
|
||||
command->query);
|
||||
if (*p != '$')
|
||||
die("The argument to %.*s must be a variable (start with $)",
|
||||
die("The argument to %.*b must be a variable (start with $)",
|
||||
command->first_word_len, command->query);
|
||||
v= var_get(p, &p, 1, 0);
|
||||
if (! v->is_int)
|
||||
@ -4792,9 +4726,6 @@ void do_sync_with_master2(struct st_command *command, long offset,
|
||||
if (!result_str || result < 0)
|
||||
{
|
||||
/* master_pos_wait returned NULL or < 0 */
|
||||
show_query(mysql, "SHOW MASTER STATUS");
|
||||
show_query(mysql, "SHOW SLAVE STATUS");
|
||||
show_query(mysql, "SHOW PROCESSLIST");
|
||||
fprintf(stderr, "analyze: sync_with_master\n");
|
||||
|
||||
if (!result_str)
|
||||
@ -4805,18 +4736,18 @@ void do_sync_with_master2(struct st_command *command, long offset,
|
||||
information is not initialized, the arguments are
|
||||
incorrect, or an error has occurred
|
||||
*/
|
||||
die("%.*s failed: '%s' returned NULL " \
|
||||
die("%.*b failed: '%s' returned NULL " \
|
||||
"indicating slave SQL thread failure",
|
||||
command->first_word_len, command->query, query_buf);
|
||||
|
||||
}
|
||||
|
||||
if (result == -1)
|
||||
die("%.*s failed: '%s' returned -1 " \
|
||||
die("%.*b failed: '%s' returned -1 " \
|
||||
"indicating timeout after %d seconds",
|
||||
command->first_word_len, command->query, query_buf, timeout);
|
||||
else
|
||||
die("%.*s failed: '%s' returned unknown result :%d",
|
||||
die("%.*b failed: '%s' returned unknown result :%d",
|
||||
command->first_word_len, command->query, query_buf, result);
|
||||
}
|
||||
|
||||
@ -4981,17 +4912,17 @@ int do_sleep(struct st_command *command, my_bool real_sleep)
|
||||
while (my_isspace(charset_info, *p))
|
||||
p++;
|
||||
if (!*p)
|
||||
die("Missing argument to %.*s", command->first_word_len,
|
||||
die("Missing argument to %.*b", command->first_word_len,
|
||||
command->query);
|
||||
sleep_start= p;
|
||||
/* Check that arg starts with a digit, not handled by my_strtod */
|
||||
if (!my_isdigit(charset_info, *sleep_start))
|
||||
die("Invalid argument to %.*s \"%s\"", command->first_word_len,
|
||||
die("Invalid argument to %.*b \"%s\"", command->first_word_len,
|
||||
command->query, sleep_start);
|
||||
sleep_val= my_strtod(sleep_start, &sleep_end, &error);
|
||||
check_eol_junk_line(sleep_end);
|
||||
if (error)
|
||||
die("Invalid argument to %.*s \"%s\"", command->first_word_len,
|
||||
die("Invalid argument to %.*b \"%s\"", command->first_word_len,
|
||||
command->query, command->first_argument);
|
||||
dynstr_free(&ds_sleep);
|
||||
|
||||
@ -6042,7 +5973,7 @@ void do_connect(struct st_command *command)
|
||||
csname= strdup(con_options + sizeof("CHARSET=") - 1);
|
||||
}
|
||||
else
|
||||
die("Illegal option to connect: %.*s",
|
||||
die("Illegal option to connect: %.*b",
|
||||
(int) (end - con_options), con_options);
|
||||
/* Process next option */
|
||||
con_options= end;
|
||||
@ -6343,7 +6274,7 @@ void do_block(enum block_cmd cmd, struct st_command* command)
|
||||
|
||||
enum block_op operand= find_operand(curr_ptr);
|
||||
if (operand == ILLEG_OP)
|
||||
die("Found junk '%.*s' after $variable in condition",
|
||||
die("Found junk '%.*b' after $variable in condition",
|
||||
(int)(expr_end - curr_ptr), curr_ptr);
|
||||
|
||||
/* We could silently allow this, but may be confusing */
|
||||
@ -9543,6 +9474,7 @@ int main(int argc, char **argv)
|
||||
case Q_LET: do_let(command); break;
|
||||
case Q_EVAL_RESULT:
|
||||
die("'eval_result' command is deprecated");
|
||||
break; // never called but keep compiler calm
|
||||
case Q_EVAL:
|
||||
case Q_EVALP:
|
||||
case Q_QUERY_VERTICAL:
|
||||
|
@ -1,4 +1,5 @@
|
||||
# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
|
||||
# Copyright (c) 2020, MariaDB
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@ -33,11 +34,16 @@ SET(MY_WARNING_FLAGS
|
||||
-Wnon-virtual-dtor
|
||||
-Wvla
|
||||
-Wwrite-strings
|
||||
-Werror
|
||||
)
|
||||
|
||||
FOREACH(F ${MY_WARNING_FLAGS})
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG(${F} DEBUG RELWITHDEBINFO)
|
||||
ENDFOREACH()
|
||||
|
||||
SET(MY_ERROR_FLAGS -Werror)
|
||||
|
||||
IF(CMAKE_COMPILER_IS_GNUCC AND CMAKE_C_COMPILER_VERSION VERSION_LESS "6.0.0")
|
||||
SET(MY_WARNING_FLAGS ${MY_WARNING_FLAGS} -Wno-error=maybe-uninitialized)
|
||||
SET(MY_ERROR_FLAGS ${MY_ERROR_FLAGS} -Wno-error=maybe-uninitialized)
|
||||
ENDIF()
|
||||
|
||||
IF(MYSQL_MAINTAINER_MODE MATCHES "OFF")
|
||||
@ -46,7 +52,7 @@ ELSEIF(MYSQL_MAINTAINER_MODE MATCHES "AUTO")
|
||||
SET(WHERE DEBUG)
|
||||
ENDIF()
|
||||
|
||||
FOREACH(F ${MY_WARNING_FLAGS})
|
||||
FOREACH(F ${MY_ERROR_FLAGS})
|
||||
MY_CHECK_AND_SET_COMPILER_FLAG(${F} ${WHERE})
|
||||
ENDFOREACH()
|
||||
|
||||
|
@ -39,7 +39,12 @@ __vector unsigned long long __builtin_pack_vector (unsigned long __a,
|
||||
return __v;
|
||||
}
|
||||
|
||||
#ifndef vec_xxpermdi
|
||||
/*
|
||||
* Clang 7 changed the behavior of vec_xxpermdi in order to provide the same
|
||||
* behavior of GCC. That means code adapted to Clang >= 7 does not work on
|
||||
* Clang <= 6. So, fallback to __builtin_unpack_vector() on Clang <= 6.
|
||||
*/
|
||||
#if !defined vec_xxpermdi || __clang_major__ <= 6
|
||||
|
||||
static inline
|
||||
unsigned long __builtin_unpack_vector (__vector unsigned long long __v,
|
||||
@ -62,9 +67,9 @@ static inline
|
||||
unsigned long __builtin_unpack_vector_0 (__vector unsigned long long __v)
|
||||
{
|
||||
#if defined(__BIG_ENDIAN__)
|
||||
return vec_xxpermdi(__v, __v, 0x0)[1];
|
||||
#else
|
||||
return vec_xxpermdi(__v, __v, 0x0)[0];
|
||||
#else
|
||||
return vec_xxpermdi(__v, __v, 0x3)[0];
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -72,9 +77,9 @@ static inline
|
||||
unsigned long __builtin_unpack_vector_1 (__vector unsigned long long __v)
|
||||
{
|
||||
#if defined(__BIG_ENDIAN__)
|
||||
return vec_xxpermdi(__v, __v, 0x3)[1];
|
||||
#else
|
||||
return vec_xxpermdi(__v, __v, 0x3)[0];
|
||||
#else
|
||||
return vec_xxpermdi(__v, __v, 0x0)[0];
|
||||
#endif
|
||||
}
|
||||
#endif /* vec_xxpermdi */
|
||||
|
@ -327,193 +327,203 @@ check_server_version(unsigned long version_number,
|
||||
/*********************************************************************//**
|
||||
Receive options important for XtraBackup from MySQL server.
|
||||
@return true on success. */
|
||||
bool
|
||||
get_mysql_vars(MYSQL *connection)
|
||||
bool get_mysql_vars(MYSQL *connection)
|
||||
{
|
||||
char *gtid_mode_var = NULL;
|
||||
char *version_var = NULL;
|
||||
char *version_comment_var = NULL;
|
||||
char *innodb_version_var = NULL;
|
||||
char *have_backup_locks_var = NULL;
|
||||
char *log_bin_var = NULL;
|
||||
char *lock_wait_timeout_var= NULL;
|
||||
char *wsrep_on_var = NULL;
|
||||
char *slave_parallel_workers_var = NULL;
|
||||
char *gtid_slave_pos_var = NULL;
|
||||
char *innodb_buffer_pool_filename_var = NULL;
|
||||
char *datadir_var = NULL;
|
||||
char *innodb_log_group_home_dir_var = NULL;
|
||||
char *innodb_log_file_size_var = NULL;
|
||||
char *innodb_log_files_in_group_var = NULL;
|
||||
char *innodb_data_file_path_var = NULL;
|
||||
char *innodb_data_home_dir_var = NULL;
|
||||
char *innodb_undo_directory_var = NULL;
|
||||
char *innodb_page_size_var = NULL;
|
||||
char *innodb_undo_tablespaces_var = NULL;
|
||||
char *page_zip_level_var = NULL;
|
||||
char *endptr;
|
||||
unsigned long server_version = mysql_get_server_version(connection);
|
||||
char *gtid_mode_var= NULL;
|
||||
char *version_var= NULL;
|
||||
char *version_comment_var= NULL;
|
||||
char *innodb_version_var= NULL;
|
||||
char *have_backup_locks_var= NULL;
|
||||
char *log_bin_var= NULL;
|
||||
char *lock_wait_timeout_var= NULL;
|
||||
char *wsrep_on_var= NULL;
|
||||
char *slave_parallel_workers_var= NULL;
|
||||
char *gtid_slave_pos_var= NULL;
|
||||
char *innodb_buffer_pool_filename_var= NULL;
|
||||
char *datadir_var= NULL;
|
||||
char *innodb_log_group_home_dir_var= NULL;
|
||||
char *innodb_log_file_size_var= NULL;
|
||||
char *innodb_log_files_in_group_var= NULL;
|
||||
char *innodb_data_file_path_var= NULL;
|
||||
char *innodb_data_home_dir_var= NULL;
|
||||
char *innodb_undo_directory_var= NULL;
|
||||
char *innodb_page_size_var= NULL;
|
||||
char *innodb_undo_tablespaces_var= NULL;
|
||||
char *page_zip_level_var= NULL;
|
||||
char *ignore_db_dirs= NULL;
|
||||
char *endptr;
|
||||
unsigned long server_version= mysql_get_server_version(connection);
|
||||
|
||||
bool ret = true;
|
||||
bool ret= true;
|
||||
|
||||
mysql_variable mysql_vars[] = {
|
||||
{"have_backup_locks", &have_backup_locks_var},
|
||||
{"log_bin", &log_bin_var},
|
||||
{"lock_wait_timeout", &lock_wait_timeout_var},
|
||||
{"gtid_mode", >id_mode_var},
|
||||
{"version", &version_var},
|
||||
{"version_comment", &version_comment_var},
|
||||
{"innodb_version", &innodb_version_var},
|
||||
{"wsrep_on", &wsrep_on_var},
|
||||
{"slave_parallel_workers", &slave_parallel_workers_var},
|
||||
{"gtid_slave_pos", >id_slave_pos_var},
|
||||
{"innodb_buffer_pool_filename",
|
||||
&innodb_buffer_pool_filename_var},
|
||||
{"datadir", &datadir_var},
|
||||
{"innodb_log_group_home_dir", &innodb_log_group_home_dir_var},
|
||||
{"innodb_log_file_size", &innodb_log_file_size_var},
|
||||
{"innodb_log_files_in_group", &innodb_log_files_in_group_var},
|
||||
{"innodb_data_file_path", &innodb_data_file_path_var},
|
||||
{"innodb_data_home_dir", &innodb_data_home_dir_var},
|
||||
{"innodb_undo_directory", &innodb_undo_directory_var},
|
||||
{"innodb_page_size", &innodb_page_size_var},
|
||||
{"innodb_undo_tablespaces", &innodb_undo_tablespaces_var},
|
||||
{"innodb_compression_level", &page_zip_level_var},
|
||||
{NULL, NULL}
|
||||
};
|
||||
mysql_variable mysql_vars[]= {
|
||||
{"have_backup_locks", &have_backup_locks_var},
|
||||
{"log_bin", &log_bin_var},
|
||||
{"lock_wait_timeout", &lock_wait_timeout_var},
|
||||
{"gtid_mode", >id_mode_var},
|
||||
{"version", &version_var},
|
||||
{"version_comment", &version_comment_var},
|
||||
{"innodb_version", &innodb_version_var},
|
||||
{"wsrep_on", &wsrep_on_var},
|
||||
{"slave_parallel_workers", &slave_parallel_workers_var},
|
||||
{"gtid_slave_pos", >id_slave_pos_var},
|
||||
{"innodb_buffer_pool_filename", &innodb_buffer_pool_filename_var},
|
||||
{"datadir", &datadir_var},
|
||||
{"innodb_log_group_home_dir", &innodb_log_group_home_dir_var},
|
||||
{"innodb_log_file_size", &innodb_log_file_size_var},
|
||||
{"innodb_log_files_in_group", &innodb_log_files_in_group_var},
|
||||
{"innodb_data_file_path", &innodb_data_file_path_var},
|
||||
{"innodb_data_home_dir", &innodb_data_home_dir_var},
|
||||
{"innodb_undo_directory", &innodb_undo_directory_var},
|
||||
{"innodb_page_size", &innodb_page_size_var},
|
||||
{"innodb_undo_tablespaces", &innodb_undo_tablespaces_var},
|
||||
{"innodb_compression_level", &page_zip_level_var},
|
||||
{"ignore_db_dirs", &ignore_db_dirs},
|
||||
{NULL, NULL}};
|
||||
|
||||
read_mysql_variables(connection, "SHOW VARIABLES",
|
||||
mysql_vars, true);
|
||||
read_mysql_variables(connection, "SHOW VARIABLES", mysql_vars, true);
|
||||
|
||||
if (have_backup_locks_var != NULL && !opt_no_backup_locks) {
|
||||
have_backup_locks = true;
|
||||
}
|
||||
if (have_backup_locks_var != NULL && !opt_no_backup_locks)
|
||||
{
|
||||
have_backup_locks= true;
|
||||
}
|
||||
|
||||
if (opt_binlog_info == BINLOG_INFO_AUTO) {
|
||||
if (log_bin_var != NULL && !strcmp(log_bin_var, "ON"))
|
||||
opt_binlog_info = BINLOG_INFO_ON;
|
||||
else
|
||||
opt_binlog_info = BINLOG_INFO_OFF;
|
||||
}
|
||||
if (opt_binlog_info == BINLOG_INFO_AUTO)
|
||||
{
|
||||
if (log_bin_var != NULL && !strcmp(log_bin_var, "ON"))
|
||||
opt_binlog_info= BINLOG_INFO_ON;
|
||||
else
|
||||
opt_binlog_info= BINLOG_INFO_OFF;
|
||||
}
|
||||
|
||||
if (lock_wait_timeout_var != NULL) {
|
||||
have_lock_wait_timeout = true;
|
||||
}
|
||||
if (lock_wait_timeout_var != NULL)
|
||||
{
|
||||
have_lock_wait_timeout= true;
|
||||
}
|
||||
|
||||
if (wsrep_on_var != NULL) {
|
||||
have_galera_enabled = true;
|
||||
}
|
||||
if (wsrep_on_var != NULL)
|
||||
{
|
||||
have_galera_enabled= true;
|
||||
}
|
||||
|
||||
/* Check server version compatibility and detect server flavor */
|
||||
/* Check server version compatibility and detect server flavor */
|
||||
|
||||
if (!(ret = check_server_version(server_version, version_var,
|
||||
version_comment_var,
|
||||
innodb_version_var))) {
|
||||
goto out;
|
||||
}
|
||||
if (!(ret= check_server_version(server_version, version_var,
|
||||
version_comment_var, innodb_version_var)))
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (server_version > 50500) {
|
||||
have_flush_engine_logs = true;
|
||||
}
|
||||
if (server_version > 50500)
|
||||
{
|
||||
have_flush_engine_logs= true;
|
||||
}
|
||||
|
||||
if (slave_parallel_workers_var != NULL
|
||||
&& atoi(slave_parallel_workers_var) > 0) {
|
||||
have_multi_threaded_slave = true;
|
||||
}
|
||||
if (slave_parallel_workers_var != NULL &&
|
||||
atoi(slave_parallel_workers_var) > 0)
|
||||
{
|
||||
have_multi_threaded_slave= true;
|
||||
}
|
||||
|
||||
if (innodb_buffer_pool_filename_var != NULL) {
|
||||
buffer_pool_filename = strdup(innodb_buffer_pool_filename_var);
|
||||
}
|
||||
if (innodb_buffer_pool_filename_var != NULL)
|
||||
{
|
||||
buffer_pool_filename= strdup(innodb_buffer_pool_filename_var);
|
||||
}
|
||||
|
||||
if ((gtid_mode_var && strcmp(gtid_mode_var, "ON") == 0) ||
|
||||
(gtid_slave_pos_var && *gtid_slave_pos_var)) {
|
||||
have_gtid_slave = true;
|
||||
}
|
||||
if ((gtid_mode_var && strcmp(gtid_mode_var, "ON") == 0) ||
|
||||
(gtid_slave_pos_var && *gtid_slave_pos_var))
|
||||
{
|
||||
have_gtid_slave= true;
|
||||
}
|
||||
|
||||
msg("Using server version %s", version_var);
|
||||
msg("Using server version %s", version_var);
|
||||
|
||||
if (!(ret = detect_mysql_capabilities_for_backup())) {
|
||||
goto out;
|
||||
}
|
||||
if (!(ret= detect_mysql_capabilities_for_backup()))
|
||||
{
|
||||
goto out;
|
||||
}
|
||||
|
||||
/* make sure datadir value is the same in configuration file */
|
||||
if (check_if_param_set("datadir")) {
|
||||
if (!directory_exists(mysql_data_home, false)) {
|
||||
msg("Warning: option 'datadir' points to "
|
||||
"nonexistent directory '%s'", mysql_data_home);
|
||||
}
|
||||
if (!directory_exists(datadir_var, false)) {
|
||||
msg("Warning: MySQL variable 'datadir' points to "
|
||||
"nonexistent directory '%s'", datadir_var);
|
||||
}
|
||||
if (!equal_paths(mysql_data_home, datadir_var)) {
|
||||
msg("Warning: option 'datadir' has different "
|
||||
"values:\n"
|
||||
" '%s' in defaults file\n"
|
||||
" '%s' in SHOW VARIABLES",
|
||||
mysql_data_home, datadir_var);
|
||||
}
|
||||
}
|
||||
/* make sure datadir value is the same in configuration file */
|
||||
if (check_if_param_set("datadir"))
|
||||
{
|
||||
if (!directory_exists(mysql_data_home, false))
|
||||
{
|
||||
msg("Warning: option 'datadir' points to "
|
||||
"nonexistent directory '%s'",
|
||||
mysql_data_home);
|
||||
}
|
||||
if (!directory_exists(datadir_var, false))
|
||||
{
|
||||
msg("Warning: MySQL variable 'datadir' points to "
|
||||
"nonexistent directory '%s'",
|
||||
datadir_var);
|
||||
}
|
||||
if (!equal_paths(mysql_data_home, datadir_var))
|
||||
{
|
||||
msg("Warning: option 'datadir' has different "
|
||||
"values:\n"
|
||||
" '%s' in defaults file\n"
|
||||
" '%s' in SHOW VARIABLES",
|
||||
mysql_data_home, datadir_var);
|
||||
}
|
||||
}
|
||||
|
||||
/* get some default values is they are missing from my.cnf */
|
||||
if (datadir_var && *datadir_var) {
|
||||
strmake(mysql_real_data_home, datadir_var, FN_REFLEN - 1);
|
||||
mysql_data_home= mysql_real_data_home;
|
||||
}
|
||||
/* get some default values is they are missing from my.cnf */
|
||||
if (datadir_var && *datadir_var)
|
||||
{
|
||||
strmake(mysql_real_data_home, datadir_var, FN_REFLEN - 1);
|
||||
mysql_data_home= mysql_real_data_home;
|
||||
}
|
||||
|
||||
if (innodb_data_file_path_var && *innodb_data_file_path_var) {
|
||||
innobase_data_file_path = my_strdup(PSI_NOT_INSTRUMENTED,
|
||||
innodb_data_file_path_var, MYF(MY_FAE));
|
||||
}
|
||||
if (innodb_data_file_path_var && *innodb_data_file_path_var)
|
||||
innobase_data_file_path= my_strdup(PSI_NOT_INSTRUMENTED,
|
||||
innodb_data_file_path_var, MYF(MY_FAE));
|
||||
|
||||
if (innodb_data_home_dir_var) {
|
||||
innobase_data_home_dir = my_strdup(PSI_NOT_INSTRUMENTED,
|
||||
innodb_data_home_dir_var, MYF(MY_FAE));
|
||||
}
|
||||
if (innodb_data_home_dir_var)
|
||||
innobase_data_home_dir= my_strdup(PSI_NOT_INSTRUMENTED,
|
||||
innodb_data_home_dir_var, MYF(MY_FAE));
|
||||
|
||||
if (innodb_log_group_home_dir_var
|
||||
&& *innodb_log_group_home_dir_var) {
|
||||
srv_log_group_home_dir = my_strdup(PSI_NOT_INSTRUMENTED,
|
||||
innodb_log_group_home_dir_var, MYF(MY_FAE));
|
||||
}
|
||||
if (innodb_log_group_home_dir_var && *innodb_log_group_home_dir_var)
|
||||
srv_log_group_home_dir= my_strdup(PSI_NOT_INSTRUMENTED,
|
||||
innodb_log_group_home_dir_var,
|
||||
MYF(MY_FAE));
|
||||
|
||||
if (innodb_undo_directory_var && *innodb_undo_directory_var) {
|
||||
srv_undo_dir = my_strdup(PSI_NOT_INSTRUMENTED,
|
||||
innodb_undo_directory_var, MYF(MY_FAE));
|
||||
}
|
||||
if (innodb_undo_directory_var && *innodb_undo_directory_var)
|
||||
srv_undo_dir= my_strdup(PSI_NOT_INSTRUMENTED, innodb_undo_directory_var,
|
||||
MYF(MY_FAE));
|
||||
|
||||
if (innodb_log_files_in_group_var) {
|
||||
// deprecated
|
||||
}
|
||||
if (innodb_log_file_size_var)
|
||||
{
|
||||
srv_log_file_size= strtoll(innodb_log_file_size_var, &endptr, 10);
|
||||
ut_ad(*endptr == 0);
|
||||
}
|
||||
|
||||
if (innodb_log_file_size_var) {
|
||||
srv_log_file_size = strtoll(
|
||||
innodb_log_file_size_var, &endptr, 10);
|
||||
ut_ad(*endptr == 0);
|
||||
}
|
||||
if (innodb_page_size_var)
|
||||
{
|
||||
innobase_page_size= strtoll(innodb_page_size_var, &endptr, 10);
|
||||
ut_ad(*endptr == 0);
|
||||
}
|
||||
|
||||
if (innodb_page_size_var) {
|
||||
innobase_page_size = strtoll(
|
||||
innodb_page_size_var, &endptr, 10);
|
||||
ut_ad(*endptr == 0);
|
||||
}
|
||||
if (innodb_undo_tablespaces_var)
|
||||
{
|
||||
srv_undo_tablespaces= strtoul(innodb_undo_tablespaces_var, &endptr, 10);
|
||||
ut_ad(*endptr == 0);
|
||||
}
|
||||
|
||||
if (innodb_undo_tablespaces_var) {
|
||||
srv_undo_tablespaces = strtoul(innodb_undo_tablespaces_var,
|
||||
&endptr, 10);
|
||||
ut_ad(*endptr == 0);
|
||||
}
|
||||
if (page_zip_level_var != NULL)
|
||||
{
|
||||
page_zip_level= static_cast<uint>(strtoul(page_zip_level_var, &endptr,
|
||||
10));
|
||||
ut_ad(*endptr == 0);
|
||||
}
|
||||
|
||||
if (page_zip_level_var != NULL) {
|
||||
page_zip_level = static_cast<uint>(strtoul(page_zip_level_var,
|
||||
&endptr, 10));
|
||||
ut_ad(*endptr == 0);
|
||||
}
|
||||
if (ignore_db_dirs)
|
||||
xb_load_list_string(ignore_db_dirs, ",", register_ignore_db_dirs_filter);
|
||||
|
||||
out:
|
||||
free_mysql_variables(mysql_vars);
|
||||
free_mysql_variables(mysql_vars);
|
||||
|
||||
return(ret);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
/*********************************************************************//**
|
||||
|
@ -72,6 +72,7 @@ Street, Fifth Floor, Boston, MA 02110-1335 USA
|
||||
#include <srv0start.h>
|
||||
#include "trx0sys.h"
|
||||
#include <buf0dblwr.h>
|
||||
#include "ha_innodb.h"
|
||||
|
||||
#include <list>
|
||||
#include <sstream>
|
||||
@ -703,8 +704,8 @@ typedef struct {
|
||||
|
||||
enum options_xtrabackup
|
||||
{
|
||||
OPT_XTRA_TARGET_DIR = 1000, /* make sure it is larger
|
||||
than OPT_MAX_CLIENT_OPTION */
|
||||
OPT_XTRA_TARGET_DIR= 1000, /* make sure it is larger
|
||||
than OPT_MAX_CLIENT_OPTION */
|
||||
OPT_XTRA_BACKUP,
|
||||
OPT_XTRA_PREPARE,
|
||||
OPT_XTRA_EXPORT,
|
||||
@ -800,359 +801,399 @@ enum options_xtrabackup
|
||||
OPT_XTRA_CHECK_PRIVILEGES
|
||||
};
|
||||
|
||||
struct my_option xb_client_options[]= {
|
||||
{"verbose", 'V', "display verbose output", (G_PTR *) &verbose,
|
||||
(G_PTR *) &verbose, 0, GET_BOOL, NO_ARG, FALSE, 0, 0, 0, 0, 0},
|
||||
{"version", 'v', "print xtrabackup version information",
|
||||
(G_PTR *) &xtrabackup_version, (G_PTR *) &xtrabackup_version, 0, GET_BOOL,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"target-dir", OPT_XTRA_TARGET_DIR, "destination directory",
|
||||
(G_PTR *) &xtrabackup_target_dir, (G_PTR *) &xtrabackup_target_dir, 0,
|
||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"backup", OPT_XTRA_BACKUP, "take backup to target-dir",
|
||||
(G_PTR *) &xtrabackup_backup, (G_PTR *) &xtrabackup_backup, 0, GET_BOOL,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"prepare", OPT_XTRA_PREPARE,
|
||||
"prepare a backup for starting mysql server on the backup.",
|
||||
(G_PTR *) &xtrabackup_prepare, (G_PTR *) &xtrabackup_prepare, 0, GET_BOOL,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"export", OPT_XTRA_EXPORT,
|
||||
"create files to import to another database when prepare.",
|
||||
(G_PTR *) &xtrabackup_export, (G_PTR *) &xtrabackup_export, 0, GET_BOOL,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"print-param", OPT_XTRA_PRINT_PARAM,
|
||||
"print parameter of mysqld needed for copyback.",
|
||||
(G_PTR *) &xtrabackup_print_param, (G_PTR *) &xtrabackup_print_param, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"use-memory", OPT_XTRA_USE_MEMORY,
|
||||
"The value is used instead of buffer_pool_size",
|
||||
(G_PTR *) &xtrabackup_use_memory, (G_PTR *) &xtrabackup_use_memory, 0,
|
||||
GET_LL, REQUIRED_ARG, 100 * 1024 * 1024L, 1024 * 1024L, LONGLONG_MAX, 0,
|
||||
1024 * 1024L, 0},
|
||||
{"throttle", OPT_XTRA_THROTTLE,
|
||||
"limit count of IO operations (pairs of read&write) per second to IOS "
|
||||
"values (for '--backup')",
|
||||
(G_PTR *) &xtrabackup_throttle, (G_PTR *) &xtrabackup_throttle, 0,
|
||||
GET_LONG, REQUIRED_ARG, 0, 0, LONG_MAX, 0, 1, 0},
|
||||
{"log", OPT_LOG, "Ignored option for MySQL option compatibility",
|
||||
(G_PTR *) &log_ignored_opt, (G_PTR *) &log_ignored_opt, 0, GET_STR,
|
||||
OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"log-copy-interval", OPT_XTRA_LOG_COPY_INTERVAL,
|
||||
"time interval between checks done by log copying thread in milliseconds "
|
||||
"(default is 1 second).",
|
||||
(G_PTR *) &xtrabackup_log_copy_interval,
|
||||
(G_PTR *) &xtrabackup_log_copy_interval, 0, GET_LONG, REQUIRED_ARG, 1000,
|
||||
0, LONG_MAX, 0, 1, 0},
|
||||
{"extra-lsndir", OPT_XTRA_EXTRA_LSNDIR,
|
||||
"(for --backup): save an extra copy of the xtrabackup_checkpoints file "
|
||||
"in this directory.",
|
||||
(G_PTR *) &xtrabackup_extra_lsndir, (G_PTR *) &xtrabackup_extra_lsndir, 0,
|
||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"incremental-lsn", OPT_XTRA_INCREMENTAL,
|
||||
"(for --backup): copy only .ibd pages newer than specified LSN "
|
||||
"'high:low'. ##ATTENTION##: If a wrong LSN value is specified, it is "
|
||||
"impossible to diagnose this, causing the backup to be unusable. Be "
|
||||
"careful!",
|
||||
(G_PTR *) &xtrabackup_incremental, (G_PTR *) &xtrabackup_incremental, 0,
|
||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"incremental-basedir", OPT_XTRA_INCREMENTAL_BASEDIR,
|
||||
"(for --backup): copy only .ibd pages newer than backup at specified "
|
||||
"directory.",
|
||||
(G_PTR *) &xtrabackup_incremental_basedir,
|
||||
(G_PTR *) &xtrabackup_incremental_basedir, 0, GET_STR, REQUIRED_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
{"incremental-dir", OPT_XTRA_INCREMENTAL_DIR,
|
||||
"(for --prepare): apply .delta files and logfile in the specified "
|
||||
"directory.",
|
||||
(G_PTR *) &xtrabackup_incremental_dir,
|
||||
(G_PTR *) &xtrabackup_incremental_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,
|
||||
0, 0, 0},
|
||||
{"tables", OPT_XTRA_TABLES, "filtering by regexp for table names.",
|
||||
(G_PTR *) &xtrabackup_tables, (G_PTR *) &xtrabackup_tables, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"tables_file", OPT_XTRA_TABLES_FILE,
|
||||
"filtering by list of the exact database.table name in the file.",
|
||||
(G_PTR *) &xtrabackup_tables_file, (G_PTR *) &xtrabackup_tables_file, 0,
|
||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"databases", OPT_XTRA_DATABASES, "filtering by list of databases.",
|
||||
(G_PTR *) &xtrabackup_databases, (G_PTR *) &xtrabackup_databases, 0,
|
||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"databases_file", OPT_XTRA_DATABASES_FILE,
|
||||
"filtering by list of databases in the file.",
|
||||
(G_PTR *) &xtrabackup_databases_file,
|
||||
(G_PTR *) &xtrabackup_databases_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,
|
||||
0, 0, 0},
|
||||
{"tables-exclude", OPT_XTRA_TABLES_EXCLUDE,
|
||||
"filtering by regexp for table names. "
|
||||
"Operates the same way as --tables, but matched names are excluded from "
|
||||
"backup. "
|
||||
"Note that this option has a higher priority than --tables.",
|
||||
(G_PTR *) &xtrabackup_tables_exclude,
|
||||
(G_PTR *) &xtrabackup_tables_exclude, 0, GET_STR, REQUIRED_ARG, 0, 0, 0,
|
||||
0, 0, 0},
|
||||
{"databases-exclude", OPT_XTRA_DATABASES_EXCLUDE,
|
||||
"Excluding databases based on name, "
|
||||
"Operates the same way as --databases, but matched names are excluded "
|
||||
"from backup. "
|
||||
"Note that this option has a higher priority than --databases.",
|
||||
(G_PTR *) &xtrabackup_databases_exclude,
|
||||
(G_PTR *) &xtrabackup_databases_exclude, 0, GET_STR, REQUIRED_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
struct my_option xb_client_options[] =
|
||||
{
|
||||
{"verbose", 'V', "display verbose output",
|
||||
(G_PTR*) &verbose, (G_PTR*) &verbose, 0, GET_BOOL, NO_ARG,
|
||||
FALSE, 0, 0, 0, 0, 0},
|
||||
{"version", 'v', "print xtrabackup version information",
|
||||
(G_PTR *) &xtrabackup_version, (G_PTR *) &xtrabackup_version, 0, GET_BOOL,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"target-dir", OPT_XTRA_TARGET_DIR, "destination directory", (G_PTR*) &xtrabackup_target_dir,
|
||||
(G_PTR*) &xtrabackup_target_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"backup", OPT_XTRA_BACKUP, "take backup to target-dir",
|
||||
(G_PTR*) &xtrabackup_backup, (G_PTR*) &xtrabackup_backup,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"prepare", OPT_XTRA_PREPARE, "prepare a backup for starting mysql server on the backup.",
|
||||
(G_PTR*) &xtrabackup_prepare, (G_PTR*) &xtrabackup_prepare,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"export", OPT_XTRA_EXPORT, "create files to import to another database when prepare.",
|
||||
(G_PTR*) &xtrabackup_export, (G_PTR*) &xtrabackup_export,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"print-param", OPT_XTRA_PRINT_PARAM, "print parameter of mysqld needed for copyback.",
|
||||
(G_PTR*) &xtrabackup_print_param, (G_PTR*) &xtrabackup_print_param,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"use-memory", OPT_XTRA_USE_MEMORY, "The value is used instead of buffer_pool_size",
|
||||
(G_PTR*) &xtrabackup_use_memory, (G_PTR*) &xtrabackup_use_memory,
|
||||
0, GET_LL, REQUIRED_ARG, 100*1024*1024L, 1024*1024L, LONGLONG_MAX, 0,
|
||||
1024*1024L, 0},
|
||||
{"throttle", OPT_XTRA_THROTTLE, "limit count of IO operations (pairs of read&write) per second to IOS values (for '--backup')",
|
||||
(G_PTR*) &xtrabackup_throttle, (G_PTR*) &xtrabackup_throttle,
|
||||
0, GET_LONG, REQUIRED_ARG, 0, 0, LONG_MAX, 0, 1, 0},
|
||||
{"log", OPT_LOG, "Ignored option for MySQL option compatibility",
|
||||
(G_PTR*) &log_ignored_opt, (G_PTR*) &log_ignored_opt, 0,
|
||||
GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"log-copy-interval", OPT_XTRA_LOG_COPY_INTERVAL, "time interval between checks done by log copying thread in milliseconds (default is 1 second).",
|
||||
(G_PTR*) &xtrabackup_log_copy_interval, (G_PTR*) &xtrabackup_log_copy_interval,
|
||||
0, GET_LONG, REQUIRED_ARG, 1000, 0, LONG_MAX, 0, 1, 0},
|
||||
{"extra-lsndir", OPT_XTRA_EXTRA_LSNDIR, "(for --backup): save an extra copy of the xtrabackup_checkpoints file in this directory.",
|
||||
(G_PTR*) &xtrabackup_extra_lsndir, (G_PTR*) &xtrabackup_extra_lsndir,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"incremental-lsn", OPT_XTRA_INCREMENTAL, "(for --backup): copy only .ibd pages newer than specified LSN 'high:low'. ##ATTENTION##: If a wrong LSN value is specified, it is impossible to diagnose this, causing the backup to be unusable. Be careful!",
|
||||
(G_PTR*) &xtrabackup_incremental, (G_PTR*) &xtrabackup_incremental,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"incremental-basedir", OPT_XTRA_INCREMENTAL_BASEDIR, "(for --backup): copy only .ibd pages newer than backup at specified directory.",
|
||||
(G_PTR*) &xtrabackup_incremental_basedir, (G_PTR*) &xtrabackup_incremental_basedir,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"incremental-dir", OPT_XTRA_INCREMENTAL_DIR, "(for --prepare): apply .delta files and logfile in the specified directory.",
|
||||
(G_PTR*) &xtrabackup_incremental_dir, (G_PTR*) &xtrabackup_incremental_dir,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"tables", OPT_XTRA_TABLES, "filtering by regexp for table names.",
|
||||
(G_PTR*) &xtrabackup_tables, (G_PTR*) &xtrabackup_tables,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"tables_file", OPT_XTRA_TABLES_FILE, "filtering by list of the exact database.table name in the file.",
|
||||
(G_PTR*) &xtrabackup_tables_file, (G_PTR*) &xtrabackup_tables_file,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"databases", OPT_XTRA_DATABASES, "filtering by list of databases.",
|
||||
(G_PTR*) &xtrabackup_databases, (G_PTR*) &xtrabackup_databases,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"databases_file", OPT_XTRA_DATABASES_FILE,
|
||||
"filtering by list of databases in the file.",
|
||||
(G_PTR*) &xtrabackup_databases_file, (G_PTR*) &xtrabackup_databases_file,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"tables-exclude", OPT_XTRA_TABLES_EXCLUDE, "filtering by regexp for table names. "
|
||||
"Operates the same way as --tables, but matched names are excluded from backup. "
|
||||
"Note that this option has a higher priority than --tables.",
|
||||
(G_PTR*) &xtrabackup_tables_exclude, (G_PTR*) &xtrabackup_tables_exclude,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"databases-exclude", OPT_XTRA_DATABASES_EXCLUDE, "Excluding databases based on name, "
|
||||
"Operates the same way as --databases, but matched names are excluded from backup. "
|
||||
"Note that this option has a higher priority than --databases.",
|
||||
(G_PTR*) &xtrabackup_databases_exclude, (G_PTR*) &xtrabackup_databases_exclude,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"stream", OPT_XTRA_STREAM,
|
||||
"Stream all backup files to the standard output "
|
||||
"in the specified format."
|
||||
"Supported format is 'mbstream' or 'xbstream'.",
|
||||
(G_PTR *) &xtrabackup_stream_str, (G_PTR *) &xtrabackup_stream_str, 0,
|
||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"stream", OPT_XTRA_STREAM, "Stream all backup files to the standard output "
|
||||
"in the specified format."
|
||||
"Supported format is 'mbstream' or 'xbstream'."
|
||||
,
|
||||
(G_PTR*) &xtrabackup_stream_str, (G_PTR*) &xtrabackup_stream_str, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"compress", OPT_XTRA_COMPRESS,
|
||||
"Compress individual backup files using the "
|
||||
"specified compression algorithm. Currently the only supported algorithm "
|
||||
"is 'quicklz'. It is also the default algorithm, i.e. the one used when "
|
||||
"--compress is used without an argument.",
|
||||
(G_PTR *) &xtrabackup_compress_alg, (G_PTR *) &xtrabackup_compress_alg, 0,
|
||||
GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"compress", OPT_XTRA_COMPRESS, "Compress individual backup files using the "
|
||||
"specified compression algorithm. Currently the only supported algorithm "
|
||||
"is 'quicklz'. It is also the default algorithm, i.e. the one used when "
|
||||
"--compress is used without an argument.",
|
||||
(G_PTR*) &xtrabackup_compress_alg, (G_PTR*) &xtrabackup_compress_alg, 0,
|
||||
GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"compress-threads", OPT_XTRA_COMPRESS_THREADS,
|
||||
"Number of threads for parallel data compression. The default value is "
|
||||
"1.",
|
||||
(G_PTR *) &xtrabackup_compress_threads,
|
||||
(G_PTR *) &xtrabackup_compress_threads, 0, GET_UINT, REQUIRED_ARG, 1, 1,
|
||||
UINT_MAX, 0, 0, 0},
|
||||
|
||||
{"compress-threads", OPT_XTRA_COMPRESS_THREADS,
|
||||
"Number of threads for parallel data compression. The default value is 1.",
|
||||
(G_PTR*) &xtrabackup_compress_threads, (G_PTR*) &xtrabackup_compress_threads,
|
||||
0, GET_UINT, REQUIRED_ARG, 1, 1, UINT_MAX, 0, 0, 0},
|
||||
{"compress-chunk-size", OPT_XTRA_COMPRESS_CHUNK_SIZE,
|
||||
"Size of working buffer(s) for compression threads in bytes. The default "
|
||||
"value is 64K.",
|
||||
(G_PTR *) &xtrabackup_compress_chunk_size,
|
||||
(G_PTR *) &xtrabackup_compress_chunk_size, 0, GET_ULL, REQUIRED_ARG,
|
||||
(1 << 16), 1024, ULONGLONG_MAX, 0, 0, 0},
|
||||
|
||||
{"compress-chunk-size", OPT_XTRA_COMPRESS_CHUNK_SIZE,
|
||||
"Size of working buffer(s) for compression threads in bytes. The default value is 64K.",
|
||||
(G_PTR*) &xtrabackup_compress_chunk_size, (G_PTR*) &xtrabackup_compress_chunk_size,
|
||||
0, GET_ULL, REQUIRED_ARG, (1 << 16), 1024, ULONGLONG_MAX, 0, 0, 0},
|
||||
{"incremental-force-scan", OPT_XTRA_INCREMENTAL_FORCE_SCAN,
|
||||
"Perform a full-scan incremental backup even in the presence of changed "
|
||||
"page bitmap data",
|
||||
(G_PTR *) &xtrabackup_incremental_force_scan,
|
||||
(G_PTR *) &xtrabackup_incremental_force_scan, 0, GET_BOOL, NO_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
{"incremental-force-scan", OPT_XTRA_INCREMENTAL_FORCE_SCAN,
|
||||
"Perform a full-scan incremental backup even in the presence of changed "
|
||||
"page bitmap data",
|
||||
(G_PTR*)&xtrabackup_incremental_force_scan,
|
||||
(G_PTR*)&xtrabackup_incremental_force_scan, 0, GET_BOOL, NO_ARG,
|
||||
0, 0, 0, 0, 0, 0},
|
||||
{"close_files", OPT_CLOSE_FILES,
|
||||
"do not keep files opened. Use at your own "
|
||||
"risk.",
|
||||
(G_PTR *) &xb_close_files, (G_PTR *) &xb_close_files, 0, GET_BOOL, NO_ARG,
|
||||
0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"core-file", OPT_CORE_FILE, "Write core on fatal signals", 0, 0, 0,
|
||||
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"close_files", OPT_CLOSE_FILES, "do not keep files opened. Use at your own "
|
||||
"risk.", (G_PTR*) &xb_close_files, (G_PTR*) &xb_close_files, 0, GET_BOOL,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"copy-back", OPT_COPY_BACK,
|
||||
"Copy all the files in a previously made "
|
||||
"backup from the backup directory to their original locations.",
|
||||
(uchar *) &xtrabackup_copy_back, (uchar *) &xtrabackup_copy_back, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"core-file", OPT_CORE_FILE, "Write core on fatal signals", 0, 0, 0,
|
||||
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"move-back", OPT_MOVE_BACK,
|
||||
"Move all the files in a previously made "
|
||||
"backup from the backup directory to the actual datadir location. "
|
||||
"Use with caution, as it removes backup files.",
|
||||
(uchar *) &xtrabackup_move_back, (uchar *) &xtrabackup_move_back, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"galera-info", OPT_GALERA_INFO,
|
||||
"This options creates the "
|
||||
"xtrabackup_galera_info file which contains the local node state at "
|
||||
"the time of the backup. Option should be used when performing the "
|
||||
"backup of MariaDB Galera Cluster. Has no effect when backup locks "
|
||||
"are used to create the backup.",
|
||||
(uchar *) &opt_galera_info, (uchar *) &opt_galera_info, 0, GET_BOOL,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"copy-back", OPT_COPY_BACK, "Copy all the files in a previously made "
|
||||
"backup from the backup directory to their original locations.",
|
||||
(uchar *) &xtrabackup_copy_back, (uchar *) &xtrabackup_copy_back, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"slave-info", OPT_SLAVE_INFO,
|
||||
"This option is useful when backing "
|
||||
"up a replication slave server. It prints the binary log position "
|
||||
"and name of the master server. It also writes this information to "
|
||||
"the \"xtrabackup_slave_info\" file as a \"CHANGE MASTER\" command. "
|
||||
"A new slave for this master can be set up by starting a slave server "
|
||||
"on this backup and issuing a \"CHANGE MASTER\" command with the "
|
||||
"binary log position saved in the \"xtrabackup_slave_info\" file.",
|
||||
(uchar *) &opt_slave_info, (uchar *) &opt_slave_info, 0, GET_BOOL, NO_ARG,
|
||||
0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"move-back", OPT_MOVE_BACK, "Move all the files in a previously made "
|
||||
"backup from the backup directory to the actual datadir location. "
|
||||
"Use with caution, as it removes backup files.",
|
||||
(uchar *) &xtrabackup_move_back, (uchar *) &xtrabackup_move_back, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"no-lock", OPT_NO_LOCK,
|
||||
"Use this option to disable table lock "
|
||||
"with \"FLUSH TABLES WITH READ LOCK\". Use it only if ALL your "
|
||||
"tables are InnoDB and you DO NOT CARE about the binary log "
|
||||
"position of the backup. This option shouldn't be used if there "
|
||||
"are any DDL statements being executed or if any updates are "
|
||||
"happening on non-InnoDB tables (this includes the system MyISAM "
|
||||
"tables in the mysql database), otherwise it could lead to an "
|
||||
"inconsistent backup. If you are considering to use --no-lock "
|
||||
"because your backups are failing to acquire the lock, this could "
|
||||
"be because of incoming replication events preventing the lock "
|
||||
"from succeeding. Please try using --safe-slave-backup to "
|
||||
"momentarily stop the replication slave thread, this may help "
|
||||
"the backup to succeed and you then don't need to resort to "
|
||||
"using this option.",
|
||||
(uchar *) &opt_no_lock, (uchar *) &opt_no_lock, 0, GET_BOOL, NO_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
{"galera-info", OPT_GALERA_INFO, "This options creates the "
|
||||
"xtrabackup_galera_info file which contains the local node state at "
|
||||
"the time of the backup. Option should be used when performing the "
|
||||
"backup of MariaDB Galera Cluster. Has no effect when backup locks "
|
||||
"are used to create the backup.",
|
||||
(uchar *) &opt_galera_info, (uchar *) &opt_galera_info, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"safe-slave-backup", OPT_SAFE_SLAVE_BACKUP,
|
||||
"Stop slave SQL thread "
|
||||
"and wait to start backup until Slave_open_temp_tables in "
|
||||
"\"SHOW STATUS\" is zero. If there are no open temporary tables, "
|
||||
"the backup will take place, otherwise the SQL thread will be "
|
||||
"started and stopped until there are no open temporary tables. "
|
||||
"The backup will fail if Slave_open_temp_tables does not become "
|
||||
"zero after --safe-slave-backup-timeout seconds. The slave SQL "
|
||||
"thread will be restarted when the backup finishes.",
|
||||
(uchar *) &opt_safe_slave_backup, (uchar *) &opt_safe_slave_backup, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"slave-info", OPT_SLAVE_INFO, "This option is useful when backing "
|
||||
"up a replication slave server. It prints the binary log position "
|
||||
"and name of the master server. It also writes this information to "
|
||||
"the \"xtrabackup_slave_info\" file as a \"CHANGE MASTER\" command. "
|
||||
"A new slave for this master can be set up by starting a slave server "
|
||||
"on this backup and issuing a \"CHANGE MASTER\" command with the "
|
||||
"binary log position saved in the \"xtrabackup_slave_info\" file.",
|
||||
(uchar *) &opt_slave_info, (uchar *) &opt_slave_info, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"rsync", OPT_RSYNC,
|
||||
"Uses the rsync utility to optimize local file "
|
||||
"transfers. When this option is specified, innobackupex uses rsync "
|
||||
"to copy all non-InnoDB files instead of spawning a separate cp for "
|
||||
"each file, which can be much faster for servers with a large number "
|
||||
"of databases or tables. This option cannot be used together with "
|
||||
"--stream.",
|
||||
(uchar *) &opt_rsync, (uchar *) &opt_rsync, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||
0, 0, 0},
|
||||
|
||||
{"no-lock", OPT_NO_LOCK, "Use this option to disable table lock "
|
||||
"with \"FLUSH TABLES WITH READ LOCK\". Use it only if ALL your "
|
||||
"tables are InnoDB and you DO NOT CARE about the binary log "
|
||||
"position of the backup. This option shouldn't be used if there "
|
||||
"are any DDL statements being executed or if any updates are "
|
||||
"happening on non-InnoDB tables (this includes the system MyISAM "
|
||||
"tables in the mysql database), otherwise it could lead to an "
|
||||
"inconsistent backup. If you are considering to use --no-lock "
|
||||
"because your backups are failing to acquire the lock, this could "
|
||||
"be because of incoming replication events preventing the lock "
|
||||
"from succeeding. Please try using --safe-slave-backup to "
|
||||
"momentarily stop the replication slave thread, this may help "
|
||||
"the backup to succeed and you then don't need to resort to "
|
||||
"using this option.",
|
||||
(uchar *) &opt_no_lock, (uchar *) &opt_no_lock, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"force-non-empty-directories", OPT_FORCE_NON_EMPTY_DIRS,
|
||||
"This "
|
||||
"option, when specified, makes --copy-back or --move-back transfer "
|
||||
"files to non-empty directories. Note that no existing files will be "
|
||||
"overwritten. If --copy-back or --nove-back has to copy a file from "
|
||||
"the backup directory which already exists in the destination "
|
||||
"directory, it will still fail with an error.",
|
||||
(uchar *) &opt_force_non_empty_dirs, (uchar *) &opt_force_non_empty_dirs,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"safe-slave-backup", OPT_SAFE_SLAVE_BACKUP, "Stop slave SQL thread "
|
||||
"and wait to start backup until Slave_open_temp_tables in "
|
||||
"\"SHOW STATUS\" is zero. If there are no open temporary tables, "
|
||||
"the backup will take place, otherwise the SQL thread will be "
|
||||
"started and stopped until there are no open temporary tables. "
|
||||
"The backup will fail if Slave_open_temp_tables does not become "
|
||||
"zero after --safe-slave-backup-timeout seconds. The slave SQL "
|
||||
"thread will be restarted when the backup finishes.",
|
||||
(uchar *) &opt_safe_slave_backup,
|
||||
(uchar *) &opt_safe_slave_backup,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"no-version-check", OPT_NO_VERSION_CHECK,
|
||||
"This option disables the "
|
||||
"version check which is enabled by the --version-check option.",
|
||||
(uchar *) &opt_noversioncheck, (uchar *) &opt_noversioncheck, 0, GET_BOOL,
|
||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"rsync", OPT_RSYNC, "Uses the rsync utility to optimize local file "
|
||||
"transfers. When this option is specified, innobackupex uses rsync "
|
||||
"to copy all non-InnoDB files instead of spawning a separate cp for "
|
||||
"each file, which can be much faster for servers with a large number "
|
||||
"of databases or tables. This option cannot be used together with "
|
||||
"--stream.",
|
||||
(uchar *) &opt_rsync, (uchar *) &opt_rsync,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"no-backup-locks", OPT_NO_BACKUP_LOCKS,
|
||||
"This option controls if "
|
||||
"backup locks should be used instead of FLUSH TABLES WITH READ LOCK "
|
||||
"on the backup stage. The option has no effect when backup locks are "
|
||||
"not supported by the server. This option is enabled by default, "
|
||||
"disable with --no-backup-locks.",
|
||||
(uchar *) &opt_no_backup_locks, (uchar *) &opt_no_backup_locks, 0,
|
||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"force-non-empty-directories", OPT_FORCE_NON_EMPTY_DIRS, "This "
|
||||
"option, when specified, makes --copy-back or --move-back transfer "
|
||||
"files to non-empty directories. Note that no existing files will be "
|
||||
"overwritten. If --copy-back or --nove-back has to copy a file from "
|
||||
"the backup directory which already exists in the destination "
|
||||
"directory, it will still fail with an error.",
|
||||
(uchar *) &opt_force_non_empty_dirs,
|
||||
(uchar *) &opt_force_non_empty_dirs,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"decompress", OPT_DECOMPRESS,
|
||||
"Decompresses all files with the .qp "
|
||||
"extension in a backup previously made with the --compress option.",
|
||||
(uchar *) &opt_decompress, (uchar *) &opt_decompress, 0, GET_BOOL, NO_ARG,
|
||||
0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"no-version-check", OPT_NO_VERSION_CHECK, "This option disables the "
|
||||
"version check which is enabled by the --version-check option.",
|
||||
(uchar *) &opt_noversioncheck,
|
||||
(uchar *) &opt_noversioncheck,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"user", 'u',
|
||||
"This option specifies the MySQL username used "
|
||||
"when connecting to the server, if that's not the current user. "
|
||||
"The option accepts a string argument. See mysql --help for details.",
|
||||
(uchar *) &opt_user, (uchar *) &opt_user, 0, GET_STR, REQUIRED_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
{"no-backup-locks", OPT_NO_BACKUP_LOCKS, "This option controls if "
|
||||
"backup locks should be used instead of FLUSH TABLES WITH READ LOCK "
|
||||
"on the backup stage. The option has no effect when backup locks are "
|
||||
"not supported by the server. This option is enabled by default, "
|
||||
"disable with --no-backup-locks.",
|
||||
(uchar *) &opt_no_backup_locks,
|
||||
(uchar *) &opt_no_backup_locks,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"host", 'H',
|
||||
"This option specifies the host to use when "
|
||||
"connecting to the database server with TCP/IP. The option accepts "
|
||||
"a string argument. See mysql --help for details.",
|
||||
(uchar *) &opt_host, (uchar *) &opt_host, 0, GET_STR, REQUIRED_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
{"decompress", OPT_DECOMPRESS, "Decompresses all files with the .qp "
|
||||
"extension in a backup previously made with the --compress option.",
|
||||
(uchar *) &opt_decompress,
|
||||
(uchar *) &opt_decompress,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"port", 'P',
|
||||
"This option specifies the port to use when "
|
||||
"connecting to the database server with TCP/IP. The option accepts "
|
||||
"a string argument. See mysql --help for details.",
|
||||
&opt_port, &opt_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"user", 'u', "This option specifies the MySQL username used "
|
||||
"when connecting to the server, if that's not the current user. "
|
||||
"The option accepts a string argument. See mysql --help for details.",
|
||||
(uchar*) &opt_user, (uchar*) &opt_user, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"password", 'p',
|
||||
"This option specifies the password to use "
|
||||
"when connecting to the database. It accepts a string argument. "
|
||||
"See mysql --help for details.",
|
||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"host", 'H', "This option specifies the host to use when "
|
||||
"connecting to the database server with TCP/IP. The option accepts "
|
||||
"a string argument. See mysql --help for details.",
|
||||
(uchar*) &opt_host, (uchar*) &opt_host, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"protocol", OPT_PROTOCOL,
|
||||
"The protocol to use for connection (tcp, socket, pipe, memory).", 0, 0,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"port", 'P', "This option specifies the port to use when "
|
||||
"connecting to the database server with TCP/IP. The option accepts "
|
||||
"a string argument. See mysql --help for details.",
|
||||
&opt_port, &opt_port, 0, GET_UINT, REQUIRED_ARG,
|
||||
0, 0, 0, 0, 0, 0},
|
||||
{"socket", 'S',
|
||||
"This option specifies the socket to use when "
|
||||
"connecting to the local database server with a UNIX domain socket. "
|
||||
"The option accepts a string argument. See mysql --help for details.",
|
||||
(uchar *) &opt_socket, (uchar *) &opt_socket, 0, GET_STR, REQUIRED_ARG, 0,
|
||||
0, 0, 0, 0, 0},
|
||||
|
||||
{"password", 'p', "This option specifies the password to use "
|
||||
"when connecting to the database. It accepts a string argument. "
|
||||
"See mysql --help for details.",
|
||||
0, 0, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"incremental-history-name", OPT_INCREMENTAL_HISTORY_NAME,
|
||||
"This option specifies the name of the backup series stored in the "
|
||||
"PERCONA_SCHEMA.xtrabackup_history history record to base an "
|
||||
"incremental backup on. Xtrabackup will search the history table "
|
||||
"looking for the most recent (highest innodb_to_lsn), successful "
|
||||
"backup in the series and take the to_lsn value to use as the "
|
||||
"starting lsn for the incremental backup. This will be mutually "
|
||||
"exclusive with --incremental-history-uuid, --incremental-basedir "
|
||||
"and --incremental-lsn. If no valid lsn can be found (no series by "
|
||||
"that name, no successful backups by that name) xtrabackup will "
|
||||
"return with an error. It is used with the --incremental option.",
|
||||
(uchar *) &opt_incremental_history_name,
|
||||
(uchar *) &opt_incremental_history_name, 0, GET_STR, REQUIRED_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
{"protocol", OPT_PROTOCOL, "The protocol to use for connection (tcp, socket, pipe, memory).",
|
||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"incremental-history-uuid", OPT_INCREMENTAL_HISTORY_UUID,
|
||||
"This option specifies the UUID of the specific history record "
|
||||
"stored in the PERCONA_SCHEMA.xtrabackup_history to base an "
|
||||
"incremental backup on. --incremental-history-name, "
|
||||
"--incremental-basedir and --incremental-lsn. If no valid lsn can be "
|
||||
"found (no success record with that uuid) xtrabackup will return "
|
||||
"with an error. It is used with the --incremental option.",
|
||||
(uchar *) &opt_incremental_history_uuid,
|
||||
(uchar *) &opt_incremental_history_uuid, 0, GET_STR, REQUIRED_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
{"socket", 'S', "This option specifies the socket to use when "
|
||||
"connecting to the local database server with a UNIX domain socket. "
|
||||
"The option accepts a string argument. See mysql --help for details.",
|
||||
(uchar*) &opt_socket, (uchar*) &opt_socket, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"remove-original", OPT_REMOVE_ORIGINAL,
|
||||
"Remove .qp files after decompression.", (uchar *) &opt_remove_original,
|
||||
(uchar *) &opt_remove_original, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"incremental-history-name", OPT_INCREMENTAL_HISTORY_NAME,
|
||||
"This option specifies the name of the backup series stored in the "
|
||||
"PERCONA_SCHEMA.xtrabackup_history history record to base an "
|
||||
"incremental backup on. Xtrabackup will search the history table "
|
||||
"looking for the most recent (highest innodb_to_lsn), successful "
|
||||
"backup in the series and take the to_lsn value to use as the "
|
||||
"starting lsn for the incremental backup. This will be mutually "
|
||||
"exclusive with --incremental-history-uuid, --incremental-basedir "
|
||||
"and --incremental-lsn. If no valid lsn can be found (no series by "
|
||||
"that name, no successful backups by that name) xtrabackup will "
|
||||
"return with an error. It is used with the --incremental option.",
|
||||
(uchar*) &opt_incremental_history_name,
|
||||
(uchar*) &opt_incremental_history_name, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"ftwrl-wait-query-type", OPT_LOCK_WAIT_QUERY_TYPE,
|
||||
"This option specifies which types of queries are allowed to complete "
|
||||
"before innobackupex will issue the global lock. Default is all.",
|
||||
(uchar *) &opt_lock_wait_query_type, (uchar *) &opt_lock_wait_query_type,
|
||||
&query_type_typelib, GET_ENUM, REQUIRED_ARG, QUERY_TYPE_ALL, 0, 0, 0, 0,
|
||||
0},
|
||||
|
||||
{"incremental-history-uuid", OPT_INCREMENTAL_HISTORY_UUID,
|
||||
"This option specifies the UUID of the specific history record "
|
||||
"stored in the PERCONA_SCHEMA.xtrabackup_history to base an "
|
||||
"incremental backup on. --incremental-history-name, "
|
||||
"--incremental-basedir and --incremental-lsn. If no valid lsn can be "
|
||||
"found (no success record with that uuid) xtrabackup will return "
|
||||
"with an error. It is used with the --incremental option.",
|
||||
(uchar*) &opt_incremental_history_uuid,
|
||||
(uchar*) &opt_incremental_history_uuid, 0, GET_STR,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"kill-long-query-type", OPT_KILL_LONG_QUERY_TYPE,
|
||||
"This option specifies which types of queries should be killed to "
|
||||
"unblock the global lock. Default is \"all\".",
|
||||
(uchar *) &opt_kill_long_query_type, (uchar *) &opt_kill_long_query_type,
|
||||
&query_type_typelib, GET_ENUM, REQUIRED_ARG, QUERY_TYPE_SELECT, 0, 0, 0,
|
||||
0, 0},
|
||||
|
||||
{"remove-original", OPT_REMOVE_ORIGINAL, "Remove .qp files after decompression.",
|
||||
(uchar *) &opt_remove_original,
|
||||
(uchar *) &opt_remove_original,
|
||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"history", OPT_HISTORY,
|
||||
"This option enables the tracking of backup history in the "
|
||||
"PERCONA_SCHEMA.xtrabackup_history table. An optional history "
|
||||
"series name may be specified that will be placed with the history "
|
||||
"record for the current backup being taken.",
|
||||
NULL, NULL, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"ftwrl-wait-query-type", OPT_LOCK_WAIT_QUERY_TYPE,
|
||||
"This option specifies which types of queries are allowed to complete "
|
||||
"before innobackupex will issue the global lock. Default is all.",
|
||||
(uchar*) &opt_lock_wait_query_type,
|
||||
(uchar*) &opt_lock_wait_query_type, &query_type_typelib,
|
||||
GET_ENUM, REQUIRED_ARG, QUERY_TYPE_ALL, 0, 0, 0, 0, 0},
|
||||
{"kill-long-queries-timeout", OPT_KILL_LONG_QUERIES_TIMEOUT,
|
||||
"This option specifies the number of seconds innobackupex waits "
|
||||
"between starting FLUSH TABLES WITH READ LOCK and killing those "
|
||||
"queries that block it. Default is 0 seconds, which means "
|
||||
"innobackupex will not attempt to kill any queries.",
|
||||
(uchar *) &opt_kill_long_queries_timeout,
|
||||
(uchar *) &opt_kill_long_queries_timeout, 0, GET_UINT, REQUIRED_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
{"kill-long-query-type", OPT_KILL_LONG_QUERY_TYPE,
|
||||
"This option specifies which types of queries should be killed to "
|
||||
"unblock the global lock. Default is \"all\".",
|
||||
(uchar*) &opt_kill_long_query_type,
|
||||
(uchar*) &opt_kill_long_query_type, &query_type_typelib,
|
||||
GET_ENUM, REQUIRED_ARG, QUERY_TYPE_SELECT, 0, 0, 0, 0, 0},
|
||||
{"ftwrl-wait-timeout", OPT_LOCK_WAIT_TIMEOUT,
|
||||
"This option specifies time in seconds that innobackupex should wait "
|
||||
"for queries that would block FTWRL before running it. If there are "
|
||||
"still such queries when the timeout expires, innobackupex terminates "
|
||||
"with an error. Default is 0, in which case innobackupex does not "
|
||||
"wait for queries to complete and starts FTWRL immediately.",
|
||||
(uchar *) &opt_lock_wait_timeout, (uchar *) &opt_lock_wait_timeout, 0,
|
||||
GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"history", OPT_HISTORY,
|
||||
"This option enables the tracking of backup history in the "
|
||||
"PERCONA_SCHEMA.xtrabackup_history table. An optional history "
|
||||
"series name may be specified that will be placed with the history "
|
||||
"record for the current backup being taken.",
|
||||
NULL, NULL, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"ftwrl-wait-threshold", OPT_LOCK_WAIT_THRESHOLD,
|
||||
"This option specifies the query run time threshold which is used by "
|
||||
"innobackupex to detect long-running queries with a non-zero value "
|
||||
"of --ftwrl-wait-timeout. FTWRL is not started until such "
|
||||
"long-running queries exist. This option has no effect if "
|
||||
"--ftwrl-wait-timeout is 0. Default value is 60 seconds.",
|
||||
(uchar *) &opt_lock_wait_threshold, (uchar *) &opt_lock_wait_threshold, 0,
|
||||
GET_UINT, REQUIRED_ARG, 60, 0, 0, 0, 0, 0},
|
||||
|
||||
{"kill-long-queries-timeout", OPT_KILL_LONG_QUERIES_TIMEOUT,
|
||||
"This option specifies the number of seconds innobackupex waits "
|
||||
"between starting FLUSH TABLES WITH READ LOCK and killing those "
|
||||
"queries that block it. Default is 0 seconds, which means "
|
||||
"innobackupex will not attempt to kill any queries.",
|
||||
(uchar*) &opt_kill_long_queries_timeout,
|
||||
(uchar*) &opt_kill_long_queries_timeout, 0, GET_UINT,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"debug-sleep-before-unlock", OPT_DEBUG_SLEEP_BEFORE_UNLOCK,
|
||||
"This is a debug-only option used by the XtraBackup test suite.",
|
||||
(uchar *) &opt_debug_sleep_before_unlock,
|
||||
(uchar *) &opt_debug_sleep_before_unlock, 0, GET_UINT, REQUIRED_ARG, 0, 0,
|
||||
0, 0, 0, 0},
|
||||
|
||||
{"ftwrl-wait-timeout", OPT_LOCK_WAIT_TIMEOUT,
|
||||
"This option specifies time in seconds that innobackupex should wait "
|
||||
"for queries that would block FTWRL before running it. If there are "
|
||||
"still such queries when the timeout expires, innobackupex terminates "
|
||||
"with an error. Default is 0, in which case innobackupex does not "
|
||||
"wait for queries to complete and starts FTWRL immediately.",
|
||||
(uchar*) &opt_lock_wait_timeout,
|
||||
(uchar*) &opt_lock_wait_timeout, 0, GET_UINT,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"safe-slave-backup-timeout", OPT_SAFE_SLAVE_BACKUP_TIMEOUT,
|
||||
"How many seconds --safe-slave-backup should wait for "
|
||||
"Slave_open_temp_tables to become zero. (default 300)",
|
||||
(uchar *) &opt_safe_slave_backup_timeout,
|
||||
(uchar *) &opt_safe_slave_backup_timeout, 0, GET_UINT, REQUIRED_ARG, 300,
|
||||
0, 0, 0, 0, 0},
|
||||
|
||||
{"ftwrl-wait-threshold", OPT_LOCK_WAIT_THRESHOLD,
|
||||
"This option specifies the query run time threshold which is used by "
|
||||
"innobackupex to detect long-running queries with a non-zero value "
|
||||
"of --ftwrl-wait-timeout. FTWRL is not started until such "
|
||||
"long-running queries exist. This option has no effect if "
|
||||
"--ftwrl-wait-timeout is 0. Default value is 60 seconds.",
|
||||
(uchar*) &opt_lock_wait_threshold,
|
||||
(uchar*) &opt_lock_wait_threshold, 0, GET_UINT,
|
||||
REQUIRED_ARG, 60, 0, 0, 0, 0, 0},
|
||||
{"binlog-info", OPT_BINLOG_INFO,
|
||||
"This option controls how XtraBackup should retrieve server's binary log "
|
||||
"coordinates corresponding to the backup. Possible values are OFF, ON, "
|
||||
"LOCKLESS and AUTO. See the XtraBackup manual for more information",
|
||||
&opt_binlog_info, &opt_binlog_info, &binlog_info_typelib, GET_ENUM,
|
||||
OPT_ARG, BINLOG_INFO_AUTO, 0, 0, 0, 0, 0},
|
||||
|
||||
{"debug-sleep-before-unlock", OPT_DEBUG_SLEEP_BEFORE_UNLOCK,
|
||||
"This is a debug-only option used by the XtraBackup test suite.",
|
||||
(uchar*) &opt_debug_sleep_before_unlock,
|
||||
(uchar*) &opt_debug_sleep_before_unlock, 0, GET_UINT,
|
||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
|
||||
{"safe-slave-backup-timeout", OPT_SAFE_SLAVE_BACKUP_TIMEOUT,
|
||||
"How many seconds --safe-slave-backup should wait for "
|
||||
"Slave_open_temp_tables to become zero. (default 300)",
|
||||
(uchar*) &opt_safe_slave_backup_timeout,
|
||||
(uchar*) &opt_safe_slave_backup_timeout, 0, GET_UINT,
|
||||
REQUIRED_ARG, 300, 0, 0, 0, 0, 0},
|
||||
|
||||
{"binlog-info", OPT_BINLOG_INFO,
|
||||
"This option controls how XtraBackup should retrieve server's binary log "
|
||||
"coordinates corresponding to the backup. Possible values are OFF, ON, "
|
||||
"LOCKLESS and AUTO. See the XtraBackup manual for more information",
|
||||
&opt_binlog_info, &opt_binlog_info,
|
||||
&binlog_info_typelib, GET_ENUM, OPT_ARG, BINLOG_INFO_AUTO, 0, 0, 0, 0, 0},
|
||||
|
||||
{"secure-auth", OPT_XB_SECURE_AUTH, "Refuse client connecting to server if it"
|
||||
" uses old (pre-4.1.1) protocol.", &opt_secure_auth,
|
||||
&opt_secure_auth, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||
{"secure-auth", OPT_XB_SECURE_AUTH,
|
||||
"Refuse client connecting to server if it"
|
||||
" uses old (pre-4.1.1) protocol.",
|
||||
&opt_secure_auth, &opt_secure_auth, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0,
|
||||
0},
|
||||
#define MYSQL_CLIENT
|
||||
#include "sslopt-longopts.h"
|
||||
#undef MYSQL_CLIENT
|
||||
|
||||
{ 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
|
||||
};
|
||||
{0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}};
|
||||
|
||||
uint xb_client_options_count = array_elements(xb_client_options);
|
||||
|
||||
@ -3539,6 +3580,11 @@ xb_register_exclude_filter_entry(
|
||||
&tables_exclude_hash);
|
||||
}
|
||||
|
||||
void register_ignore_db_dirs_filter(const char *name)
|
||||
{
|
||||
xb_add_filter(name, &databases_exclude_hash);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
Register new table for the filter. */
|
||||
static
|
||||
@ -3601,26 +3647,24 @@ xb_register_exclude_regex(
|
||||
|
||||
typedef void (*insert_entry_func_t)(const char*);
|
||||
|
||||
/***********************************************************************
|
||||
Scan string and load filter entries from it. */
|
||||
static
|
||||
void
|
||||
xb_load_list_string(
|
||||
/*================*/
|
||||
char* list, /*!< in: string representing a list */
|
||||
const char* delimiters, /*!< in: delimiters of entries */
|
||||
insert_entry_func_t ins) /*!< in: callback to add entry */
|
||||
/* Scan string and load filter entries from it.
|
||||
@param[in] list string representing a list
|
||||
@param[in] delimiters delimiters of entries
|
||||
@param[in] ins callback to add entry */
|
||||
void xb_load_list_string(char *list, const char *delimiters,
|
||||
insert_entry_func_t ins)
|
||||
{
|
||||
char* p;
|
||||
char* saveptr;
|
||||
char *p;
|
||||
char *saveptr;
|
||||
|
||||
p = strtok_r(list, delimiters, &saveptr);
|
||||
while (p) {
|
||||
p= strtok_r(list, delimiters, &saveptr);
|
||||
while (p)
|
||||
{
|
||||
|
||||
ins(p);
|
||||
ins(p);
|
||||
|
||||
p = strtok_r(NULL, delimiters, &saveptr);
|
||||
}
|
||||
p= strtok_r(NULL, delimiters, &saveptr);
|
||||
}
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
@ -5429,7 +5473,7 @@ static bool xtrabackup_prepare_func(char** argv)
|
||||
srv_max_dirty_pages_pct_lwm = srv_max_buf_pool_modified_pct;
|
||||
}
|
||||
|
||||
if (innodb_init()) {
|
||||
if (innodb_init()) {
|
||||
goto error_cleanup;
|
||||
}
|
||||
|
||||
@ -5451,8 +5495,9 @@ static bool xtrabackup_prepare_func(char** argv)
|
||||
else if (ok) xb_write_galera_info(xtrabackup_incremental);
|
||||
#endif
|
||||
|
||||
innodb_shutdown();
|
||||
innodb_free_param();
|
||||
innodb_shutdown();
|
||||
|
||||
innodb_free_param();
|
||||
|
||||
/* output to metadata file */
|
||||
if (ok) {
|
||||
|
@ -195,4 +195,14 @@ void mdl_lock_init();
|
||||
void mdl_lock_table(ulint space_id);
|
||||
void mdl_unlock_all();
|
||||
bool ends_with(const char *str, const char *suffix);
|
||||
|
||||
typedef void (*insert_entry_func_t)(const char*);
|
||||
|
||||
/* Scan string and load filter entries from it.
|
||||
@param[in] list string representing a list
|
||||
@param[in] delimiters delimiters of entries
|
||||
@param[in] ins callback to add entry */
|
||||
void xb_load_list_string(char *list, const char *delimiters,
|
||||
insert_entry_func_t ins);
|
||||
void register_ignore_db_dirs_filter(const char *name);
|
||||
#endif /* XB_XTRABACKUP_H */
|
||||
|
@ -53,7 +53,7 @@ static struct my_option my_long_options[] =
|
||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"version", 'V', "Output version information and exit.",
|
||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"symbols-file", 's', "Use specified symbols file.", &sym_fname,
|
||||
{"symbols-file", 's', "Use specified symbols file", &sym_fname,
|
||||
&sym_fname, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"numeric-dump-file", 'n', "Read the dump from specified file.",
|
||||
&dump_fname, &dump_fname, 0, GET_STR, REQUIRED_ARG,
|
||||
@ -63,7 +63,7 @@ static struct my_option my_long_options[] =
|
||||
|
||||
|
||||
static void verify_sort();
|
||||
|
||||
static void clean_up();
|
||||
|
||||
static void print_version(void)
|
||||
{
|
||||
@ -97,9 +97,18 @@ static void die(const char* fmt, ...)
|
||||
vfprintf(stderr, fmt, args);
|
||||
fprintf(stderr, "\n");
|
||||
va_end(args);
|
||||
clean_up();
|
||||
my_end(0);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
void local_exit(int error)
|
||||
{
|
||||
clean_up();
|
||||
my_end(0);
|
||||
exit(error);
|
||||
}
|
||||
|
||||
|
||||
static my_bool
|
||||
get_one_option(const struct my_option *opt,
|
||||
@ -109,10 +118,12 @@ get_one_option(const struct my_option *opt,
|
||||
switch(opt->id) {
|
||||
case 'V':
|
||||
print_version();
|
||||
exit(0);
|
||||
local_exit(0);
|
||||
break;
|
||||
case '?':
|
||||
usage();
|
||||
exit(0);
|
||||
local_exit(0);
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -123,7 +134,7 @@ static int parse_args(int argc, char **argv)
|
||||
int ho_error;
|
||||
|
||||
if ((ho_error=handle_options(&argc, &argv, my_long_options, get_one_option)))
|
||||
exit(ho_error);
|
||||
local_exit(ho_error);
|
||||
|
||||
/*
|
||||
The following code is to make the command compatible with the old
|
||||
@ -144,13 +155,13 @@ static int parse_args(int argc, char **argv)
|
||||
else
|
||||
{
|
||||
usage();
|
||||
exit(1);
|
||||
local_exit(1);
|
||||
}
|
||||
}
|
||||
else if (argc != 0 || !sym_fname)
|
||||
{
|
||||
usage();
|
||||
exit(1);
|
||||
local_exit(1);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
@ -243,6 +254,10 @@ static void init_sym_table()
|
||||
static void clean_up()
|
||||
{
|
||||
delete_dynamic(&sym_table);
|
||||
if (fp_dump && fp_dump != stdin)
|
||||
my_fclose(fp_dump, MYF(0));
|
||||
if (fp_sym)
|
||||
my_fclose(fp_sym, MYF(0));
|
||||
}
|
||||
|
||||
static void verify_sort()
|
||||
@ -284,7 +299,7 @@ static SYM_ENTRY* resolve_addr(uchar* addr, SYM_ENTRY* se)
|
||||
|
||||
|
||||
/*
|
||||
Resolve anything that starts with [0x or (+0x or start of line and 0x
|
||||
Resolve anything that starts with [0x or (+0x or 0x
|
||||
Skip '_end' as this is an indication of a wrong symbol (stack?)
|
||||
*/
|
||||
|
||||
@ -300,9 +315,7 @@ static void do_resolve()
|
||||
found= 3;
|
||||
if (p[0] == '(' && p[1] == '+' && p[2] == '0' && p[3] == 'x')
|
||||
found= 4;
|
||||
|
||||
/* For stdin */
|
||||
if (p == buf && p[0] == '0' && p[1] == 'x')
|
||||
if (p[0] == '0' && p[1] == 'x')
|
||||
found= 2;
|
||||
|
||||
if (found)
|
||||
@ -313,14 +326,15 @@ static void do_resolve()
|
||||
addr= (uchar*)read_addr(&tmp);
|
||||
if (resolve_addr(addr, &se) && strcmp(se.symbol, "_end"))
|
||||
{
|
||||
fprintf(fp_out, "%c%p %s + %d", *p, addr, se.symbol,
|
||||
(int) (addr - se.addr));
|
||||
found-= 2; /* Don't print 0x as it's added by %p */
|
||||
while (found--)
|
||||
fputc(*p++, stdout);
|
||||
fprintf(fp_out, "%p %s + %d", addr,
|
||||
se.symbol, (int) (addr - se.addr));
|
||||
p= tmp-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
fputc(*p, stdout);
|
||||
}
|
||||
}
|
||||
else
|
||||
fputc(*p, stdout);
|
||||
@ -337,5 +351,6 @@ int main(int argc, char** argv)
|
||||
init_sym_table();
|
||||
do_resolve();
|
||||
clean_up();
|
||||
my_end(0);
|
||||
return 0;
|
||||
}
|
||||
|
@ -17,7 +17,6 @@
|
||||
#define INCLUDE_LF_INCLUDED
|
||||
|
||||
#include <my_atomic.h>
|
||||
#include <my_cpu.h>
|
||||
|
||||
C_MODE_START
|
||||
|
||||
|
@ -23,8 +23,6 @@
|
||||
#define ETIME ETIMEDOUT /* For FreeBSD */
|
||||
#endif
|
||||
|
||||
#include <my_atomic.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
#define EXTERNC extern "C"
|
||||
extern "C" {
|
||||
@ -797,26 +795,6 @@ extern my_bool safe_mutex_deadlock_detector;
|
||||
#define statistic_sub(V,C,L) (V)-=(C)
|
||||
#endif /* SAFE_STATISTICS */
|
||||
|
||||
static inline void thread_safe_increment32(int32 *value)
|
||||
{
|
||||
(void) my_atomic_add32_explicit(value, 1, MY_MEMORY_ORDER_RELAXED);
|
||||
}
|
||||
|
||||
static inline void thread_safe_decrement32(int32 *value)
|
||||
{
|
||||
(void) my_atomic_add32_explicit(value, -1, MY_MEMORY_ORDER_RELAXED);
|
||||
}
|
||||
|
||||
static inline void thread_safe_increment64(int64 *value)
|
||||
{
|
||||
(void) my_atomic_add64_explicit(value, 1, MY_MEMORY_ORDER_RELAXED);
|
||||
}
|
||||
|
||||
static inline void thread_safe_decrement64(int64 *value)
|
||||
{
|
||||
(void) my_atomic_add64_explicit(value, -1, MY_MEMORY_ORDER_RELAXED);
|
||||
}
|
||||
|
||||
/*
|
||||
No locking needed, the counter is owned by the thread
|
||||
*/
|
||||
|
@ -13,7 +13,7 @@ enum Wsrep_service_key_type
|
||||
|
||||
#else
|
||||
|
||||
/* Copyright (c) 2015 MariaDB Corporation Ab
|
||||
/* Copyright (c) 2015, 2020, MariaDB Corporation Ab
|
||||
2018 Codership Oy <info@codership.com>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@ -100,7 +100,7 @@ extern struct wsrep_service_st {
|
||||
#define wsrep_is_wsrep_xid(X) wsrep_service->wsrep_is_wsrep_xid_func(X)
|
||||
#define wsrep_xid_seqno(X) wsrep_service->wsrep_xid_seqno_func(X)
|
||||
#define wsrep_xid_uuid(X) wsrep_service->wsrep_xid_uuid_func(X)
|
||||
#define wsrep_on(X) wsrep_service->wsrep_on_func(X)
|
||||
#define wsrep_on(thd) (thd) && WSREP_ON && wsrep_service->wsrep_on_func(thd)
|
||||
#define wsrep_prepare_key_for_innodb(A,B,C,D,E,F,G) wsrep_service->wsrep_prepare_key_for_innodb_func(A,B,C,D,E,F,G)
|
||||
#define wsrep_thd_LOCK(T) wsrep_service->wsrep_thd_LOCK_func(T)
|
||||
#define wsrep_thd_UNLOCK(T) wsrep_service->wsrep_thd_UNLOCK_func(T)
|
||||
|
18
mysql-test/include/wait_for_line_count_in_file.inc
Normal file
18
mysql-test/include/wait_for_line_count_in_file.inc
Normal file
@ -0,0 +1,18 @@
|
||||
perl;
|
||||
use strict;
|
||||
use Time::HiRes qw(sleep);
|
||||
my $search_count= $ENV{'SEARCH_COUNT'} or die "SEARCH_COUNT not set";
|
||||
my $search_file= $ENV{'SEARCH_FILE'} or die "SEARCH_FILE not set";
|
||||
my $wait_counter= 100; # 10 seconds
|
||||
while (1)
|
||||
{
|
||||
my $cnt= 0;
|
||||
open(FILE, $search_file) or die("Unable to open '$search_file': $!\n");
|
||||
$cnt++ while (<FILE>);
|
||||
close(FILE);
|
||||
last if ($cnt == $search_count);
|
||||
$wait_counter-- or
|
||||
die "Timeout waiting for $search_count lines in $search_file\n";
|
||||
sleep(0.1);
|
||||
}
|
||||
EOF
|
@ -10,7 +10,7 @@ sub PUSHED
|
||||
open($copyfh, '>', "$::opt_vardir/log/stdout.log")
|
||||
or die "open(>$::opt_vardir/log/stdout.log): $!"
|
||||
unless $copyfh;
|
||||
bless { }, shift;
|
||||
bless { }, shift;
|
||||
}
|
||||
|
||||
sub WRITE
|
||||
|
@ -20,7 +20,9 @@
|
||||
# same name.
|
||||
|
||||
package mtr_report;
|
||||
|
||||
use strict;
|
||||
use Sys::Hostname;
|
||||
|
||||
use base qw(Exporter);
|
||||
our @EXPORT= qw(report_option mtr_print_line mtr_print_thick_line
|
||||
@ -253,6 +255,7 @@ sub mtr_report_stats ($$$$) {
|
||||
# Find out how we where doing
|
||||
# ----------------------------------------------------------------------
|
||||
|
||||
my $tot_disabled = 0;
|
||||
my $tot_skipped= 0;
|
||||
my $tot_skipdetect= 0;
|
||||
my $tot_passed= 0;
|
||||
@ -273,6 +276,7 @@ sub mtr_report_stats ($$$$) {
|
||||
{
|
||||
# Test was skipped (disabled not counted)
|
||||
$tot_skipped++ unless $tinfo->{'disable'};
|
||||
$tot_disabled++ if $tinfo->{'disable'};
|
||||
$tot_skipdetect++ if $tinfo->{'skip_detected_by_test'};
|
||||
}
|
||||
elsif ( $tinfo->{'result'} eq 'MTR_RES_PASSED' )
|
||||
@ -402,6 +406,92 @@ sub mtr_report_stats ($$$$) {
|
||||
print "All $tot_tests tests were successful.\n\n";
|
||||
}
|
||||
|
||||
if ($::opt_xml_report) {
|
||||
my $xml_report = "";
|
||||
my @sorted_tests = sort {$a->{'name'} cmp $b->{'name'}} @$tests;
|
||||
my $last_suite = "";
|
||||
my $current_suite = "";
|
||||
my $timest = isotime(time);
|
||||
my %suite_totals;
|
||||
my %suite_time;
|
||||
my %suite_tests;
|
||||
my %suite_failed;
|
||||
my %suite_disabled;
|
||||
my %suite_skipped;
|
||||
my $host = hostname;
|
||||
my $suiteNo = 0;
|
||||
|
||||
# loop through test results to count totals
|
||||
foreach my $test ( @sorted_tests ) {
|
||||
$current_suite = $test->{'suite'}->{'name'};
|
||||
|
||||
if ($test->{'timer'} eq "") {
|
||||
$test->{'timer'} = 0;
|
||||
}
|
||||
|
||||
$suite_time{$current_suite} = $suite_time{$current_suite} + $test->{'timer'};
|
||||
$suite_tests{$current_suite} = $suite_tests{$current_suite} + 1;
|
||||
|
||||
if ($test->{'result'} eq "MTR_RES_FAILED") {
|
||||
$suite_failed{$current_suite} = $suite_failed{$current_suite} + 1;
|
||||
} elsif ($test->{'result'} eq "MTR_RES_SKIPPED" && $test->{'disable'}) {
|
||||
$suite_disabled{$current_suite} = $suite_disabled{$current_suite} + 1;
|
||||
} elsif ($test->{'result'} eq "MTR_RES_SKIPPED") {
|
||||
$suite_skipped{$current_suite} = $suite_skipped{$current_suite} + 1;
|
||||
}
|
||||
|
||||
$suite_totals{"all_time"} = $suite_totals{"all_time"} + $test->{'timer'};
|
||||
}
|
||||
|
||||
my $all_time = sprintf("%.3f", $suite_totals{"all_time"} / 1000);
|
||||
my $suite_time = 0;
|
||||
my $test_time = 0;
|
||||
|
||||
# generate xml
|
||||
$xml_report = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
|
||||
$xml_report .= qq(<testsuites disabled="$tot_disabled" errors="" failures="$tot_failed" name="" tests="$tot_tests" time="$all_time">\n);
|
||||
|
||||
foreach my $test ( @sorted_tests ) {
|
||||
$current_suite = $test->{'suite'}->{'name'};
|
||||
|
||||
if ($current_suite ne $last_suite) {
|
||||
if ($last_suite ne "") {
|
||||
$xml_report .= "\t</testsuite>\n";
|
||||
$suiteNo++;
|
||||
}
|
||||
|
||||
$suite_time = sprintf("%.3f", $suite_time{$current_suite} / 1000);
|
||||
$xml_report .= qq(\t<testsuite disabled="$suite_disabled{$current_suite}" errors="" failures="$suite_failed{$current_suite}" hostname="$host" id="$suiteNo" name="$current_suite" package="" skipped="$suite_skipped{$current_suite}" tests="$suite_tests{$current_suite}" time="$suite_time" timestamp="$timest">\n);
|
||||
$last_suite = $current_suite;
|
||||
}
|
||||
|
||||
$test_time = sprintf("%.3f", $test->{timer} / 1000);
|
||||
$xml_report .= qq(\t\t<testcase assertions="" classname="$current_suite" name="$test->{'name'}" status="$test->{'result'}" time="$test_time");
|
||||
|
||||
my $comment = $test->{'comment'};
|
||||
$comment =~ s/[\"]//g;
|
||||
|
||||
if ($test->{'result'} eq "MTR_RES_FAILED") {
|
||||
$xml_report .= qq(>\n\t\t\t<failure message="" type="$test->{'result'}">\n<![CDATA[$test->{'logfile'}]]>\n\t\t\t</failure>\n\t\t</testcase>\n);
|
||||
} elsif ($test->{'result'} eq "MTR_RES_SKIPPED" && $test->{'disable'}) {
|
||||
$xml_report .= qq(>\n\t\t\t<disabled message="$comment" type="$test->{'result'}"/>\n\t\t</testcase>\n);
|
||||
} elsif ($test->{'result'} eq "MTR_RES_SKIPPED") {
|
||||
$xml_report .= qq(>\n\t\t\t<skipped message="$comment" type="$test->{'result'}"/>\n\t\t</testcase>\n);
|
||||
} else {
|
||||
$xml_report .= " />\n";
|
||||
}
|
||||
}
|
||||
|
||||
$xml_report .= "\t</testsuite>\n</testsuites>\n";
|
||||
|
||||
# save to file
|
||||
my $xml_file = $::opt_xml_report;
|
||||
|
||||
open XML_FILE, ">", $xml_file or die "Cannot create file $xml_file: $!";
|
||||
print XML_FILE $xml_report;
|
||||
close XML_FILE;
|
||||
}
|
||||
|
||||
if (@$extra_warnings)
|
||||
{
|
||||
print <<MSG;
|
||||
|
@ -759,8 +759,8 @@ SET STATEMENT sql_mode = 'NO_ENGINE_SUBSTITUTION' FOR
|
||||
CREATE TABLE t1 AS SELECT CONCAT(CAST(REPEAT('9', 1000) AS SIGNED)),
|
||||
CONCAT(CAST(REPEAT('9', 1000) AS UNSIGNED));
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: '99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '99999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999...'
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
|
@ -2664,6 +2664,15 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
||||
CREATE TABLE t1 (a NVARCHAR(10) COMPRESSED DEFAULT '' COMPRESSED);
|
||||
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 'COMPRESSED)' at line 1
|
||||
#
|
||||
# MDEV-21348 - Memory leak in Storage-Engine Independent Column
|
||||
# Compression
|
||||
#
|
||||
CREATE TABLE t1(a BLOB COMPRESSED);
|
||||
SET column_compression_threshold=0;
|
||||
INSERT INTO t1 VALUES('aa');
|
||||
SET column_compression_threshold=DEFAULT;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.3 tests
|
||||
#
|
||||
#
|
||||
|
@ -256,6 +256,16 @@ CREATE TABLE t1 (a NVARCHAR(10) COMPRESSED BINARY COMPRESSED);
|
||||
--error ER_PARSE_ERROR
|
||||
CREATE TABLE t1 (a NVARCHAR(10) COMPRESSED DEFAULT '' COMPRESSED);
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21348 - Memory leak in Storage-Engine Independent Column
|
||||
--echo # Compression
|
||||
--echo #
|
||||
CREATE TABLE t1(a BLOB COMPRESSED);
|
||||
SET column_compression_threshold=0;
|
||||
INSERT INTO t1 VALUES('aa');
|
||||
SET column_compression_threshold=DEFAULT;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.3 tests
|
||||
--echo #
|
||||
|
@ -57,9 +57,9 @@ drop trigger имя_триггера_в_кодировке_утф8_длиной_
|
||||
create trigger
|
||||
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
|
||||
before insert on имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48 for each row set @a:=1;
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
|
||||
drop trigger очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66;
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
|
||||
create procedure имя_процедуры_в_кодировке_утф8_длиной_больше_чем_50()
|
||||
begin
|
||||
end;
|
||||
@ -71,7 +71,7 @@ drop procedure имя_процедуры_в_кодировке_утф8_длин
|
||||
create procedure очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
|
||||
begin
|
||||
end;
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
|
||||
create function имя_функции_в_кодировке_утф8_длиной_больше_чем_49()
|
||||
returns int
|
||||
return 0;
|
||||
@ -83,7 +83,7 @@ drop function имя_функции_в_кодировке_утф8_длиной_
|
||||
create function очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66()
|
||||
returns int
|
||||
return 0;
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
|
||||
drop view имя_вью_кодировке_утф8_длиной_больше_чем_42;
|
||||
drop table имя_таблицы_в_кодировке_утф8_длиной_больше_чем_48;
|
||||
set names default;
|
||||
|
@ -1692,6 +1692,116 @@ connection default;
|
||||
disconnect con1;
|
||||
# End of 10.2 tests
|
||||
#
|
||||
# MDEV-21673: several references to CTE that uses
|
||||
# local variables / parameters of SP
|
||||
#
|
||||
CREATE TABLE t1 (col1 int);
|
||||
CREATE TABLE t2 (col1 int, col2 date, col3 varchar(16), col4 int);
|
||||
CREATE TABLE t3 (col1 int, col2 date);
|
||||
CREATE TABLE t4 (col1 int, col2 date);
|
||||
INSERT INTO t1 VALUES (3), (7), (9), (1);
|
||||
INSERT INTO t2 VALUES
|
||||
(3,'2019-09-01','AAA',2), (7,'2019-10-01','AAA',4), (3,'2019-10-01','AAA',8),
|
||||
(1,'2019-10-01','BBB',9), (1,'2019-10-01','AAA',4), (1,'2019-10-01','AAA',6);
|
||||
INSERT INTO t3 VALUES
|
||||
(4,'2018-10-01'), (6,'2018-10-01'), (4,'2017-10-01'), (7,'2017-10-01');
|
||||
INSERT INTO t4 VALUES
|
||||
(5,'2018-10-01'), (8,'2017-10-01'), (4,'2017-10-01');
|
||||
CREATE OR REPLACE PROCEDURE SP1()
|
||||
BEGIN
|
||||
DECLARE p_date date;
|
||||
DECLARE p_var2 varchar(16);
|
||||
SET p_date='2019-10-01';
|
||||
SET p_var2='AAA';
|
||||
WITH cte_first(col) AS
|
||||
(
|
||||
SELECT DISTINCT col4
|
||||
FROM t1, t2
|
||||
WHERE t2.col1 = t1.col1 AND t2.col2 = p_date AND t2.col3 = p_var2
|
||||
),
|
||||
cte2 AS
|
||||
(
|
||||
SELECT DISTINCT col2
|
||||
FROM t3
|
||||
WHERE col1 IN ( SELECT col FROM cte_first )
|
||||
),
|
||||
cte3 AS (
|
||||
SELECT distinct t4.col1
|
||||
FROM cte2, t4
|
||||
WHERE t4.col2 = cte2.col2 AND t4.col1 IN ( SELECT col FROM cte_first )
|
||||
)
|
||||
SELECT * FROM cte3;
|
||||
END|
|
||||
CREATE PROCEDURE SP2(IN d date)
|
||||
BEGIN
|
||||
DECLARE p_var2 varchar(16);
|
||||
SET p_var2='AAA';
|
||||
WITH cte_first(col) AS
|
||||
(
|
||||
SELECT DISTINCT col4
|
||||
FROM t1, t2
|
||||
WHERE t2.col1 = t1.col1 AND t2.col2 = d AND t2.col3 = p_var2
|
||||
),
|
||||
cte2 AS
|
||||
(
|
||||
SELECT DISTINCT col2
|
||||
FROM t3
|
||||
WHERE col1 IN ( SELECT col FROM cte_first )
|
||||
),
|
||||
cte3 AS (
|
||||
SELECT distinct t4.col1
|
||||
FROM cte2, t4
|
||||
WHERE t4.col2 = cte2.col2 AND t4.col1 IN ( SELECT col FROM cte_first )
|
||||
)
|
||||
SELECT * FROM cte3;
|
||||
END|
|
||||
CREATE TABLE t AS
|
||||
SELECT col4 AS col
|
||||
FROM t1, t2
|
||||
WHERE t2.col1 = t1.col1 AND t2.col2 ='2019-10-01' AND t2.col3 = 'AAA';
|
||||
SELECT * FROM t;
|
||||
col
|
||||
4
|
||||
8
|
||||
4
|
||||
6
|
||||
CREATE TABLE tt AS
|
||||
SELECT col2
|
||||
FROM t3
|
||||
WHERE col1 IN ( SELECT col FROM t );
|
||||
SELECT * FROM tt;
|
||||
col2
|
||||
2018-10-01
|
||||
2018-10-01
|
||||
2017-10-01
|
||||
SELECT t4.col1
|
||||
FROM tt, t4
|
||||
WHERE t4.col2 = tt.col2 AND t4.col1 IN ( SELECT col FROM t );
|
||||
col1
|
||||
8
|
||||
4
|
||||
DROP TABLE t,tt;
|
||||
CALL SP1();
|
||||
col1
|
||||
8
|
||||
4
|
||||
CALL SP1();
|
||||
col1
|
||||
8
|
||||
4
|
||||
CALL SP2('2019-10-01');
|
||||
col1
|
||||
8
|
||||
4
|
||||
CALL SP2('2019-10-01');
|
||||
col1
|
||||
8
|
||||
4
|
||||
DROP PROCEDURE SP1;
|
||||
DROP PROCEDURE SP2;
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
# End of 10.3 tests
|
||||
#
|
||||
# MDEV-20730: Syntax error on SELECT INTO @variable with CTE
|
||||
#
|
||||
with data as (select 1 as id)
|
||||
|
@ -1215,6 +1215,109 @@ DROP TABLE test.t;
|
||||
|
||||
--echo # End of 10.2 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21673: several references to CTE that uses
|
||||
--echo # local variables / parameters of SP
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (col1 int);
|
||||
CREATE TABLE t2 (col1 int, col2 date, col3 varchar(16), col4 int);
|
||||
CREATE TABLE t3 (col1 int, col2 date);
|
||||
CREATE TABLE t4 (col1 int, col2 date);
|
||||
INSERT INTO t1 VALUES (3), (7), (9), (1);
|
||||
INSERT INTO t2 VALUES
|
||||
(3,'2019-09-01','AAA',2), (7,'2019-10-01','AAA',4), (3,'2019-10-01','AAA',8),
|
||||
(1,'2019-10-01','BBB',9), (1,'2019-10-01','AAA',4), (1,'2019-10-01','AAA',6);
|
||||
INSERT INTO t3 VALUES
|
||||
(4,'2018-10-01'), (6,'2018-10-01'), (4,'2017-10-01'), (7,'2017-10-01');
|
||||
INSERT INTO t4 VALUES
|
||||
(5,'2018-10-01'), (8,'2017-10-01'), (4,'2017-10-01');
|
||||
|
||||
DELIMITER |;
|
||||
|
||||
CREATE OR REPLACE PROCEDURE SP1()
|
||||
BEGIN
|
||||
DECLARE p_date date;
|
||||
DECLARE p_var2 varchar(16);
|
||||
SET p_date='2019-10-01';
|
||||
SET p_var2='AAA';
|
||||
WITH cte_first(col) AS
|
||||
(
|
||||
SELECT DISTINCT col4
|
||||
FROM t1, t2
|
||||
WHERE t2.col1 = t1.col1 AND t2.col2 = p_date AND t2.col3 = p_var2
|
||||
),
|
||||
cte2 AS
|
||||
(
|
||||
SELECT DISTINCT col2
|
||||
FROM t3
|
||||
WHERE col1 IN ( SELECT col FROM cte_first )
|
||||
),
|
||||
cte3 AS (
|
||||
SELECT distinct t4.col1
|
||||
FROM cte2, t4
|
||||
WHERE t4.col2 = cte2.col2 AND t4.col1 IN ( SELECT col FROM cte_first )
|
||||
)
|
||||
SELECT * FROM cte3;
|
||||
END|
|
||||
|
||||
CREATE PROCEDURE SP2(IN d date)
|
||||
BEGIN
|
||||
DECLARE p_var2 varchar(16);
|
||||
SET p_var2='AAA';
|
||||
WITH cte_first(col) AS
|
||||
(
|
||||
SELECT DISTINCT col4
|
||||
FROM t1, t2
|
||||
WHERE t2.col1 = t1.col1 AND t2.col2 = d AND t2.col3 = p_var2
|
||||
),
|
||||
cte2 AS
|
||||
(
|
||||
SELECT DISTINCT col2
|
||||
FROM t3
|
||||
WHERE col1 IN ( SELECT col FROM cte_first )
|
||||
),
|
||||
cte3 AS (
|
||||
SELECT distinct t4.col1
|
||||
FROM cte2, t4
|
||||
WHERE t4.col2 = cte2.col2 AND t4.col1 IN ( SELECT col FROM cte_first )
|
||||
)
|
||||
SELECT * FROM cte3;
|
||||
END|
|
||||
|
||||
DELIMITER ;|
|
||||
|
||||
|
||||
CREATE TABLE t AS
|
||||
SELECT col4 AS col
|
||||
FROM t1, t2
|
||||
WHERE t2.col1 = t1.col1 AND t2.col2 ='2019-10-01' AND t2.col3 = 'AAA';
|
||||
SELECT * FROM t;
|
||||
|
||||
CREATE TABLE tt AS
|
||||
SELECT col2
|
||||
FROM t3
|
||||
WHERE col1 IN ( SELECT col FROM t );
|
||||
SELECT * FROM tt;
|
||||
|
||||
SELECT t4.col1
|
||||
FROM tt, t4
|
||||
WHERE t4.col2 = tt.col2 AND t4.col1 IN ( SELECT col FROM t );
|
||||
|
||||
DROP TABLE t,tt;
|
||||
|
||||
CALL SP1();
|
||||
CALL SP1();
|
||||
|
||||
CALL SP2('2019-10-01');
|
||||
CALL SP2('2019-10-01');
|
||||
|
||||
DROP PROCEDURE SP1;
|
||||
DROP PROCEDURE SP2;
|
||||
DROP TABLE t1,t2,t3,t4;
|
||||
|
||||
--echo # End of 10.3 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-20730: Syntax error on SELECT INTO @variable with CTE
|
||||
--echo #
|
||||
|
@ -1 +1,3 @@
|
||||
# Kill the server
|
||||
"all ok"
|
||||
# restart
|
||||
|
@ -1,3 +1,4 @@
|
||||
--source include/not_embedded.inc
|
||||
if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'innodb' AND PLUGIN_LIBRARY IS NULL`)
|
||||
{
|
||||
--skip Requires built-in InnoDB.
|
||||
@ -5,6 +6,8 @@ if (`SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'in
|
||||
|
||||
let $cmd=`select replace("$MYSQLD_BOOTSTRAP_CMD --skip-innodb", " --default-storage-engine=myisam", "")`;
|
||||
|
||||
--source include/kill_mysqld.inc
|
||||
|
||||
#
|
||||
# Now it *must* fail, because if InnoDB is compiled in, it is used as a default
|
||||
# storage engine. but $cmd includes --skip-innodb
|
||||
@ -14,3 +17,4 @@ exec $cmd;
|
||||
|
||||
echo "all ok"; # to not have zero-length result file
|
||||
|
||||
--source include/start_mysqld.inc
|
||||
|
@ -217,7 +217,7 @@ a
|
||||
2
|
||||
drop table t1;
|
||||
select mail_id, if(folder.f_description!='', folder.f_description, folder.f_name) as folder_name, date, address_id, phrase, address, subject from folder, (select mail.mail_id as mail_id, date_format(mail.h_date, '%b %e, %Y %h:%i') as date, mail.folder_id, sender.address_id as address_id, sender.phrase as phrase, sender.address as address, mail.h_subject as subject from mail left join mxa as mxa_sender on mail.mail_id=mxa_sender.mail_id and mxa_sender.type='from' left join address as sender on mxa_sender.address_id=sender.address_id mxa as mxa_recipient, address as recipient, where 1 and mail.mail_id=mxa_recipient.mail_id and mxa_recipient.address_id=recipient.address_id and mxa_recipient.type='to' and match(sender.phrase, sender.address, sender.comment) against ('jeremy' in boolean mode) and match(recipient.phrase, recipient.address, recipient.comment) against ('monty' in boolean mode) order by mail.h_date desc limit 0, 25 ) as query where query.folder_id=folder.folder_id;
|
||||
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 'mxa as mxa_recipient, address as recipient, where 1 and mail.mail_id=mxa_r' at line 1
|
||||
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'mxa as mxa_recipient, address as recipient, where 1 and mail.mail_id=mx...' at line 1
|
||||
create table t1 (a int);
|
||||
insert into t1 values (1),(2),(3);
|
||||
update (select * from t1) as t1 set a = 5;
|
||||
|
@ -31,13 +31,13 @@ table7, table8, table9, table10, table11, table12, table13,
|
||||
table14, table15, table16, table17, table18, table19, table20,
|
||||
table21, table22, table23, table24, table25, table26, table27,
|
||||
table28;
|
||||
ERROR 42S02: Unknown table 'mysqltest.table1,mysqltest.table2,mysqltest.table3,mysqltest.table4,mysqltest.table5,mysqltest.table'
|
||||
ERROR 42S02: Unknown table 'mysqltest.table1,mysqltest.table2,mysqltest.table3,mysqltest.table4,mysqltest.table5,mysqltest.ta...'
|
||||
drop table table1, table2, table3, table4, table5, table6,
|
||||
table7, table8, table9, table10, table11, table12, table13,
|
||||
table14, table15, table16, table17, table18, table19, table20,
|
||||
table21, table22, table23, table24, table25, table26, table27,
|
||||
table28, table29, table30;
|
||||
ERROR 42S02: Unknown table 'mysqltest.table1,mysqltest.table2,mysqltest.table3,mysqltest.table4,mysqltest.table5,mysqltest.table'
|
||||
ERROR 42S02: Unknown table 'mysqltest.table1,mysqltest.table2,mysqltest.table3,mysqltest.table4,mysqltest.table5,mysqltest.ta...'
|
||||
use test;
|
||||
drop database mysqltest;
|
||||
flush tables with read lock;
|
||||
|
@ -1261,7 +1261,7 @@ select id from t1 where column_get(str,4 as char(100)) = repeat("a", 100);
|
||||
id
|
||||
5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect CHAR(100) value: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
|
||||
Warning 1292 Truncated incorrect CHAR(100) value: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...'
|
||||
update t1 set str=column_add(str, 4, repeat("b", 10000)) where id=5;
|
||||
select id from t1 where column_get(str,4 as char(100000)) = repeat("b", 10000);
|
||||
id
|
||||
|
@ -170,10 +170,23 @@ UPDATE t1 SET a = 'new'
|
||||
WHERE COLUMN_CREATE( 1, 'v', 1, 'w' ) IS NULL;
|
||||
ERROR 22007: Illegal value used as argument of dynamic column function
|
||||
drop table t1;
|
||||
set @max_session_mem_used_save= @@max_session_mem_used;
|
||||
set max_session_mem_used = 50000;
|
||||
select * from seq_1_to_1000;
|
||||
set max_session_mem_used = 8192;
|
||||
select * from seq_1_to_1000;
|
||||
set max_session_mem_used = @max_session_mem_used_save;
|
||||
#
|
||||
# MDEV-20604: Duplicate key value is silently truncated to 64
|
||||
# characters in print_keydup_error
|
||||
#
|
||||
create table t1 (a varchar(100), UNIQUE KEY akey (a));
|
||||
insert into t1 values ("1234567890123456789012345678901234567890123456789012345678901234567890_end");
|
||||
# The value in the error message should show truncation with "..."
|
||||
insert into t1 values ("1234567890123456789012345678901234567890123456789012345678901234567890_end");
|
||||
ERROR 23000: Duplicate entry '1234567890123456789012345678901234567890123456789012345678901...' for key 'akey'
|
||||
drop table t1;
|
||||
# End of 10.2 tests
|
||||
#
|
||||
# MDEV-14269 errors.test fails with valgrind (Conditional jump or move depends on uninitialised value)
|
||||
#
|
||||
@ -182,3 +195,4 @@ SELECT UPDATEXML(-73 * -2465717823867977728,@@global.auto_increment_increment,nu
|
||||
ERROR 22003: BIGINT value is out of range in '-73 * -2465717823867977728'
|
||||
SELECT UPDATEXML(-73 * -2465717823867977728,@@global.long_query_time,null);
|
||||
ERROR 22003: BIGINT value is out of range in '-73 * -2465717823867977728'
|
||||
# End of 10.3 tests
|
||||
|
@ -203,6 +203,8 @@ drop table t1;
|
||||
#
|
||||
# errors caused by max_session_mem_used
|
||||
#
|
||||
set @max_session_mem_used_save= @@max_session_mem_used;
|
||||
|
||||
--disable_result_log
|
||||
set max_session_mem_used = 50000;
|
||||
--error 0,ER_OPTION_PREVENTS_STATEMENT
|
||||
@ -214,6 +216,24 @@ select * from seq_1_to_1000;
|
||||
# We may not be able to execute any more queries with this connection
|
||||
# because of too little memory#
|
||||
|
||||
set max_session_mem_used = @max_session_mem_used_save;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-20604: Duplicate key value is silently truncated to 64
|
||||
--echo # characters in print_keydup_error
|
||||
--echo #
|
||||
|
||||
create table t1 (a varchar(100), UNIQUE KEY akey (a));
|
||||
|
||||
insert into t1 values ("1234567890123456789012345678901234567890123456789012345678901234567890_end");
|
||||
--echo # The value in the error message should show truncation with "..."
|
||||
--error ER_DUP_ENTRY
|
||||
insert into t1 values ("1234567890123456789012345678901234567890123456789012345678901234567890_end");
|
||||
|
||||
drop table t1;
|
||||
|
||||
|
||||
--echo # End of 10.2 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-14269 errors.test fails with valgrind (Conditional jump or move depends on uninitialised value)
|
||||
@ -224,3 +244,5 @@ SET NAMES utf8;
|
||||
SELECT UPDATEXML(-73 * -2465717823867977728,@@global.auto_increment_increment,null);
|
||||
--error ER_DATA_OUT_OF_RANGE
|
||||
SELECT UPDATEXML(-73 * -2465717823867977728,@@global.long_query_time,null);
|
||||
|
||||
-- echo # End of 10.3 tests
|
||||
|
@ -348,7 +348,7 @@ drop event имя_события_в_кодировке_утф8_длиной_бо
|
||||
create event
|
||||
очень_очень_очень_очень_очень_очень_очень_очень_длинная_строка_66
|
||||
on schedule every 2 year do select 1;
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длинна' is too long
|
||||
ERROR 42000: Identifier name 'очень_очень_очень_очень_очень_очень_очень_очень_длин...' is too long
|
||||
create event event_35981 on schedule every 6 month on completion preserve
|
||||
disable
|
||||
do
|
||||
|
@ -13,8 +13,8 @@ CREATE TABLE t1 (c01 INT, c02 CHAR(20), c03 TEXT, c04 DOUBLE);
|
||||
Warnings:
|
||||
Note 1105 build_frm_image: Field data type info length: 14
|
||||
Note 1105 DBUG: [0] name='c01' type_info=''
|
||||
Note 1105 DBUG: [1] name='c02' type_info='xchar'
|
||||
Note 1105 DBUG: [2] name='c03' type_info='xblob'
|
||||
Note 1105 DBUG: [1] name='c02' type_info='xc...'
|
||||
Note 1105 DBUG: [2] name='c03' type_info='xb...'
|
||||
Note 1105 DBUG: [3] name='c04' type_info=''
|
||||
SET SESSION debug_dbug="-d,frm_data_type_info_emulate";
|
||||
SET SESSION debug_dbug="-d,frm_data_type_info";
|
||||
|
@ -776,3 +776,14 @@ CREATE FULLTEXT INDEX IF NOT EXISTS ft1 ON t1(title);
|
||||
Warnings:
|
||||
Note 1061 Duplicate key name 'ft1'
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-22275 (Memory leak)
|
||||
#
|
||||
CREATE TEMPORARY TABLE tmp (a TEXT) ENGINE=MyISAM;
|
||||
ALTER TABLE tmp ADD FULLTEXT (a);
|
||||
INSERT INTO tmp VALUES ('foo');
|
||||
DROP TABLE tmp;
|
||||
CREATE TEMPORARY TABLE tmp (a TEXT) ENGINE=Aria;
|
||||
ALTER TABLE tmp ADD FULLTEXT (a);
|
||||
INSERT INTO tmp VALUES ('foo');
|
||||
DROP TABLE tmp;
|
||||
|
@ -716,3 +716,17 @@ CREATE TABLE t1 (
|
||||
CREATE FULLTEXT INDEX IF NOT EXISTS ft1 ON t1(title);
|
||||
CREATE FULLTEXT INDEX IF NOT EXISTS ft1 ON t1(title);
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22275 (Memory leak)
|
||||
--echo #
|
||||
|
||||
CREATE TEMPORARY TABLE tmp (a TEXT) ENGINE=MyISAM;
|
||||
ALTER TABLE tmp ADD FULLTEXT (a);
|
||||
INSERT INTO tmp VALUES ('foo');
|
||||
DROP TABLE tmp;
|
||||
|
||||
CREATE TEMPORARY TABLE tmp (a TEXT) ENGINE=Aria;
|
||||
ALTER TABLE tmp ADD FULLTEXT (a);
|
||||
INSERT INTO tmp VALUES ('foo');
|
||||
DROP TABLE tmp;
|
||||
|
@ -1329,7 +1329,7 @@ select group_concat(grp limit "sdjadjs") from t1
|
||||
select grp,group_concat(c limit 5.5) from t1 group by grp ;
|
||||
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 '"sdjadjs") from t1
|
||||
--error ER_PARSE_ERROR
|
||||
select grp,group_concat(c limit 5.5) f' at line 1
|
||||
select grp,group_concat(c limit 5.5...' at line 1
|
||||
select grp,group_concat(distinct c limit 1,10 ) from t1 group by grp;
|
||||
grp group_concat(distinct c limit 1,10 )
|
||||
1 c
|
||||
|
@ -2111,8 +2111,8 @@ avg(export_set( 3, 'y', sha(i))) group_concat(d)
|
||||
0 2008-10-02
|
||||
0 2010-12-12
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'y,y,356a192b7913b04c54574d18c28d46e6395428ab,356a192b7913b04c54574d18c28d46e6395428ab,356a192b7913b04c54574d18c28d46e6395428ab,3'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'y,y,da4b9237bacccdf19c0760cab7aec4a8359010b0,da4b9237bacccdf19c0760cab7aec4a8359010b0,da4b9237bacccdf19c0760cab7aec4a8359010b0,d'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'y,y,356a192b7913b04c54574d18c28d46e6395428ab,356a192b7913b04c54574d18c28d46e6395428ab,356a192b7913b04c54574d18c28d46e6395428a...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'y,y,da4b9237bacccdf19c0760cab7aec4a8359010b0,da4b9237bacccdf19c0760cab7aec4a8359010b0,da4b9237bacccdf19c0760cab7aec4a8359010b...'
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-4290: crash in st_select_lex::mark_as_dependent
|
||||
|
@ -727,7 +727,7 @@ foo
|
||||
2
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '53064635.445796e3130837'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '179,769,313,486,231,570,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '179,769,313,486,231,570,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,0...'
|
||||
#
|
||||
# Bug #58137 char(0) column cause:
|
||||
# my_gcvt: Assertion `width > 0 && to != ((void *)0)' failed
|
||||
@ -939,13 +939,13 @@ STDDEV_SAMP(EXPORT_SET(t1, -1379790335835635712, (i1 + 'o'), (MD5(d1))))
|
||||
NULL
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'o'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '98e466c7ff40fe6b95cde24200f376303-13797903358356357128e466c7ff40fe6b95cde24200f376303-13797903358356357128e466c7ff40fe6b95cde242'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '98e466c7ff40fe6b95cde24200f376303-13797903358356357128e466c7ff40fe6b95cde24200f376303-13797903358356357128e466c7ff40fe6b95cde...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'o'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1379790335835635712e315457d879863c6ccf2ddee5562fc24-1379790335835635712e315457d879863c6ccf2ddee5562fc24-1379790335835635712e315'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1379790335835635712e315457d879863c6ccf2ddee5562fc24-1379790335835635712e315457d879863c6ccf2ddee5562fc24-1379790335835635712e...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'o'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '7b4dd517b633f1f6304b773523b5279747b4dd517b633f1f6304b773523b5279747b4dd517b633f1f6304b773523b527974-1379790335835635712b4dd517b6'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '7b4dd517b633f1f6304b773523b5279747b4dd517b633f1f6304b773523b5279747b4dd517b633f1f6304b773523b527974-1379790335835635712b4dd51...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: 'o'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1379790335835635712b0e107767ea830fd3318893e40412a43-1379790335835635712b0e107767ea830fd3318893e40412a43-1379790335835635712b0e1'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '-1379790335835635712b0e107767ea830fd3318893e40412a43-1379790335835635712b0e107767ea830fd3318893e40412a43-1379790335835635712b...'
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1 (a VARCHAR(128));
|
||||
INSERT INTO t1 VALUES ('1e310');
|
||||
|
@ -815,13 +815,13 @@ select release_lock(repeat('a', 192));
|
||||
release_lock(repeat('a', 192))
|
||||
1
|
||||
select get_lock(repeat('a', 193), 0);
|
||||
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
|
||||
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' is too long
|
||||
select is_used_lock(repeat('a', 193));
|
||||
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
|
||||
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' is too long
|
||||
select is_free_lock(repeat('a', 193));
|
||||
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
|
||||
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' is too long
|
||||
select release_lock(repeat('a', 193));
|
||||
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long
|
||||
ERROR 42000: Identifier name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' is too long
|
||||
|
||||
# --
|
||||
# -- WL#5787: IPv6-capable INET_ATON and INET_NTOA functions.
|
||||
|
@ -2265,6 +2265,13 @@ st_astext(p)
|
||||
POINT(0 0)
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-21056 Memory leak after query with DEFAULT on a geometry field
|
||||
#
|
||||
CREATE TABLE t1 (f POINT DEFAULT ST_GEOMFROMTEXT('Point(0 0)'));
|
||||
SELECT ST_GEOMFROMTEXT('Point(1 1)') IN ( DEFAULT( `f` ), ST_GEOMFROMTEXT('Point(2 2)') ) AS x FROM t1;
|
||||
x
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.2 tests
|
||||
#
|
||||
#
|
||||
|
@ -1795,6 +1795,14 @@ insert into t1 values(default);
|
||||
select st_astext(p) from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21056 Memory leak after query with DEFAULT on a geometry field
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t1 (f POINT DEFAULT ST_GEOMFROMTEXT('Point(0 0)'));
|
||||
SELECT ST_GEOMFROMTEXT('Point(1 1)') IN ( DEFAULT( `f` ), ST_GEOMFROMTEXT('Point(2 2)') ) AS x FROM t1;
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo #
|
||||
--echo # End of 10.2 tests
|
||||
--echo #
|
||||
|
@ -1128,7 +1128,7 @@ USE test;
|
||||
connection default;
|
||||
disconnect master;
|
||||
create user longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
CREATE DATABASE mysqltest1;
|
||||
CREATE TABLE mysqltest1.t1 (
|
||||
int_field INTEGER UNSIGNED NOT NULL,
|
||||
@ -1214,27 +1214,27 @@ DROP USER mysqltest_1@localhost;
|
||||
DROP DATABASE mysqltest1;
|
||||
USE test;
|
||||
GRANT CREATE ON mysqltest.* TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
GRANT CREATE ON mysqltest.* TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
|
||||
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
|
||||
REVOKE CREATE ON mysqltest.* FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
REVOKE CREATE ON mysqltest.* FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
|
||||
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
|
||||
GRANT CREATE ON t1 TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
GRANT CREATE ON t1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
|
||||
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
|
||||
REVOKE CREATE ON t1 FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
REVOKE CREATE ON t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
|
||||
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
|
||||
GRANT EXECUTE ON PROCEDURE p1 TO longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
GRANT EXECUTE ON PROCEDURE p1 TO some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
|
||||
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
|
||||
REVOKE EXECUTE ON PROCEDURE p1 FROM longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
REVOKE EXECUTE ON PROCEDURE t1 FROM some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY;
|
||||
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
|
||||
CREATE USER bug23556@localhost;
|
||||
@ -1709,7 +1709,7 @@ drop database mysqltest1;
|
||||
End of 5.0 tests
|
||||
set names utf8;
|
||||
grant select on test.* to очень_длинный_юзер890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890@localhost;
|
||||
ERROR HY000: String 'очень_длинный_юзер890123456789012345678901234567890123' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'очень_длинный_юзер890123456789012345678901234567890...' is too long for user name (should be no longer than 80)
|
||||
set names default;
|
||||
create database mysqltest;
|
||||
use mysqltest;
|
||||
|
@ -4,7 +4,7 @@ grant select on `a%`.* to user1@localhost with grant option;
|
||||
connect conn1,localhost,user1,,;
|
||||
connection conn1;
|
||||
grant file on aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.* to 'user'@'%' identified by 'secret';
|
||||
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'
|
||||
ERROR 42000: Incorrect database name 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...'
|
||||
connection default;
|
||||
disconnect conn1;
|
||||
drop user user1@localhost;
|
||||
|
@ -1693,41 +1693,8 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
DROP TABLE t1;
|
||||
set optimizer_switch= @optimizer_switch_save;
|
||||
#
|
||||
# MDEV-16695: Estimate for rows of derived tables is very high when we are using index_merge union
|
||||
# MDEV-21932: ROR union with index_merge_sort_union=off
|
||||
#
|
||||
create table t0
|
||||
(
|
||||
key1 int not null,
|
||||
INDEX i1(key1)
|
||||
);
|
||||
insert into t0 select * from seq_1_to_1024;
|
||||
alter table t0 add key2 int not null, add index i2(key2);
|
||||
alter table t0 add key3 int not null, add index i3(key3);
|
||||
alter table t0 add key8 int not null, add index i8(key8);
|
||||
update t0 set key2=key1,key3=key1,key8=1024-key1;
|
||||
analyze table t0;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t0 analyze status Engine-independent statistics collected
|
||||
test.t0 analyze status OK
|
||||
set @optimizer_switch_save=@@optimizer_switch;
|
||||
set optimizer_switch='derived_merge=off,derived_with_keys=off';
|
||||
explain select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DERIVED t0 index_merge i1,i2,i8 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
|
||||
select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5;
|
||||
key1 key2 key3 key8
|
||||
3 3 3 1021
|
||||
set optimizer_use_condition_selectivity=2;
|
||||
explain select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DERIVED t0 index_merge i1,i2,i8 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
|
||||
select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5;
|
||||
key1 key2 key3 key8
|
||||
3 3 3 1021
|
||||
set @@optimizer_switch= @optimizer_switch_save;
|
||||
drop table t0;
|
||||
create table t0 (a int);
|
||||
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
insert into t0 select a+10 from t0;
|
||||
@ -1779,3 +1746,40 @@ f1 f2 f3 f4
|
||||
9 0 2 6
|
||||
drop table t0,t1;
|
||||
set optimizer_switch= @optimizer_switch_save;
|
||||
#
|
||||
# MDEV-16695: Estimate for rows of derived tables is very high when we are using index_merge union
|
||||
#
|
||||
create table t0
|
||||
(
|
||||
key1 int not null,
|
||||
INDEX i1(key1)
|
||||
);
|
||||
insert into t0 select * from seq_1_to_1024;
|
||||
alter table t0 add key2 int not null, add index i2(key2);
|
||||
alter table t0 add key3 int not null, add index i3(key3);
|
||||
alter table t0 add key8 int not null, add index i8(key8);
|
||||
update t0 set key2=key1,key3=key1,key8=1024-key1;
|
||||
analyze table t0;
|
||||
Table Op Msg_type Msg_text
|
||||
test.t0 analyze status Engine-independent statistics collected
|
||||
test.t0 analyze status OK
|
||||
set @optimizer_switch_save=@@optimizer_switch;
|
||||
set optimizer_switch='derived_merge=off,derived_with_keys=off';
|
||||
explain select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DERIVED t0 index_merge i1,i2,i8 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
|
||||
select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5;
|
||||
key1 key2 key3 key8
|
||||
3 3 3 1021
|
||||
set optimizer_use_condition_selectivity=2;
|
||||
explain select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 PRIMARY <derived2> ALL NULL NULL NULL NULL 2 Using where
|
||||
2 DERIVED t0 index_merge i1,i2,i8 i1,i2 4,4 NULL 2 Using union(i1,i2); Using where
|
||||
select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5;
|
||||
key1 key2 key3 key8
|
||||
3 3 3 1021
|
||||
set @@optimizer_switch= @optimizer_switch_save;
|
||||
drop table t0;
|
||||
# End of 10.1 tests
|
||||
|
@ -244,6 +244,55 @@ DROP TABLE t1;
|
||||
|
||||
set optimizer_switch= @optimizer_switch_save;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-21932: ROR union with index_merge_sort_union=off
|
||||
--echo #
|
||||
|
||||
create table t0 (a int);
|
||||
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
insert into t0 select a+10 from t0;
|
||||
insert into t0 select a+20 from t0;
|
||||
insert into t0 select a+40 from t0;
|
||||
insert into t0 select a+80 from t0;
|
||||
insert into t0 select a+160 from t0;
|
||||
delete from t0 where a > 300;
|
||||
|
||||
create table t1 (
|
||||
f1 int, f2 int, f3 int, f4 int,
|
||||
primary key (f1), key (f3), key(f4)
|
||||
) engine=myisam;
|
||||
insert into t1 select a+100, a+100, a+100, a+100 from t0;
|
||||
insert into t1 VALUES (9,0,2,6), (9930,0,0,NULL);
|
||||
analyze table t1;
|
||||
|
||||
set optimizer_switch='index_merge_sort_union=off';
|
||||
set optimizer_switch='index_merge_union=on';
|
||||
|
||||
let $q1=
|
||||
select * from t1
|
||||
where (( f3 = 1 or f1 = 7 ) and f1 < 10) or
|
||||
(f3 between 2 and 2 and ( f3 = 1 or f4 < 7 ));
|
||||
eval explain $q1;
|
||||
eval $q1;
|
||||
|
||||
insert into t1 values (52,0,1,0),(53,0,1,0);
|
||||
insert into t1 values (50,0,1,0),(51,0,1,0);
|
||||
insert into t1 values (48,0,1,0),(49,0,1,0);
|
||||
insert into t1 values (46,0,1,0),(47,0,1,0);
|
||||
insert into t1 values (44,0,1,0),(45,0,1,0);
|
||||
analyze table t1;
|
||||
|
||||
let $q2=
|
||||
select * from t1
|
||||
where (( f3 = 1 or f1 = 7 ) and f1 < 10) or
|
||||
(f3 between 2 and 2 and ( f3 = 1 or f4 < 7 ));
|
||||
eval explain $q2;
|
||||
eval $q2;
|
||||
|
||||
drop table t0,t1;
|
||||
|
||||
set optimizer_switch= @optimizer_switch_save;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-16695: Estimate for rows of derived tables is very high when we are using index_merge union
|
||||
--echo #
|
||||
@ -272,43 +321,4 @@ select * from (select * from t0 where key1 = 3 or key2 =3) as Z where Z.key8 > 5
|
||||
set @@optimizer_switch= @optimizer_switch_save;
|
||||
drop table t0;
|
||||
|
||||
#
|
||||
# MDEV-21932: ROR union with index_merge_sort_union=off
|
||||
#
|
||||
create table t0 (a int);
|
||||
insert into t0 values (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
insert into t0 select a+10 from t0;
|
||||
insert into t0 select a+20 from t0;
|
||||
insert into t0 select a+40 from t0;
|
||||
insert into t0 select a+80 from t0;
|
||||
insert into t0 select a+160 from t0;
|
||||
delete from t0 where a > 300;
|
||||
create table t1 (
|
||||
f1 int, f2 int, f3 int, f4 int,
|
||||
primary key (f1), key (f3), key(f4)
|
||||
) engine=myisam;
|
||||
insert into t1 select a+100, a+100, a+100, a+100 from t0;
|
||||
insert into t1 VALUES (9,0,2,6), (9930,0,0,NULL);
|
||||
analyze table t1;
|
||||
set optimizer_switch='index_merge_sort_union=off';
|
||||
set optimizer_switch='index_merge_union=on';
|
||||
explain select * from t1
|
||||
where (( f3 = 1 or f1 = 7 ) and f1 < 10) or
|
||||
(f3 between 2 and 2 and ( f3 = 1 or f4 < 7 ));
|
||||
select * from t1
|
||||
where (( f3 = 1 or f1 = 7 ) and f1 < 10) or
|
||||
(f3 between 2 and 2 and ( f3 = 1 or f4 < 7 ));
|
||||
insert into t1 values (52,0,1,0),(53,0,1,0);
|
||||
insert into t1 values (50,0,1,0),(51,0,1,0);
|
||||
insert into t1 values (48,0,1,0),(49,0,1,0);
|
||||
insert into t1 values (46,0,1,0),(47,0,1,0);
|
||||
insert into t1 values (44,0,1,0),(45,0,1,0);
|
||||
analyze table t1;
|
||||
explain select * from t1
|
||||
where (( f3 = 1 or f1 = 7 ) and f1 < 10) or
|
||||
(f3 between 2 and 2 and ( f3 = 1 or f4 < 7 ));
|
||||
select * from t1
|
||||
where (( f3 = 1 or f1 = 7 ) and f1 < 10) or
|
||||
(f3 between 2 and 2 and ( f3 = 1 or f4 < 7 ));
|
||||
drop table t0,t1;
|
||||
set optimizer_switch= @optimizer_switch_save;
|
||||
--echo # End of 10.1 tests
|
||||
|
@ -122,7 +122,7 @@ maria
|
||||
sachin
|
||||
insert into t1 values(repeat('s',4000*10)),(repeat('s',4001*10));
|
||||
insert into t1 values(repeat('m',4000*10)),(repeat('m',4000*10));
|
||||
ERROR 23000: Duplicate entry 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm' for key 'a'
|
||||
ERROR 23000: Duplicate entry 'mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm...' for key 'a'
|
||||
insert into t1 values(repeat('m',4001)),(repeat('m',4002));
|
||||
truncate table t1;
|
||||
insert into t1 values(1),(2),(3),(4),(5),(8),(7);
|
||||
@ -431,7 +431,7 @@ insert into t1 values(repeat('s',4000*10),100,repeat('s',4000*10),repeat('s',400
|
||||
repeat('s',400)),(repeat('s',4001*10),1000,repeat('s',4001*10),repeat('s',4001*10),
|
||||
repeat('s',2995));
|
||||
insert into t1 values(repeat('m',4000*11),10,repeat('s',4000*11),repeat('s',4000*11),repeat('s',2995));
|
||||
ERROR 23000: Duplicate entry 'ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss' for key 'e'
|
||||
ERROR 23000: Duplicate entry 'sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...' for key 'e'
|
||||
truncate table t1;
|
||||
insert into t1 values(1,2,3,4,5),(2,11,22,33,44),(3111,222,333,444,555),(5611,2222,3333,4444,5555);
|
||||
#now some alter commands;
|
||||
@ -1258,10 +1258,10 @@ insert into t1 values(concat(repeat('sachin',10000000),'2'),concat(repeat('sachi
|
||||
concat(repeat('sachin',10000000),'1'));
|
||||
insert into t1 values(concat(repeat('sachin',10000000),'2'),concat(repeat('sachin',10000000),'2'),
|
||||
concat(repeat('sachin',10000000),'4'));
|
||||
ERROR 23000: Duplicate entry 'sachinsachinsachinsachinsachinsachinsachinsachinsachinsachinsach' for key 'a'
|
||||
ERROR 23000: Duplicate entry 'sachinsachinsachinsachinsachinsachinsachinsachinsachinsachins...' for key 'a'
|
||||
insert into t1 values(concat(repeat('sachin',10000000),'3'),concat(repeat('sachin',10000000),'1'),
|
||||
concat(repeat('sachin',10000000),'1'));
|
||||
ERROR 23000: Duplicate entry 'sachinsachinsachinsachinsachinsachinsachinsachinsachinsachinsach' for key 'b'
|
||||
ERROR 23000: Duplicate entry 'sachinsachinsachinsachinsachinsachinsachinsachinsachinsachins...' for key 'b'
|
||||
drop table t1;
|
||||
#long key unique with different key length
|
||||
create table t1(a blob, unique(a(3000)));
|
||||
@ -1279,7 +1279,7 @@ t1 CREATE TABLE `t1` (
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1
|
||||
insert into t1 value(concat(repeat('s',3000),'1'));
|
||||
insert into t1 value(concat(repeat('s',3000),'2'));
|
||||
ERROR 23000: Duplicate entry 'ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss' for key 'a'
|
||||
ERROR 23000: Duplicate entry 'sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss...' for key 'a'
|
||||
insert into t1 value(concat(repeat('a',3000),'2'));
|
||||
drop table t1;
|
||||
create table t1(a varchar(4000), b longblob , c varchar(5000), d longblob,
|
||||
|
@ -1081,3 +1081,20 @@ b c
|
||||
2 0
|
||||
drop view v1;
|
||||
drop table t0, t1,t2;
|
||||
#
|
||||
# MDEV-20515 multi-update tries to position updated table by null reference
|
||||
#
|
||||
create or replace table t1 (a int);
|
||||
insert into t1 values (0), (2);
|
||||
create or replace table t2 (b int);
|
||||
insert into t2 values (1), (2);
|
||||
select * from t1 left join t2 on a = b order by b;
|
||||
a b
|
||||
0 NULL
|
||||
2 2
|
||||
update t1 left join t2 on a = b set b= 3 order by b;
|
||||
select * from t2;
|
||||
b
|
||||
1
|
||||
3
|
||||
drop tables t1, t2;
|
||||
|
@ -1019,3 +1019,18 @@ update v1,t0 set c=1 where b<3 and x=c order by x,b limit 1;
|
||||
select * from v1;
|
||||
drop view v1;
|
||||
drop table t0, t1,t2;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-20515 multi-update tries to position updated table by null reference
|
||||
--echo #
|
||||
create or replace table t1 (a int);
|
||||
insert into t1 values (0), (2);
|
||||
|
||||
create or replace table t2 (b int);
|
||||
insert into t2 values (1), (2);
|
||||
|
||||
select * from t1 left join t2 on a = b order by b;
|
||||
update t1 left join t2 on a = b set b= 3 order by b;
|
||||
select * from t2;
|
||||
|
||||
drop tables t1, t2;
|
||||
|
@ -177,7 +177,7 @@ ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'invalid_hostname' (errn
|
||||
The commands reported in the bug report
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyril has found a bug :)XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
|
||||
Too long dbname
|
||||
ERROR 1102 (42000) at line 1: Incorrect database name 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
ERROR 1102 (42000) at line 1: Incorrect database name 'test_really_long_dbnamexxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx...'
|
||||
Too long hostname
|
||||
ERROR 2005 (HY000) at line 1: Unknown MySQL server host 'cyrils_superlonghostnameXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' (errno)
|
||||
1
|
||||
|
@ -1356,10 +1356,10 @@ The following specify which files/extra groups are read (specified before remain
|
||||
application layer.If set to 0, system dependent default
|
||||
is used. (Automatically configured unless set explicitly)
|
||||
--tcp-keepalive-time=#
|
||||
Timeout, in milliseconds, with no activity until the
|
||||
first TCP keep-alive packet is sent.If set to 0, system
|
||||
dependent default is used. (Automatically configured
|
||||
unless set explicitly)
|
||||
Timeout, in seconds, with no activity until the first TCP
|
||||
keep-alive packet is sent.If set to 0, system dependent
|
||||
default is used. (Automatically configured unless set
|
||||
explicitly)
|
||||
--tcp-nodelay Set option TCP_NODELAY (disable Nagle's algorithm) on
|
||||
socket
|
||||
(Defaults to on; use --skip-tcp-nodelay to disable.)
|
||||
|
@ -3759,7 +3759,7 @@ DROP TABLE t1;
|
||||
#
|
||||
CREATE TABLE t1(a int);
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
mysqldump: Input filename too long: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||||
mysqldump: Input filename too long: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t2 (a INT) ENGINE=MyISAM;
|
||||
CREATE TABLE t3 (a INT) ENGINE=MyISAM;
|
||||
@ -5658,9 +5658,27 @@ count(*)
|
||||
2
|
||||
drop tables t2, t1;
|
||||
#
|
||||
# MDEV-22037: Add ability to skip content of some tables
|
||||
# (work around for MDEV-20939)
|
||||
#
|
||||
use mysql;
|
||||
# check that all tables we need are not empty
|
||||
select count(*) >= 1 from mysql.proc;
|
||||
count(*) >= 1
|
||||
1
|
||||
select count(*) >= 1 from mysql.db;
|
||||
count(*) >= 1
|
||||
1
|
||||
# for proc we have CREATE and INSERT for all other only CREATE
|
||||
FOUND 1 /INSERT INTO `proc`/ in MDEV-20939.sql
|
||||
NOT FOUND /INSERT INTO `db`/ in MDEV-20939.sql
|
||||
FOUND 1 /CREATE TABLE `db`/ in MDEV-20939.sql
|
||||
FOUND 1 /CREATE TABLE `proc`/ in MDEV-20939.sql
|
||||
use test;
|
||||
# End of 10.1 tests
|
||||
#
|
||||
# Test for --add-drop-trigger
|
||||
#
|
||||
use test;
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
CREATE TRIGGER tt1_t1 BEFORE INSERT ON t1 FOR EACH ROW
|
||||
SET NEW.b=NEW.a + 10;
|
||||
@ -5706,6 +5724,7 @@ DELIMITER ;
|
||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||
|
||||
DROP TABLE t1;
|
||||
# End of 10.2 tests
|
||||
#
|
||||
# Test for Invisible columns
|
||||
#
|
||||
@ -5886,3 +5905,4 @@ invisible int(11) YES NULL
|
||||
a b c & $!@#$%^&*( ) int(11) YES 4 INVISIBLE
|
||||
ds=~!@ \# $% ^ & * ( ) _ - = + int(11) YES 5 INVISIBLE
|
||||
drop database d;
|
||||
# End of 10.3 tests
|
||||
|
@ -2700,10 +2700,45 @@ select count(*) from t2;
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/t2.txt
|
||||
drop tables t2, t1;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22037: Add ability to skip content of some tables
|
||||
--echo # (work around for MDEV-20939)
|
||||
--echo #
|
||||
|
||||
use mysql;
|
||||
|
||||
--echo # check that all tables we need are not empty
|
||||
|
||||
select count(*) >= 1 from mysql.proc;
|
||||
select count(*) >= 1 from mysql.db;
|
||||
|
||||
|
||||
--exec $MYSQL_DUMP mysql --ignore-table-data=mysql.db >$MYSQLTEST_VARDIR/tmp/MDEV-20939.sql
|
||||
|
||||
|
||||
--echo # for proc we have CREATE and INSERT for all other only CREATE
|
||||
|
||||
let SEARCH_RANGE=500000000;
|
||||
let SEARCH_FILE=$MYSQLTEST_VARDIR/tmp/MDEV-20939.sql;
|
||||
let SEARCH_PATTERN=INSERT INTO `proc`;
|
||||
source include/search_pattern_in_file.inc;
|
||||
let SEARCH_PATTERN=INSERT INTO `db`;
|
||||
source include/search_pattern_in_file.inc;
|
||||
let SEARCH_PATTERN=CREATE TABLE `db`;
|
||||
source include/search_pattern_in_file.inc;
|
||||
let SEARCH_PATTERN=CREATE TABLE `proc`;
|
||||
source include/search_pattern_in_file.inc;
|
||||
|
||||
--remove_file $MYSQLTEST_VARDIR/tmp/MDEV-20939.sql
|
||||
use test;
|
||||
|
||||
--echo # End of 10.1 tests
|
||||
|
||||
--echo #
|
||||
--echo # Test for --add-drop-trigger
|
||||
--echo #
|
||||
use test;
|
||||
|
||||
CREATE TABLE t1 (a int, b int);
|
||||
CREATE TRIGGER tt1_t1 BEFORE INSERT ON t1 FOR EACH ROW
|
||||
SET NEW.b=NEW.a + 10;
|
||||
@ -2711,6 +2746,9 @@ CREATE TRIGGER tt1_t1 BEFORE INSERT ON t1 FOR EACH ROW
|
||||
INSERT INTO t1 (a) VALUES (1),(2),(3);
|
||||
--exec $MYSQL_DUMP --default-character-set=utf8mb4 --triggers --no-data --no-create-info --add-drop-trigger --skip-comments --databases test
|
||||
DROP TABLE t1;
|
||||
|
||||
--echo # End of 10.2 tests
|
||||
|
||||
--echo #
|
||||
--echo # Test for Invisible columns
|
||||
--echo #
|
||||
@ -2754,3 +2792,5 @@ select * from t2;
|
||||
select * from t3;
|
||||
desc t3;
|
||||
drop database d;
|
||||
|
||||
--echo # End of 10.3 tests
|
||||
|
@ -129,3 +129,26 @@ ERROR HY000: Duplicate partition name p1
|
||||
alter table t1 add partition (partition p1);
|
||||
ERROR HY000: Duplicate partition name p1
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-17091 Assertion `old_part_id == m_last_part' failed in
|
||||
# ha_partition::update_row or `part_id == m_last_part' in
|
||||
# ha_partition::delete_row upon UPDATE/DELETE after dropping versioning
|
||||
#
|
||||
create or replace table t1 (pk int, f int, primary key(pk, f)) engine=innodb
|
||||
partition by key() partitions 2;
|
||||
insert into t1 values (1,10),(2,11);
|
||||
# expected to hit same partition
|
||||
select * from t1 partition (p0);
|
||||
pk f
|
||||
1 10
|
||||
2 11
|
||||
alter table t1 drop primary key, drop f, add primary key(pk);
|
||||
# 1 and 2 are expected to be in different partitions
|
||||
select * from t1 partition(p0);
|
||||
pk
|
||||
1
|
||||
select * from t1 partition(p1);
|
||||
pk
|
||||
2
|
||||
delete from t1;
|
||||
drop table t1;
|
||||
|
@ -130,3 +130,22 @@ alter table t1 add partition (partition p1);
|
||||
--error ER_SAME_NAME_PARTITION
|
||||
alter table t1 add partition (partition p1);
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-17091 Assertion `old_part_id == m_last_part' failed in
|
||||
--echo # ha_partition::update_row or `part_id == m_last_part' in
|
||||
--echo # ha_partition::delete_row upon UPDATE/DELETE after dropping versioning
|
||||
--echo #
|
||||
create or replace table t1 (pk int, f int, primary key(pk, f)) engine=innodb
|
||||
partition by key() partitions 2;
|
||||
|
||||
insert into t1 values (1,10),(2,11);
|
||||
--echo # expected to hit same partition
|
||||
select * from t1 partition (p0);
|
||||
|
||||
alter table t1 drop primary key, drop f, add primary key(pk);
|
||||
--echo # 1 and 2 are expected to be in different partitions
|
||||
select * from t1 partition(p0);
|
||||
select * from t1 partition(p1);
|
||||
delete from t1;
|
||||
drop table t1;
|
||||
|
@ -851,7 +851,7 @@ partition x2 values in (3, 11, 5, 7) tablespace ts2,
|
||||
partition x3 values in (16, 8, 5+19, 70-43) tablespace ts3);
|
||||
ERROR 42000: Partitioning can not be used stand-alone in query near 'partition by list (a)
|
||||
partitions 3
|
||||
(partition x1 values in (1,2,9,4) tablespace ' at line 1
|
||||
(partition x1 values in (1,2,9,4) tablespa...' at line 1
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@ -885,7 +885,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
||||
partitions 3
|
||||
(partition x1 tablespace ts1,
|
||||
partition x2 tablespace ts2,
|
||||
part' at line 6
|
||||
p...' at line 6
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@ -965,7 +965,7 @@ partitions 2
|
||||
(partition x1 values less than (0), partition x2 values less than (2));
|
||||
ERROR 42000: Constant, random or timezone-dependent expressions in (sub)partitioning function are not allowed near ')
|
||||
partitions 2
|
||||
(partition x1 values less than (0), partition x2 values less than' at line 6
|
||||
(partition x1 values less than (0), partition x2 values less t...' at line 6
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@ -1114,7 +1114,7 @@ subpartition by key (a+b)
|
||||
partition x2 values less than (2) (subpartition x21, subpartition x22));
|
||||
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 '+b)
|
||||
(partition x1 values less than (1) (subpartition x11, subpartition x12),
|
||||
par' at line 7
|
||||
...' at line 7
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@ -1284,7 +1284,7 @@ subpartition x22 nodegroup 1)
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
partition x2 values in (3,5,6)
|
||||
( subpartition x21 nodegroup 0,
|
||||
subpartition x' at line 11
|
||||
subpartitio...' at line 11
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@ -1319,7 +1319,7 @@ subpartition x22 engine myisam)
|
||||
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 'list (a+b)
|
||||
( partition x1
|
||||
( subpartition x11 engine myisam,
|
||||
subpartition x12 eng' at line 7
|
||||
subpartition x12 ...' at line 7
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
@ -1337,7 +1337,7 @@ subpartition x22 engine myisam values in (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 'list (a+b)
|
||||
( partition x1
|
||||
( subpartition x11 engine myisam values in (0),
|
||||
subpar' at line 7
|
||||
sub...' at line 7
|
||||
CREATE TABLE t1 (
|
||||
a int not null,
|
||||
b int not null,
|
||||
|
@ -2177,6 +2177,26 @@ value1 1003560 12345
|
||||
value1 1004807 12345
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-22191: Range access is not picked when index_merge_sort_union is turned off
|
||||
#
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set @save_optimizer_switch="index_merge_sort_union=OFF";
|
||||
CREATE TABLE t1 (a INT, INDEX(a));
|
||||
INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
explain
|
||||
SELECT * FROM t1 WHERE a > 5;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 4 Using where; Using index
|
||||
SELECT * FROM t1 WHERE a > 5;
|
||||
a
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
set @@optimizer_switch=@save_optimizer_switch;
|
||||
drop table t1;
|
||||
# End of 5.5 tests
|
||||
#
|
||||
# BUG#13731380: RANGE OPTIMIZER CALLS RECORDS_IN_RANGE() FOR OPEN RANGE
|
||||
#
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY);
|
||||
|
@ -1717,6 +1717,22 @@ where (key1varchar='value1' AND (key2int <=1 OR key2int > 1));
|
||||
select * from t1;
|
||||
drop table t1;
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-22191: Range access is not picked when index_merge_sort_union is turned off
|
||||
--echo #
|
||||
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set @save_optimizer_switch="index_merge_sort_union=OFF";
|
||||
CREATE TABLE t1 (a INT, INDEX(a));
|
||||
INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
explain
|
||||
SELECT * FROM t1 WHERE a > 5;
|
||||
SELECT * FROM t1 WHERE a > 5;
|
||||
set @@optimizer_switch=@save_optimizer_switch;
|
||||
drop table t1;
|
||||
|
||||
--echo # End of 5.5 tests
|
||||
|
||||
--echo #
|
||||
--echo # BUG#13731380: RANGE OPTIMIZER CALLS RECORDS_IN_RANGE() FOR OPEN RANGE
|
||||
--echo #
|
||||
|
@ -38,6 +38,33 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t0 ALL NULL NULL NULL NULL 10
|
||||
1 SIMPLE t2 range a,b b 5 NULL 201 Using where; Using join buffer (flat, BNL join)
|
||||
drop table t0,t1,t2;
|
||||
#
|
||||
# MDEV-10466: constructing an invalid SEL_ARG
|
||||
#
|
||||
create table t1 (
|
||||
pk int, a int, b int,
|
||||
primary key (pk), index idx1(b), index idx2(b)
|
||||
) engine=innodb;
|
||||
Warnings:
|
||||
Note 1831 Duplicate index `idx2`. This is deprecated and will be disallowed in a future release
|
||||
insert into t1 values (1,6,0),(2,1,0),(3,5,2),(4,8,0);
|
||||
create table t2 (c int) engine=innodb;
|
||||
insert into t2 values (1),(2);
|
||||
create table t3 (d int) engine=innodb;
|
||||
insert into t3 values (3),(-1),(4);
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set optimizer_switch='extended_keys=on';
|
||||
explain
|
||||
select pk, a, b from t1,t2,t3 where b >= d and pk < c and b = '0';
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 ALL NULL NULL NULL NULL 2
|
||||
1 SIMPLE t1 ref PRIMARY,idx1,idx2 idx1 5 const 3 Using index condition
|
||||
1 SIMPLE t3 ALL NULL NULL NULL NULL 3 Using where; Using join buffer (flat, BNL join)
|
||||
select pk, a, b from t1,t2,t3 where b >= d and pk < c and b = '0';
|
||||
pk a b
|
||||
1 6 0
|
||||
set optimizer_switch=@save_optimizer_switch;
|
||||
drop table t1,t2,t3;
|
||||
CREATE TABLE t1 (
|
||||
pk INT PRIMARY KEY, f1 INT, f2 CHAR(1), f3 CHAR(1),
|
||||
KEY(f1), KEY(f2)
|
||||
@ -81,6 +108,7 @@ ERROR HY000: Table definition has changed, please retry transaction
|
||||
DROP TABLE t0,t1;
|
||||
SET @@GLOBAL.debug_dbug = @saved_dbug;
|
||||
set @@optimizer_switch= @optimizer_switch_save;
|
||||
# End of 10.1 tests
|
||||
#
|
||||
# MDEV-19634: Assertion `0' failed in row_sel_convert_mysql_key_to_innobase,
|
||||
# [Warning] InnoDB: Using a partial-field key prefix in search
|
||||
@ -99,3 +127,4 @@ id select_type table type possible_keys key key_len ref rows Extra
|
||||
SELECT a FROM t1 WHERE pk < 0 AND a <= 'w' and b > 0;
|
||||
a
|
||||
drop table t1;
|
||||
# End of 10.4 tests
|
||||
|
@ -46,6 +46,32 @@ explain select * from t0 left join t2 on t2.a <t0.a and t2.b between 50 and 250;
|
||||
|
||||
drop table t0,t1,t2;
|
||||
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-10466: constructing an invalid SEL_ARG
|
||||
--echo #
|
||||
|
||||
create table t1 (
|
||||
pk int, a int, b int,
|
||||
primary key (pk), index idx1(b), index idx2(b)
|
||||
) engine=innodb;
|
||||
insert into t1 values (1,6,0),(2,1,0),(3,5,2),(4,8,0);
|
||||
create table t2 (c int) engine=innodb;
|
||||
insert into t2 values (1),(2);
|
||||
create table t3 (d int) engine=innodb;
|
||||
insert into t3 values (3),(-1),(4);
|
||||
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set optimizer_switch='extended_keys=on';
|
||||
|
||||
explain
|
||||
select pk, a, b from t1,t2,t3 where b >= d and pk < c and b = '0';
|
||||
select pk, a, b from t1,t2,t3 where b >= d and pk < c and b = '0';
|
||||
|
||||
set optimizer_switch=@save_optimizer_switch;
|
||||
|
||||
drop table t1,t2,t3;
|
||||
|
||||
CREATE TABLE t1 (
|
||||
pk INT PRIMARY KEY, f1 INT, f2 CHAR(1), f3 CHAR(1),
|
||||
KEY(f1), KEY(f2)
|
||||
@ -89,6 +115,8 @@ DROP TABLE t0,t1;
|
||||
SET @@GLOBAL.debug_dbug = @saved_dbug;
|
||||
set @@optimizer_switch= @optimizer_switch_save;
|
||||
|
||||
--echo # End of 10.1 tests
|
||||
|
||||
--echo #
|
||||
--echo # MDEV-19634: Assertion `0' failed in row_sel_convert_mysql_key_to_innobase,
|
||||
--echo # [Warning] InnoDB: Using a partial-field key prefix in search
|
||||
@ -107,3 +135,5 @@ INSERT INTO t1 VALUES (1,'a',1),(2,'b',2);
|
||||
explain SELECT a FROM t1 WHERE pk < 0 AND a <= 'w' and b > 0;
|
||||
SELECT a FROM t1 WHERE pk < 0 AND a <= 'w' and b > 0;
|
||||
drop table t1;
|
||||
|
||||
-- echo # End of 10.4 tests
|
||||
|
@ -2180,6 +2180,26 @@ value1 1003560 12345
|
||||
value1 1004807 12345
|
||||
drop table t1;
|
||||
#
|
||||
# MDEV-22191: Range access is not picked when index_merge_sort_union is turned off
|
||||
#
|
||||
set @save_optimizer_switch=@@optimizer_switch;
|
||||
set @save_optimizer_switch="index_merge_sort_union=OFF";
|
||||
CREATE TABLE t1 (a INT, INDEX(a));
|
||||
INSERT INTO t1 VALUES (0),(1),(2),(3),(4),(5),(6),(7),(8),(9);
|
||||
explain
|
||||
SELECT * FROM t1 WHERE a > 5;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t1 range a a 5 NULL 4 Using where; Using index
|
||||
SELECT * FROM t1 WHERE a > 5;
|
||||
a
|
||||
6
|
||||
7
|
||||
8
|
||||
9
|
||||
set @@optimizer_switch=@save_optimizer_switch;
|
||||
drop table t1;
|
||||
# End of 5.5 tests
|
||||
#
|
||||
# BUG#13731380: RANGE OPTIMIZER CALLS RECORDS_IN_RANGE() FOR OPEN RANGE
|
||||
#
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY);
|
||||
|
@ -2358,21 +2358,21 @@ DECLARE céèçà foo CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL céèçà SET MYSQL_ERRNO = 1000;
|
||||
end $$
|
||||
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 '©Ã¨Ã§Ã foo CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL céèçà SET ' at line 3
|
||||
SIGNAL céèçà S...' at line 3
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE "céèçà " CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL "céèçà " SET MYSQL_ERRNO = 1000;
|
||||
end $$
|
||||
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 '"céèçà " CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL "céèçà" S' at line 3
|
||||
SIGNAL "céèçà...' at line 3
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE 'céèçà ' CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL 'céèçà ' SET MYSQL_ERRNO = 1000;
|
||||
end $$
|
||||
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 ''céèçà ' CONDITION FOR SQLSTATE '12345';
|
||||
SIGNAL 'céèçà' S' at line 3
|
||||
SIGNAL 'céèçà...' at line 3
|
||||
create procedure test_signal()
|
||||
begin
|
||||
DECLARE `céèçà ` CONDITION FOR SQLSTATE '12345';
|
||||
|
@ -1714,17 +1714,17 @@ DROP TABLE t1;
|
||||
# WITH OBSCURE QUERY
|
||||
#
|
||||
SELECT very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999();
|
||||
ERROR 42000: Identifier name 'very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222' is too long
|
||||
ERROR 42000: Identifier name 'very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222...' is too long
|
||||
CALL very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999();
|
||||
ERROR 42000: Identifier name 'very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222' is too long
|
||||
ERROR 42000: Identifier name 'very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222...' is too long
|
||||
SELECT very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999.simple_func();
|
||||
ERROR 42000: Incorrect database name 'very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222'
|
||||
ERROR 42000: Incorrect database name 'very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222...'
|
||||
CALL very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222225555555555555555555555555577777777777777777777777777777777777777777777777777777777777777777777777788888888999999999999999999999.simple_proc();
|
||||
ERROR 42000: Incorrect database name 'very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222'
|
||||
ERROR 42000: Incorrect database name 'very_long_db_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222...'
|
||||
SELECT db_name.very_long_fn_name_111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999();
|
||||
ERROR 42000: Identifier name 'very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222' is too long
|
||||
ERROR 42000: Identifier name 'very_long_fn_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222...' is too long
|
||||
CALL db_name.very_long_pr_name_111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999999999999999999();
|
||||
ERROR 42000: Identifier name 'very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222222' is too long
|
||||
ERROR 42000: Identifier name 'very_long_pr_name_1111111111111111111111111111111111111111111111111111111111111111111111111222222...' is too long
|
||||
End of 5.1 tests
|
||||
#
|
||||
# Bug#23032: Handlers declared in a SP do not handle warnings generated in sub-SP
|
||||
|
@ -5279,7 +5279,7 @@ CREATE DEFINER=longer_than_80_45678901234567890123456789012345678901234567890123
|
||||
BEGIN
|
||||
SET @a = 1;
|
||||
END|
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
|
||||
FUNCTION bug16899_f1() RETURNS INT
|
||||
BEGIN
|
||||
|
@ -1187,7 +1187,7 @@ CREATE TABLE t1(c INT);
|
||||
CREATE TABLE t2(c INT);
|
||||
CREATE DEFINER=longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost
|
||||
TRIGGER t1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a = 1;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
|
||||
TRIGGER t2_bi BEFORE INSERT ON t2 FOR EACH ROW SET @a = 2;
|
||||
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
|
||||
|
@ -552,19 +552,19 @@ pk a sum price avg2(sum, price) over (partition by a order by pk ROWS BETWEEN 1
|
||||
select pk, a, sum, price, tttttttt(sprice,sum) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
from t1;
|
||||
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 'over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
from ' at line 1
|
||||
fr...' at line 1
|
||||
select pk, a, sum, price, myfunc_double(sum) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
from t1;
|
||||
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 'over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
from ' at line 1
|
||||
fr...' at line 1
|
||||
select pk, a, sum, price, round(sprice,sum) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
from t1;
|
||||
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 'over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
from ' at line 1
|
||||
fr...' at line 1
|
||||
select pk, a, sum, price, myfunc_double(sum) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
from t1;
|
||||
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 'over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
from ' at line 1
|
||||
fr...' at line 1
|
||||
set @save_sql_mode = @@sql_mode;
|
||||
set sql_mode="oracle";
|
||||
select pk, a, sum, price, avg2(sum, price) over (partition by a order by pk ROWS BETWEEN 1 PRECEDING AND 0 FOLLOWING)
|
||||
|
@ -2903,7 +2903,7 @@ DROP VIEW IF EXISTS v2;
|
||||
CREATE TABLE t1(a INT, b INT);
|
||||
CREATE DEFINER=longer_than_80_456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789@localhost
|
||||
VIEW v1 AS SELECT a FROM t1;
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345678' is too long for user name (should be no longer than 80)
|
||||
ERROR HY000: String 'longer_than_80_4567890123456789012345678901234567890123456789012345...' is too long for user name (should be no longer than 80)
|
||||
CREATE DEFINER=some_user_name@1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY
|
||||
VIEW v2 AS SELECT b FROM t1;
|
||||
ERROR HY000: String '1234567890abcdefghij1234567890abcdefghij1234567890abcdefghijQWERTY' is too long for host name (should be no longer than 60)
|
||||
|
@ -1007,11 +1007,11 @@ Warning 1292 Truncated incorrect INTEGER value: 'string '
|
||||
Warning 1292 Truncated incorrect INTEGER value: 'string '
|
||||
DROP PROCEDURE spxml;
|
||||
select UpdateXML('<a>a</a>',repeat('a b ',1000),'');
|
||||
ERROR HY000: XPATH syntax error: 'b a b a b a b a b a b a b a b a '
|
||||
ERROR HY000: XPATH syntax error: 'b a b a b a b a b a b a b a b...'
|
||||
select ExtractValue('<a>a</a>', '/a[@x=@y0123456789_0123456789_0123456789_0123456789]');
|
||||
ERROR HY000: XPATH error: comparison of two nodesets is not supported: '=@y0123456789_0123456789_0123456'
|
||||
ERROR HY000: XPATH error: comparison of two nodesets is not supported: '=@y0123456789_0123456789_0123...'
|
||||
select ExtractValue('<a>a</a>', '/a[@x=$y0123456789_0123456789_0123456789_0123456789]');
|
||||
ERROR HY000: Unknown XPATH variable at: '$y0123456789_0123456789_01234567'
|
||||
ERROR HY000: Unknown XPATH variable at: '$y0123456789_0123456789_01234...'
|
||||
select updatexml(NULL, 1, 1), updatexml(1, NULL, 1), updatexml(1, 1, NULL);
|
||||
updatexml(NULL, 1, 1) updatexml(1, NULL, 1) updatexml(1, 1, NULL)
|
||||
NULL NULL NULL
|
||||
@ -1110,9 +1110,9 @@ NULL
|
||||
# Bug#57279 updatexml dies with: Assertion failed: str_arg[length] == 0
|
||||
#
|
||||
SELECT UPDATEXML(NULL, (LPAD(0.1111E-15, '2011', 1)), 1);
|
||||
ERROR 22007: Illegal double '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' value found during parsing
|
||||
ERROR 22007: Illegal double '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...' value found during parsing
|
||||
SELECT EXTRACTVALUE('', LPAD(0.1111E-15, '2011', 1));
|
||||
ERROR 22007: Illegal double '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111' value found during parsing
|
||||
ERROR 22007: Illegal double '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111...' value found during parsing
|
||||
#
|
||||
# Bug #44332 my_xml_scan reads behind the end of buffer
|
||||
#
|
||||
|
@ -130,6 +130,7 @@ our $path_testlog;
|
||||
our $default_vardir;
|
||||
our $opt_vardir; # Path to use for var/ dir
|
||||
our $plugindir;
|
||||
our $opt_xml_report; # XML output
|
||||
our $client_plugindir;
|
||||
my $path_vardir_trace; # unix formatted opt_vardir for trace files
|
||||
my $opt_tmpdir; # Path to use for tmp/ dir
|
||||
@ -627,11 +628,7 @@ sub main {
|
||||
else
|
||||
{
|
||||
my $sys_info= My::SysInfo->new();
|
||||
$opt_parallel= $sys_info->num_cpus() +
|
||||
int($sys_info->min_bogomips()/500) - 4;
|
||||
for my $limit (2000, 1500, 1000, 500){
|
||||
$opt_parallel-- if ($sys_info->min_bogomips() < $limit);
|
||||
}
|
||||
$opt_parallel= $sys_info->num_cpus()+int($sys_info->min_bogomips()/500)-4;
|
||||
}
|
||||
my $max_par= $ENV{MTR_MAX_PARALLEL} || 8;
|
||||
$opt_parallel= $max_par if ($opt_parallel > $max_par);
|
||||
@ -747,7 +744,6 @@ sub main {
|
||||
mtr_print_line();
|
||||
|
||||
print_total_times($opt_parallel) if $opt_report_times;
|
||||
|
||||
mtr_report_stats($prefix, $fail, $completed, $extra_warnings);
|
||||
|
||||
if ($opt_gcov) {
|
||||
@ -1250,6 +1246,7 @@ sub print_global_resfile {
|
||||
resfile_global("warnings", $opt_warnings ? 1 : 0);
|
||||
resfile_global("max-connections", $opt_max_connections);
|
||||
resfile_global("product", "MySQL");
|
||||
resfile_global("xml-report", $opt_xml_report);
|
||||
# Somewhat hacky code to convert numeric version back to dot notation
|
||||
my $v1= int($mysql_version_id / 10000);
|
||||
my $v2= int(($mysql_version_id % 10000)/100);
|
||||
@ -1416,7 +1413,8 @@ sub command_line_setup {
|
||||
'help|h' => \$opt_usage,
|
||||
# list-options is internal, not listed in help
|
||||
'list-options' => \$opt_list_options,
|
||||
'skip-test-list=s' => \@opt_skip_test_list
|
||||
'skip-test-list=s' => \@opt_skip_test_list,
|
||||
'xml-report=s' => \$opt_xml_report
|
||||
);
|
||||
|
||||
# fix options (that take an optional argument and *only* after = sign
|
||||
@ -3634,8 +3632,11 @@ sub do_before_run_mysqltest($)
|
||||
# to be able to distinguish them from manually created
|
||||
# version-controlled results, and to ignore them in git.
|
||||
my $dest = "$base_file$suites.result~";
|
||||
my @cmd = ($exe_patch, qw/--binary -r - -f -s -o/,
|
||||
$dest, $base_result, $resfile);
|
||||
my @cmd = ($exe_patch);
|
||||
if ($^O eq "MSWin32") {
|
||||
push @cmd, '--binary';
|
||||
}
|
||||
push @cmd, (qw/-r - -f -s -o/, $dest, $base_result, $resfile);
|
||||
if (-w $resdir) {
|
||||
# don't rebuild a file if it's up to date
|
||||
unless (-e $dest and -M $dest < -M $resfile
|
||||
@ -6681,6 +6682,7 @@ Misc options
|
||||
phases of test execution.
|
||||
stress=ARGS Run stress test, providing options to
|
||||
mysql-stress-test.pl. Options are separated by comma.
|
||||
xml-report=<file> Output jUnit xml file of the results.
|
||||
tail-lines=N Number of lines of the result to include in a failure
|
||||
report.
|
||||
|
||||
|
@ -102,7 +102,7 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp
|
||||
BEGIN
|
||||
var1:='';
|
||||
insert into t1 values (1);
|
||||
SELE' at line 10
|
||||
S...' at line 10
|
||||
drop table t1;
|
||||
#
|
||||
# Condition after handler declaration
|
||||
@ -130,7 +130,7 @@ $$
|
||||
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 'divide_by_zero CONDITION FOR SQLSTATE '22012';
|
||||
BEGIN
|
||||
var1:='';
|
||||
insert into t1 va' at line 11
|
||||
insert into t1...' at line 11
|
||||
drop table t1;
|
||||
#
|
||||
# Variable after handler declaration
|
||||
@ -158,7 +158,7 @@ $$
|
||||
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 'divide_by_zero CONDITION FOR SQLSTATE '22012';
|
||||
BEGIN
|
||||
var1:='';
|
||||
insert into t1 va' at line 11
|
||||
insert into t1...' at line 11
|
||||
drop table t1;
|
||||
#
|
||||
# Variable after cursor (inner block)
|
||||
|
@ -776,7 +776,7 @@ FETCH c INTO a, b;
|
||||
EXIT WHEN c%NOTFOUND;
|
||||
SELECT a, b;
|
||||
END LOOP;
|
||||
CLOSE ' at line 5
|
||||
CLO...' at line 5
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-10577 sql_mode=ORACLE: %TYPE in variable declarations
|
||||
|
@ -2099,7 +2099,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -2115,7 +2115,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -2169,7 +2169,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -2185,7 +2185,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -2687,7 +2687,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -2704,7 +2704,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
DROP VIEW v1;
|
||||
@ -2761,7 +2761,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -2778,7 +2778,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
DROP VIEW v1;
|
||||
@ -3053,7 +3053,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3069,7 +3069,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3123,7 +3123,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3139,7 +3139,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3414,7 +3414,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -3434,7 +3434,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
@ -3502,7 +3502,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -3522,7 +3522,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
@ -3782,7 +3782,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 23
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3799,7 +3799,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 23
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3858,7 +3858,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 21
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3875,7 +3875,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 21
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -4136,7 +4136,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 17
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4154,7 +4154,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 17
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4214,7 +4214,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 15
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4232,7 +4232,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 15
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4492,7 +4492,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 11
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4510,7 +4510,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 11
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4570,7 +4570,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 9
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4588,7 +4588,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 9
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
|
@ -488,8 +488,7 @@ DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
|
||||
END//
|
||||
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 'CHECK SQLSTATE '23000';
|
||||
END;
|
||||
DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
|
||||
' at line 5
|
||||
DECLARE CONTINUE HANDLER FOR condname1 SET x1 = ...' at line 5
|
||||
CREATE PROCEDURE h1 ()
|
||||
BEGIN
|
||||
DECLARE x1 INT DEFAULT 0;
|
||||
@ -522,8 +521,7 @@ SELECT 'end of 1';
|
||||
end;//
|
||||
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 'undo handler for sqlexception select '1';
|
||||
select * from tqq;
|
||||
SELECT 'end of 1';
|
||||
' at line 3
|
||||
SELECT 'end of 1...' at line 3
|
||||
create procedure p1 ()
|
||||
begin
|
||||
declare exit handler for sqlexception select 'exit handler 1';
|
||||
|
@ -3569,7 +3569,7 @@ DROP VIEW v1;
|
||||
REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
|
||||
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 'OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK ' at line 1
|
||||
FROM test.tb2 my_table WITH CASCADED CHE...' at line 1
|
||||
CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
|
||||
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 AS F59, F60
|
||||
@ -3598,7 +3598,7 @@ FROM test.tb2 my_table WITH CASCADED CHECK OPTION VIEW v1' at line 1
|
||||
REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
|
||||
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 'OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPT' at line 1
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK ...' at line 1
|
||||
CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
|
||||
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 AS F59, F60
|
||||
|
@ -2100,7 +2100,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -2116,7 +2116,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -2170,7 +2170,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -2186,7 +2186,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -2688,7 +2688,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -2705,7 +2705,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
DROP VIEW v1;
|
||||
@ -2762,7 +2762,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -2779,7 +2779,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
DROP VIEW v1;
|
||||
@ -3054,7 +3054,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3070,7 +3070,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3124,7 +3124,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3140,7 +3140,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3415,7 +3415,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -3435,7 +3435,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
@ -3503,7 +3503,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -3523,7 +3523,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
@ -3783,7 +3783,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 23
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3800,7 +3800,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 23
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3859,7 +3859,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 21
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3876,7 +3876,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 21
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -4137,7 +4137,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 17
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4155,7 +4155,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 17
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4215,7 +4215,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 15
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4233,7 +4233,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 15
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4493,7 +4493,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 11
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4511,7 +4511,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 11
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4571,7 +4571,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 9
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4589,7 +4589,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 9
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
|
@ -489,8 +489,7 @@ DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
|
||||
END//
|
||||
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 'CHECK SQLSTATE '23000';
|
||||
END;
|
||||
DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
|
||||
' at line 5
|
||||
DECLARE CONTINUE HANDLER FOR condname1 SET x1 = ...' at line 5
|
||||
CREATE PROCEDURE h1 ()
|
||||
BEGIN
|
||||
DECLARE x1 INT DEFAULT 0;
|
||||
@ -523,8 +522,7 @@ SELECT 'end of 1';
|
||||
end;//
|
||||
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 'undo handler for sqlexception select '1';
|
||||
select * from tqq;
|
||||
SELECT 'end of 1';
|
||||
' at line 3
|
||||
SELECT 'end of 1...' at line 3
|
||||
create procedure p1 ()
|
||||
begin
|
||||
declare exit handler for sqlexception select 'exit handler 1';
|
||||
|
@ -3570,7 +3570,7 @@ DROP VIEW v1;
|
||||
REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
|
||||
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 'OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK ' at line 1
|
||||
FROM test.tb2 my_table WITH CASCADED CHE...' at line 1
|
||||
CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
|
||||
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 AS F59, F60
|
||||
@ -3599,7 +3599,7 @@ FROM test.tb2 my_table WITH CASCADED CHECK OPTION VIEW v1' at line 1
|
||||
REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
|
||||
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 'OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPT' at line 1
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK ...' at line 1
|
||||
CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
|
||||
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 AS F59, F60
|
||||
|
@ -2100,7 +2100,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -2116,7 +2116,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -2170,7 +2170,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -2186,7 +2186,7 @@ IS NOT TRUE ---äÖüß@µ*$-- 4
|
||||
IS TRUE -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ''
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect DOUBLE value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -2688,7 +2688,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -2705,7 +2705,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
DROP VIEW v1;
|
||||
@ -2762,7 +2762,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -2779,7 +2779,7 @@ NULL NULL 1
|
||||
18446744073709551615 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
Note 1105 Cast to unsigned converted negative integer to it's positive complement
|
||||
DROP VIEW v1;
|
||||
@ -3054,7 +3054,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3070,7 +3070,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3124,7 +3124,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3140,7 +3140,7 @@ NULL NULL 1
|
||||
-1 -1 5
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect INTEGER value: ''
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect INTEGER value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Truncated incorrect INTEGER value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3415,7 +3415,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -3435,7 +3435,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
@ -3503,7 +3503,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -3523,7 +3523,7 @@ Warnings:
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ''
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Truncated incorrect DECIMAL value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1918 Encountered illegal value '' when converting to DECIMAL
|
||||
Warning 1292 Truncated incorrect DECIMAL value: ' ---äÖüß@µ*$-- '
|
||||
DROP VIEW v1;
|
||||
@ -3783,7 +3783,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 23
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3800,7 +3800,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 23
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -3859,7 +3859,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 21
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
@ -3876,7 +3876,7 @@ NULL ---äÖüß@µ*$-- 4
|
||||
41:58:00 1 17:58 21
|
||||
Warnings:
|
||||
Warning 1292 Incorrect time value: ''
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect time value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect time value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
DROP VIEW v1;
|
||||
|
||||
@ -4137,7 +4137,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 17
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4155,7 +4155,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 17
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4215,7 +4215,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 15
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4233,7 +4233,7 @@ NULL -1 5
|
||||
2005-06-27 17:58:00 2005-06-27 17:58 15
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4493,7 +4493,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 11
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4511,7 +4511,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 11
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
@ -4571,7 +4571,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 9
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
SHOW CREATE VIEW v1;
|
||||
@ -4589,7 +4589,7 @@ NULL -1 5
|
||||
2005-06-27 2005-06-27 9
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: ''
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters-------------------------------------------------------------------------------------------------------'
|
||||
Warning 1292 Incorrect datetime value: '<---------1000 characters----------------------------------------------------------------------------------------------------...'
|
||||
Warning 1292 Incorrect datetime value: ' ---\xC3\xA4\xC3\x96\xC3\xBC\xC3\x9F@\xC2\xB5*$-- '
|
||||
Warning 1292 Incorrect datetime value: '-1'
|
||||
DROP VIEW v1;
|
||||
|
@ -489,8 +489,7 @@ DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
|
||||
END//
|
||||
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 'CHECK SQLSTATE '23000';
|
||||
END;
|
||||
DECLARE CONTINUE HANDLER FOR condname1 SET x1 = 1;
|
||||
' at line 5
|
||||
DECLARE CONTINUE HANDLER FOR condname1 SET x1 = ...' at line 5
|
||||
CREATE PROCEDURE h1 ()
|
||||
BEGIN
|
||||
DECLARE x1 INT DEFAULT 0;
|
||||
@ -523,8 +522,7 @@ SELECT 'end of 1';
|
||||
end;//
|
||||
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 'undo handler for sqlexception select '1';
|
||||
select * from tqq;
|
||||
SELECT 'end of 1';
|
||||
' at line 3
|
||||
SELECT 'end of 1...' at line 3
|
||||
create procedure p1 ()
|
||||
begin
|
||||
declare exit handler for sqlexception select 'exit handler 1';
|
||||
|
@ -4072,7 +4072,7 @@ DROP VIEW v1;
|
||||
REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
|
||||
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 'OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK ' at line 1
|
||||
FROM test.tb2 my_table WITH CASCADED CHE...' at line 1
|
||||
CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
|
||||
FROM test.tb2 my_table WITH CASCADED CHECK OPTION;
|
||||
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 AS F59, F60
|
||||
@ -4101,7 +4101,7 @@ FROM test.tb2 my_table WITH CASCADED CHECK OPTION VIEW v1' at line 1
|
||||
REPLACE OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
|
||||
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 'OR CREATE VIEW v1 AS SELECT F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPT' at line 1
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK ...' at line 1
|
||||
CREATE OR REPLACE VIEW v1 SELECT AS F59, F60
|
||||
FROM test.tb2 my_table WITH LOCAL CHECK OPTION;
|
||||
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 AS F59, F60
|
||||
|
File diff suppressed because it is too large
Load Diff
20
mysql-test/suite/galera/r/MDEV-22051.result
Normal file
20
mysql-test/suite/galera/r/MDEV-22051.result
Normal file
@ -0,0 +1,20 @@
|
||||
connection node_2;
|
||||
connection node_1;
|
||||
FLUSH TABLES WITH READ LOCK;
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
ERROR 08S01: Aborting TOI: Global Read-Lock (FTWRL) in place.
|
||||
SET wsrep_OSU_method=RSU;
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
ERROR 08S01: Aborting TOI: Global Read-Lock (FTWRL) in place.
|
||||
SET wsrep_OSU_method=TOI;
|
||||
connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1;
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
ERROR 08S01: Aborting TOI: Global Read-Lock (FTWRL) in place.
|
||||
connection node_1;
|
||||
UNLOCK TABLES;
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
FLUSH TABLES WITH READ LOCK;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
ERROR HY000: Can't execute the query because you have a conflicting read lock
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t1;
|
11
mysql-test/suite/galera/r/mdev_21025.result
Normal file
11
mysql-test/suite/galera/r/mdev_21025.result
Normal file
@ -0,0 +1,11 @@
|
||||
connection node_2;
|
||||
connection node_1;
|
||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 (f1) VALUES (1);
|
||||
START TRANSACTION;
|
||||
INSERT IGNORE INTO t1 (f1) VALUES (1);
|
||||
Warnings:
|
||||
Warning 1062 Duplicate entry '1' for key 'PRIMARY'
|
||||
START TRANSACTION;
|
||||
DROP TABLE t1;
|
33
mysql-test/suite/galera/t/MDEV-22051.test
Normal file
33
mysql-test/suite/galera/t/MDEV-22051.test
Normal file
@ -0,0 +1,33 @@
|
||||
#
|
||||
# If FTWRL is issued on node, DDL statement should report error back to
|
||||
# user.
|
||||
#
|
||||
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_innodb.inc
|
||||
|
||||
FLUSH TABLES WITH READ LOCK;
|
||||
|
||||
--error ER_UNKNOWN_COM_ERROR
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
|
||||
SET wsrep_OSU_method=RSU;
|
||||
--error ER_UNKNOWN_COM_ERROR
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
SET wsrep_OSU_method=TOI;
|
||||
|
||||
--connect node_1a, 127.0.0.1, root, , test, $NODE_MYPORT_1
|
||||
--error ER_UNKNOWN_COM_ERROR
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
|
||||
--connection node_1
|
||||
UNLOCK TABLES;
|
||||
|
||||
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
|
||||
|
||||
FLUSH TABLES WITH READ LOCK;
|
||||
--error ER_CANT_UPDATE_WITH_READLOCK
|
||||
INSERT INTO t1 VALUES (1);
|
||||
UNLOCK TABLES;
|
||||
|
||||
DROP TABLE t1;
|
@ -5,6 +5,7 @@
|
||||
#
|
||||
--source include/galera_cluster.inc
|
||||
--source include/have_binlog_format_row.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/have_debug_sync.inc
|
||||
SET @orig_debug=@@debug_dbug;
|
||||
|
||||
|
22
mysql-test/suite/galera/t/mdev_21025.test
Normal file
22
mysql-test/suite/galera/t/mdev_21025.test
Normal file
@ -0,0 +1,22 @@
|
||||
#
|
||||
# MDEV-21205
|
||||
#
|
||||
# Start transaction after INSERT IGNORE which had no effect and
|
||||
# kept the transaction open caused an assertion on the following
|
||||
# START TRANSACTION because the empty transaction was not properly
|
||||
# terminated.
|
||||
#
|
||||
|
||||
--source include/galera_cluster.inc
|
||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY);
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 (f1) VALUES (1);
|
||||
|
||||
START TRANSACTION;
|
||||
# This INSERT succeeds with duplicate key warning due to IGNORE clause
|
||||
# and keeps the transaction open. The following START TRANSACTION causes
|
||||
# an assertion if the bug is present.
|
||||
INSERT IGNORE INTO t1 (f1) VALUES (1);
|
||||
START TRANSACTION;
|
||||
|
||||
DROP TABLE t1;
|
@ -697,7 +697,7 @@ ERROR 42000: Incorrect table definition; there can be only one auto column and i
|
||||
create table t1 (c char(255), primary key(c(90)));
|
||||
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
|
||||
insert into t1 values ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz");
|
||||
ERROR 23000: Duplicate entry 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl' for key 'PRIMARY'
|
||||
ERROR 23000: Duplicate entry 'abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghi...' for key 'PRIMARY'
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (a int, key(a)) engine=heap;
|
||||
insert into t1 values (0);
|
||||
|
@ -270,6 +270,13 @@ CREATE TABLE t2 (f INT, KEY(f)) ENGINE=InnoDB;
|
||||
ALTER TABLE t1 ADD FOREIGN KEY (f2) REFERENCES t2 (f);
|
||||
ALTER IGNORE TABLE t1 ADD FOREIGN KEY (f3) REFERENCES t1 (f1);
|
||||
DROP TABLE t1, t2;
|
||||
CREATE TABLE t1 (a INT, b INT, KEY idx(a)) ENGINE=InnoDB;
|
||||
SET FOREIGN_KEY_CHECKS= OFF;
|
||||
ALTER TABLE t1 ADD FOREIGN KEY (a) REFERENCES tx(x);
|
||||
ALTER TABLE t1 DROP KEY idx;
|
||||
ALTER TABLE t1 CHANGE a c INT;
|
||||
DROP TABLE t1;
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
# Start of 10.2 tests
|
||||
#
|
||||
# MDEV-13246 Stale rows despite ON DELETE CASCADE constraint
|
||||
|
@ -198,11 +198,11 @@ t3 CREATE TABLE `t3` (
|
||||
ALTER TABLE t3 CHANGE
|
||||
`1234567890123456789012345678901234567890123456789012345678901234`
|
||||
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾倿偀` INT;
|
||||
ERROR 42000: Identifier name '倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠' is too long
|
||||
ERROR 42000: Identifier name '倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借...' is too long
|
||||
ALTER TABLE t3 CHANGE
|
||||
`1234567890123456789012345678901234567890123456789012345678901234`
|
||||
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾倿ä` INT;
|
||||
ERROR 42000: Identifier name '倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠' is too long
|
||||
ERROR 42000: Identifier name '倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借...' is too long
|
||||
ALTER TABLE t3 CHANGE
|
||||
`1234567890123456789012345678901234567890123456789012345678901234`
|
||||
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾ä` INT;
|
||||
@ -210,7 +210,7 @@ ALTER TABLE t3 CHANGE
|
||||
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾Ä`
|
||||
c3 INT;
|
||||
ALTER TABLE t3 CHANGE c3 𐌀𐌁𐌂𐌃𐌄𐌅𐌆𐌇𐌈𐌉𐌊𐌋𐌌𐌍𐌎𐌏𐌐𐌑𐌒𐌓𐌔𐌕𐌖𐌗𐌘𐌙𐌚𐌛𐌜 INT;
|
||||
ERROR HY000: Invalid utf8mb4 character string: '\xF0\x90\x8C\x80\xF0\x90\x8C\x81\xF0\x90\x8C\x82\xF0\x90\x8C\x83'
|
||||
ERROR HY000: Invalid utf8mb4 character string: '\xF0\x90\x8C\x80\xF0\x90\x8C\x81\xF0\x90\x8C\x82\xF0\x90\x8C\...'
|
||||
ALTER TABLE t3 CHANGE c3 😲 INT;
|
||||
ERROR HY000: Invalid utf8mb4 character string: '\xF0\x9F\x98\xB2'
|
||||
ALTER TABLE t3 RENAME TO t2;
|
||||
|
@ -1,4 +1,4 @@
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect innodb_stats_transient_sample_pa value: '0'
|
||||
Warning 1292 Truncated incorrect innodb_stats_transient_sample... value: '0'
|
||||
Variable_name Value
|
||||
innodb_stats_transient_sample_pages 1
|
||||
|
@ -1,5 +1,5 @@
|
||||
Warnings:
|
||||
Warning 1292 Truncated incorrect innodb_stats_transient_sample_pa value: '0'
|
||||
Warning 1292 Truncated incorrect innodb_stats_transient_sample... value: '0'
|
||||
Variable_name Value
|
||||
innodb_stats_transient_sample_pages 1
|
||||
Variable_name Value
|
||||
|
@ -324,11 +324,11 @@ t3 CREATE TABLE `t3` (
|
||||
ALTER TABLE t3 CHANGE
|
||||
`1234567890123456789012345678901234567890123456789012345678901234`
|
||||
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾倿偀` INT;
|
||||
ERROR 42000: Identifier name '倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠' is too long
|
||||
ERROR 42000: Identifier name '倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借...' is too long
|
||||
ALTER TABLE t3 CHANGE
|
||||
`1234567890123456789012345678901234567890123456789012345678901234`
|
||||
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾倿ä` INT;
|
||||
ERROR 42000: Identifier name '倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠' is too long
|
||||
ERROR 42000: Identifier name '倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借...' is too long
|
||||
ALTER TABLE t3 CHANGE
|
||||
`1234567890123456789012345678901234567890123456789012345678901234`
|
||||
`倀倁倂倃倄倅倆倇倈倉倊個倌倍倎倏倐們倒倓倔倕倖倗倘候倚倛倜倝倞借倠倡倢倣値倥倦倧倨倩倪倫倬倭倮倯倰倱倲倳倴倵倶倷倸倹债倻值倽倾ä` INT;
|
||||
@ -370,7 +370,7 @@ t3.isl
|
||||
t1c.ibd
|
||||
t3.ibd
|
||||
ALTER TABLE t3 CHANGE c3 𐌀𐌁𐌂𐌃𐌄𐌅𐌆𐌇𐌈𐌉𐌊𐌋𐌌𐌍𐌎𐌏𐌐𐌑𐌒𐌓𐌔𐌕𐌖𐌗𐌘𐌙𐌚𐌛𐌜 INT;
|
||||
ERROR HY000: Invalid utf8mb4 character string: '\xF0\x90\x8C\x80\xF0\x90\x8C\x81\xF0\x90\x8C\x82\xF0\x90\x8C\x83'
|
||||
ERROR HY000: Invalid utf8mb4 character string: '\xF0\x90\x8C\x80\xF0\x90\x8C\x81\xF0\x90\x8C\x82\xF0\x90\x8C\...'
|
||||
ALTER TABLE t3 CHANGE c3 😲 INT;
|
||||
ERROR HY000: Invalid utf8mb4 character string: '\xF0\x9F\x98\xB2'
|
||||
ALTER TABLE t3 RENAME TO t2;
|
||||
|
27
mysql-test/suite/innodb/r/xa_recovery_debug.result
Normal file
27
mysql-test/suite/innodb/r/xa_recovery_debug.result
Normal file
@ -0,0 +1,27 @@
|
||||
#
|
||||
# Bug#20872655 XA ROLLBACK IS NOT CRASH-SAFE
|
||||
#
|
||||
CREATE TABLE t(a INT PRIMARY KEY, b INT UNIQUE) ENGINE=INNODB;
|
||||
INSERT INTO t SET a=0;
|
||||
connect con1,localhost,root;
|
||||
XA START 'zombie';
|
||||
INSERT INTO t SET a=1;
|
||||
UPDATE t SET b=1 WHERE a=1;
|
||||
SELECT COUNT(*) FROM t;
|
||||
COUNT(*)
|
||||
2
|
||||
XA END 'zombie';
|
||||
XA PREPARE 'zombie';
|
||||
SET DEBUG_SYNC='trx_after_rollback_row SIGNAL s1 WAIT_FOR s2';
|
||||
XA ROLLBACK 'zombie';
|
||||
connection default;
|
||||
SET DEBUG_SYNC='now WAIT_FOR s1';
|
||||
SET GLOBAL innodb_flush_log_at_trx_commit=1;
|
||||
DELETE FROM t LIMIT 1;
|
||||
# restart
|
||||
disconnect con1;
|
||||
XA COMMIT 'zombie';
|
||||
ERROR XAE04: XAER_NOTA: Unknown XID
|
||||
SELECT * FROM t;
|
||||
a b
|
||||
DROP TABLE t;
|
@ -257,6 +257,17 @@ ALTER TABLE t1 ADD FOREIGN KEY (f2) REFERENCES t2 (f);
|
||||
ALTER IGNORE TABLE t1 ADD FOREIGN KEY (f3) REFERENCES t1 (f1);
|
||||
DROP TABLE t1, t2;
|
||||
|
||||
# MDEV-19092 Server crash when renaming the column when
|
||||
# FOREIGN_KEY_CHECKS is disabled
|
||||
CREATE TABLE t1 (a INT, b INT, KEY idx(a)) ENGINE=InnoDB;
|
||||
SET FOREIGN_KEY_CHECKS= OFF;
|
||||
ALTER TABLE t1 ADD FOREIGN KEY (a) REFERENCES tx(x);
|
||||
ALTER TABLE t1 DROP KEY idx;
|
||||
ALTER TABLE t1 CHANGE a c INT;
|
||||
# Cleanup
|
||||
DROP TABLE t1;
|
||||
SET FOREIGN_KEY_CHECKS=1;
|
||||
|
||||
--echo # Start of 10.2 tests
|
||||
|
||||
--echo #
|
||||
|
39
mysql-test/suite/innodb/t/xa_recovery_debug.test
Normal file
39
mysql-test/suite/innodb/t/xa_recovery_debug.test
Normal file
@ -0,0 +1,39 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug.inc
|
||||
--source include/have_debug_sync.inc
|
||||
# Embedded server does not support restarting
|
||||
--source include/not_embedded.inc
|
||||
|
||||
--echo #
|
||||
--echo # Bug#20872655 XA ROLLBACK IS NOT CRASH-SAFE
|
||||
--echo #
|
||||
|
||||
CREATE TABLE t(a INT PRIMARY KEY, b INT UNIQUE) ENGINE=INNODB;
|
||||
INSERT INTO t SET a=0;
|
||||
connect (con1,localhost,root);
|
||||
XA START 'zombie';
|
||||
INSERT INTO t SET a=1;
|
||||
UPDATE t SET b=1 WHERE a=1;
|
||||
SELECT COUNT(*) FROM t;
|
||||
XA END 'zombie';
|
||||
XA PREPARE 'zombie';
|
||||
SET DEBUG_SYNC='trx_after_rollback_row SIGNAL s1 WAIT_FOR s2';
|
||||
--send XA ROLLBACK 'zombie'
|
||||
connection default;
|
||||
SET DEBUG_SYNC='now WAIT_FOR s1';
|
||||
# Ensure that the state change from XA PREPARE to ACTIVE gets flushed
|
||||
# to the redo log. Without this, it could be that we will recover to
|
||||
# a state that precedes the start of the XA ROLLBACK.
|
||||
SET GLOBAL innodb_flush_log_at_trx_commit=1;
|
||||
DELETE FROM t LIMIT 1;
|
||||
let $shutdown_timeout=0;
|
||||
--source include/restart_mysqld.inc
|
||||
disconnect con1;
|
||||
# If the trx_undo_set_state_at_prepare() is omitted at the start of
|
||||
# XA ROLLBACK, then the XA COMMIT would succeed and the table would
|
||||
# incorrectly show the result of the INSERT but not the UPDATE,
|
||||
# because we would commit a partially rolled back transaction.
|
||||
--error ER_XAER_NOTA
|
||||
XA COMMIT 'zombie';
|
||||
SELECT * FROM t;
|
||||
DROP TABLE t;
|
@ -269,7 +269,7 @@ c1 ST_Astext(c2) ST_Astext(c4)
|
||||
9 POINT(120 120) POLYGON((4010 4010,4020 4020,4030 4030,4040 4030,4020 4010,4010 4010))
|
||||
UPDATE tab SET c2 = ST_GeomFromText('POINT(4000 4000)')
|
||||
WHERE MBRIntersects(tab.c4, @g1);
|
||||
ERROR 23000: Duplicate entry '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00@\xAF@\x' for key 'PRIMARY'
|
||||
ERROR 23000: Duplicate entry '\x00\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00@\xAF...' for key 'PRIMARY'
|
||||
SELECT c1,ST_Astext(c2),ST_Astext(c4) FROM tab WHERE MBRIntersects(tab.c4, @g1) ORDER BY c1;
|
||||
c1 ST_Astext(c2) ST_Astext(c4)
|
||||
7 POINT(60 70) POLYGON((3010 3010,3020 3020,3030 3030,3040 3030,3020 3010,3010 3010))
|
||||
|
@ -1093,7 +1093,7 @@ col_1_varchar = REPEAT("c", 4000)
|
||||
ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar(3072));
|
||||
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
|
||||
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
|
||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' for key 'PRIMARY'
|
||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' for key 'PRIMARY'
|
||||
DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
|
||||
SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
|
||||
col_1_varchar = REPEAT("c", 4000)
|
||||
@ -1126,7 +1126,7 @@ ALTER TABLE worklog5743 ADD PRIMARY KEY (col_1_varchar(3072));
|
||||
CREATE INDEX prefix_idx ON worklog5743(col_1_varchar (3072));
|
||||
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
|
||||
INSERT INTO worklog5743 VALUES(REPEAT("a", 4000),REPEAT("o", 4000));
|
||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' for key 'PRIMARY'
|
||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' for key 'PRIMARY'
|
||||
DELETE FROM worklog5743 WHERE col_1_varchar = REPEAT("b", 4000);
|
||||
SELECT col_1_varchar = REPEAT("c", 4000) FROM worklog5743;
|
||||
col_1_varchar = REPEAT("c", 4000)
|
||||
@ -1390,7 +1390,7 @@ REPEAT("o", 4000));
|
||||
INSERT INTO worklog5743
|
||||
VALUES(concat(REPEAT("a", 2000),REPEAT("b", 2000)), REPEAT("o", 4000));
|
||||
ALTER TABLE worklog5743 ADD PRIMARY KEY `pk_idx` (col_1_varchar(3000));
|
||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' for key 'PRIMARY'
|
||||
ERROR 23000: Duplicate entry 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa...' for key 'PRIMARY'
|
||||
DROP TABLE worklog5743;
|
||||
set global innodb_large_prefix=0;
|
||||
ERROR HY000: Variable 'innodb_large_prefix' is a read only variable
|
||||
|
2
mysql-test/suite/mariabackup/partial_exclude.opt
Normal file
2
mysql-test/suite/mariabackup/partial_exclude.opt
Normal file
@ -0,0 +1,2 @@
|
||||
--ignore-db-dirs=db3
|
||||
--ignore-db-dirs=db4
|
@ -1,3 +1,6 @@
|
||||
select @@ignore_db_dirs;
|
||||
@@ignore_db_dirs
|
||||
db3,db4
|
||||
CREATE TABLE t1(i INT) ENGINE INNODB;
|
||||
INSERT INTO t1 VALUES(1);
|
||||
CREATE TABLE t2(i int) ENGINE INNODB;
|
||||
|
@ -1,6 +1,13 @@
|
||||
#--source include/innodb_page_size.inc
|
||||
|
||||
# Test --databases-exclude and --tables-exclude feature of xtrabackup 2.3.8
|
||||
select @@ignore_db_dirs;
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
|
||||
mkdir $MYSQLD_DATADIR/db3;
|
||||
mkdir $MYSQLD_DATADIR/db4;
|
||||
mkdir $MYSQLD_DATADIR/db5;
|
||||
|
||||
CREATE TABLE t1(i INT) ENGINE INNODB;
|
||||
INSERT INTO t1 VALUES(1);
|
||||
@ -24,8 +31,19 @@ list_files $targetdir/test *.ibd;
|
||||
# check that db2 database is not in the backup (excluded)
|
||||
--error 1
|
||||
list_files $targetdir/db2 *.ibd;
|
||||
# check that db3 database is not in the backup (excluded)
|
||||
--error 1
|
||||
list_files $targetdir/db3 *.ibd;
|
||||
# check that db4 database is not in the backup (excluded)
|
||||
--error 1
|
||||
list_files $targetdir/db4 *.ibd;
|
||||
# check that db5 database is in the backup
|
||||
list_files $targetdir/db5 *.ibd;
|
||||
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
DROP DATABASE db2;
|
||||
rmdir $MYSQLD_DATADIR/db3;
|
||||
rmdir $MYSQLD_DATADIR/db4;
|
||||
rmdir $MYSQLD_DATADIR/db5;
|
||||
rmdir $targetdir;
|
||||
|
@ -24,5 +24,5 @@ SUBPARTITION BY HASH ( id2 )
|
||||
SUBPARTITIONS 2 (
|
||||
PARTITION çççççççççççççççççççççççççççççççççççççççççççççççççççççççççççç VALUES LESS THAN (1000) ENGINE = InnoDB,
|
||||
PARTITION pmax VALUES LESS THAN MAXVALUE ENGINE = InnoDB);
|
||||
ERROR HY000: The path specified for @0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@ is too long
|
||||
ERROR HY000: The path specified for @0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@0n@... is too long
|
||||
drop database mysqltest1;
|
||||
|
@ -770,7 +770,7 @@ f_char2 CHAR(20),
|
||||
f_charbig VARCHAR(1000) )
|
||||
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20)
|
||||
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)) ;
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS T' at line 7
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LES...' at line 7
|
||||
CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
f_char1 CHAR(20),
|
||||
@ -779,7 +779,7 @@ f_charbig VARCHAR(1000) )
|
||||
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20)
|
||||
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS T' at line 7
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LES...' at line 7
|
||||
CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
f_char1 CHAR(20),
|
||||
@ -797,7 +797,7 @@ PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES
|
||||
(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ' PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart31 , SUBPART' at line 7
|
||||
(SUBPARTITION subpart31 , SUBP...' at line 7
|
||||
CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
f_char1 CHAR(20),
|
||||
@ -987,7 +987,7 @@ SUBPARTITIONS -1
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (214' at line 9
|
||||
PARTITION part2 VALUES LESS THAN (...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1032,7 +1032,7 @@ SUBPARTITIONS 2.0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '2.0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1055,7 +1055,7 @@ SUBPARTITIONS -2.0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '-2.0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1078,7 +1078,7 @@ SUBPARTITIONS 0.0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1101,7 +1101,7 @@ SUBPARTITIONS 1.6
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '1.6
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1123,7 +1123,7 @@ SUBPARTITIONS 999999999999999999999999999999.999999999999999999999999999999
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '999999999999999999999999999999.999999999999999999999999999999
|
||||
(PARTITION part1 V' at line 9
|
||||
(PARTITION part...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1146,7 +1146,7 @@ SUBPARTITIONS 0.000000000000000000000000000001
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.000000000000000000000000000001
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITI' at line 9
|
||||
PART...' at line 9
|
||||
# 4.2.3 partition/subpartition numbers FLOAT notation
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
@ -1170,7 +1170,7 @@ SUBPARTITIONS 2.0E+0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '2.0E+0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN ' at line 9
|
||||
PARTITION part2 VALUES LESS TH...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1193,7 +1193,7 @@ SUBPARTITIONS 0.2E+1
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.2E+1
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN ' at line 9
|
||||
PARTITION part2 VALUES LESS TH...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1216,7 +1216,7 @@ SUBPARTITIONS -2.0E+0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '-2.0E+0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN' at line 9
|
||||
PARTITION part2 VALUES LESS T...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1239,7 +1239,7 @@ SUBPARTITIONS 0.16E+1
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.16E+1
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN' at line 9
|
||||
PARTITION part2 VALUES LESS T...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1262,7 +1262,7 @@ SUBPARTITIONS 0.0E+300
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.0E+300
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THA' at line 9
|
||||
PARTITION part2 VALUES LESS ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1285,7 +1285,7 @@ SUBPARTITIONS 1E+300
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '1E+300
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN ' at line 9
|
||||
PARTITION part2 VALUES LESS TH...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1308,7 +1308,7 @@ SUBPARTITIONS 1E-300
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '1E-300
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN ' at line 9
|
||||
PARTITION part2 VALUES LESS TH...' at line 9
|
||||
# 4.2.4 partition/subpartition numbers STRING notation
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
@ -1332,7 +1332,7 @@ SUBPARTITIONS '2'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''2'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1355,7 +1355,7 @@ SUBPARTITIONS '2.0'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''2.0'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (' at line 9
|
||||
PARTITION part2 VALUES LESS THA...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1378,7 +1378,7 @@ SUBPARTITIONS '0.2E+1'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''0.2E+1'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THA' at line 9
|
||||
PARTITION part2 VALUES LESS ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1401,7 +1401,7 @@ SUBPARTITIONS '2A'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''2A'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1424,7 +1424,7 @@ SUBPARTITIONS 'A2'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''A2'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1447,7 +1447,7 @@ SUBPARTITIONS ''
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '''
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (214' at line 9
|
||||
PARTITION part2 VALUES LESS THAN (...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1470,7 +1470,7 @@ SUBPARTITIONS 'GARBAGE'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''GARBAGE'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS TH' at line 9
|
||||
PARTITION part2 VALUES LESS...' at line 9
|
||||
# 4.2.5 partition/subpartition numbers other notations
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
@ -1494,7 +1494,7 @@ SUBPARTITIONS 2A
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '2A
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (214' at line 9
|
||||
PARTITION part2 VALUES LESS THAN (...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1517,7 +1517,7 @@ SUBPARTITIONS A2
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 'A2
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (214' at line 9
|
||||
PARTITION part2 VALUES LESS THAN (...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1540,7 +1540,7 @@ SUBPARTITIONS GARBAGE
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 'GARBAGE
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN' at line 9
|
||||
PARTITION part2 VALUES LESS T...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1563,7 +1563,7 @@ SUBPARTITIONS "2"
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '"2"
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1586,7 +1586,7 @@ SUBPARTITIONS "2A"
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '"2A"
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1609,7 +1609,7 @@ SUBPARTITIONS "A2"
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '"A2"
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1632,7 +1632,7 @@ SUBPARTITIONS "GARBAGE"
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '"GARBAGE"
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS TH' at line 9
|
||||
PARTITION part2 VALUES LESS...' at line 9
|
||||
# 4.2.6 (negative) partition/subpartition numbers per @variables
|
||||
SET @aux = 5;
|
||||
CREATE TABLE t1 (
|
||||
@ -1657,7 +1657,7 @@ SUBPARTITIONS @aux = 5
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '@aux = 5
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THA' at line 9
|
||||
PARTITION part2 VALUES LESS ...' at line 9
|
||||
#------------------------------------------------------------------------
|
||||
# 4.3 Mixups of assigned partition/subpartition numbers and names
|
||||
#------------------------------------------------------------------------
|
||||
@ -1750,7 +1750,7 @@ PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart21, SUBPAR' at line 11
|
||||
(SUBPARTITION subpart21, SUB...' at line 11
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1769,7 +1769,7 @@ PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart31, SUBPAR' at line 13
|
||||
(SUBPARTITION subpart31, SUB...' at line 13
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1812,7 +1812,7 @@ PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart21, SUBPAR' at line 11
|
||||
(SUBPARTITION subpart21, SUB...' at line 11
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1831,7 +1831,7 @@ PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part2 VALUES LESS THAN (2000)
|
||||
(SUBPARTITION subpart21 ' at line 11
|
||||
(SUBPARTITION subpart21 ...' at line 11
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1848,7 +1848,7 @@ PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart21, SUBPAR' at line 11
|
||||
(SUBPARTITION subpart21, SUB...' at line 11
|
||||
|
||||
#========================================================================
|
||||
# 5. Checks of logical partition/subpartition name
|
||||
|
@ -802,7 +802,7 @@ f_char2 CHAR(20),
|
||||
f_charbig VARCHAR(1000) )
|
||||
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20)
|
||||
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)) ;
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS T' at line 7
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LES...' at line 7
|
||||
CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
f_char1 CHAR(20),
|
||||
@ -811,7 +811,7 @@ f_charbig VARCHAR(1000) )
|
||||
PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES LESS THAN (10), PARTITION part2 VALUES LESS THAN (20)
|
||||
(SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LESS T' at line 7
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near 'SUBPARTITION subpart21 , SUBPARTITION subpart22 ), PARTITION part3 VALUES LES...' at line 7
|
||||
CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
f_char1 CHAR(20),
|
||||
@ -829,7 +829,7 @@ PARTITION BY RANGE(f_int1) SUBPARTITION BY HASH(f_int1) (PARTITION part1 VALUES
|
||||
(SUBPARTITION subpart11 , SUBPARTITION subpart12 ), PARTITION part2 VALUES LESS THAN (20), PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart31 , SUBPARTITION subpart32 )) ;
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near ' PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart31 , SUBPART' at line 7
|
||||
(SUBPARTITION subpart31 , SUBP...' at line 7
|
||||
CREATE TABLE t1 ( f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
f_char1 CHAR(20),
|
||||
@ -1069,7 +1069,7 @@ SUBPARTITIONS -1
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (214' at line 9
|
||||
PARTITION part2 VALUES LESS THAN (...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1114,7 +1114,7 @@ SUBPARTITIONS 2.0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '2.0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1137,7 +1137,7 @@ SUBPARTITIONS -2.0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '-2.0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1160,7 +1160,7 @@ SUBPARTITIONS 0.0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1183,7 +1183,7 @@ SUBPARTITIONS 1.6
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '1.6
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1205,7 +1205,7 @@ SUBPARTITIONS 999999999999999999999999999999.999999999999999999999999999999
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '999999999999999999999999999999.999999999999999999999999999999
|
||||
(PARTITION part1 V' at line 9
|
||||
(PARTITION part...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1228,7 +1228,7 @@ SUBPARTITIONS 0.000000000000000000000000000001
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.000000000000000000000000000001
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITI' at line 9
|
||||
PART...' at line 9
|
||||
# 4.2.3 partition/subpartition numbers FLOAT notation
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
@ -1252,7 +1252,7 @@ SUBPARTITIONS 2.0E+0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '2.0E+0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN ' at line 9
|
||||
PARTITION part2 VALUES LESS TH...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1275,7 +1275,7 @@ SUBPARTITIONS 0.2E+1
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.2E+1
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN ' at line 9
|
||||
PARTITION part2 VALUES LESS TH...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1298,7 +1298,7 @@ SUBPARTITIONS -2.0E+0
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '-2.0E+0
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN' at line 9
|
||||
PARTITION part2 VALUES LESS T...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1321,7 +1321,7 @@ SUBPARTITIONS 0.16E+1
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.16E+1
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN' at line 9
|
||||
PARTITION part2 VALUES LESS T...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1344,7 +1344,7 @@ SUBPARTITIONS 0.0E+300
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '0.0E+300
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THA' at line 9
|
||||
PARTITION part2 VALUES LESS ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1367,7 +1367,7 @@ SUBPARTITIONS 1E+300
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '1E+300
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN ' at line 9
|
||||
PARTITION part2 VALUES LESS TH...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1390,7 +1390,7 @@ SUBPARTITIONS 1E-300
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
ERROR 42000: Only integers allowed as number here near '1E-300
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN ' at line 9
|
||||
PARTITION part2 VALUES LESS TH...' at line 9
|
||||
# 4.2.4 partition/subpartition numbers STRING notation
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
@ -1414,7 +1414,7 @@ SUBPARTITIONS '2'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''2'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1437,7 +1437,7 @@ SUBPARTITIONS '2.0'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''2.0'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (' at line 9
|
||||
PARTITION part2 VALUES LESS THA...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1460,7 +1460,7 @@ SUBPARTITIONS '0.2E+1'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''0.2E+1'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THA' at line 9
|
||||
PARTITION part2 VALUES LESS ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1483,7 +1483,7 @@ SUBPARTITIONS '2A'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''2A'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1506,7 +1506,7 @@ SUBPARTITIONS 'A2'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''A2'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1529,7 +1529,7 @@ SUBPARTITIONS ''
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '''
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (214' at line 9
|
||||
PARTITION part2 VALUES LESS THAN (...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1552,7 +1552,7 @@ SUBPARTITIONS 'GARBAGE'
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 ''GARBAGE'
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS TH' at line 9
|
||||
PARTITION part2 VALUES LESS...' at line 9
|
||||
# 4.2.5 partition/subpartition numbers other notations
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
@ -1576,7 +1576,7 @@ SUBPARTITIONS 2A
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '2A
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (214' at line 9
|
||||
PARTITION part2 VALUES LESS THAN (...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1599,7 +1599,7 @@ SUBPARTITIONS A2
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 'A2
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (214' at line 9
|
||||
PARTITION part2 VALUES LESS THAN (...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1622,7 +1622,7 @@ SUBPARTITIONS GARBAGE
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 'GARBAGE
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN' at line 9
|
||||
PARTITION part2 VALUES LESS T...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1645,7 +1645,7 @@ SUBPARTITIONS "2"
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '"2"
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (21' at line 9
|
||||
PARTITION part2 VALUES LESS THAN ...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1668,7 +1668,7 @@ SUBPARTITIONS "2A"
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '"2A"
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1691,7 +1691,7 @@ SUBPARTITIONS "A2"
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '"A2"
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THAN (2' at line 9
|
||||
PARTITION part2 VALUES LESS THAN...' at line 9
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1714,7 +1714,7 @@ SUBPARTITIONS "GARBAGE"
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '"GARBAGE"
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS TH' at line 9
|
||||
PARTITION part2 VALUES LESS...' at line 9
|
||||
# 4.2.6 (negative) partition/subpartition numbers per @variables
|
||||
SET @aux = 5;
|
||||
CREATE TABLE t1 (
|
||||
@ -1739,7 +1739,7 @@ SUBPARTITIONS @aux = 5
|
||||
PARTITION part2 VALUES LESS THAN (2147483646));
|
||||
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 '@aux = 5
|
||||
(PARTITION part1 VALUES LESS THAN (10),
|
||||
PARTITION part2 VALUES LESS THA' at line 9
|
||||
PARTITION part2 VALUES LESS ...' at line 9
|
||||
#------------------------------------------------------------------------
|
||||
# 4.3 Mixups of assigned partition/subpartition numbers and names
|
||||
#------------------------------------------------------------------------
|
||||
@ -1852,7 +1852,7 @@ PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart21, SUBPAR' at line 11
|
||||
(SUBPARTITION subpart21, SUB...' at line 11
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1871,7 +1871,7 @@ PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart31, SUBPAR' at line 13
|
||||
(SUBPARTITION subpart31, SUB...' at line 13
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1914,7 +1914,7 @@ PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart21, SUBPAR' at line 11
|
||||
(SUBPARTITION subpart21, SUB...' at line 11
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1933,7 +1933,7 @@ PARTITION part3 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part2 VALUES LESS THAN (2000)
|
||||
(SUBPARTITION subpart21 ' at line 11
|
||||
(SUBPARTITION subpart21 ...' at line 11
|
||||
CREATE TABLE t1 (
|
||||
f_int1 INTEGER DEFAULT 0,
|
||||
f_int2 INTEGER DEFAULT 0,
|
||||
@ -1950,7 +1950,7 @@ PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
);
|
||||
ERROR 42000: Wrong number of subpartitions defined, mismatch with previous setting near '),
|
||||
PARTITION part2 VALUES LESS THAN (2147483646)
|
||||
(SUBPARTITION subpart21, SUBPAR' at line 11
|
||||
(SUBPARTITION subpart21, SUB...' at line 11
|
||||
|
||||
#========================================================================
|
||||
# 5. Checks of logical partition/subpartition name
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user