mirror of
https://github.com/MariaDB/server.git
synced 2025-07-24 19:42:23 +03:00
Merge branch '10.5' into 10.6
This commit is contained in:
@ -31,7 +31,7 @@ ENDIF()
|
|||||||
# in RPM's:
|
# in RPM's:
|
||||||
|
|
||||||
#set(CPACK_RPM_SPEC_MORE_DEFINE "%define __spec_install_post /bin/true")
|
#set(CPACK_RPM_SPEC_MORE_DEFINE "%define __spec_install_post /bin/true")
|
||||||
FOREACH(p CMP0022 CMP0046 CMP0040 CMP0048 CMP0054 CMP0075 CMP0069 CMP0135)
|
FOREACH(p CMP0022 CMP0046 CMP0040 CMP0048 CMP0054 CMP0074 CMP0075 CMP0069 CMP0135)
|
||||||
IF(POLICY ${p})
|
IF(POLICY ${p})
|
||||||
CMAKE_POLICY(SET ${p} NEW)
|
CMAKE_POLICY(SET ${p} NEW)
|
||||||
ENDIF()
|
ENDIF()
|
||||||
@ -186,7 +186,7 @@ ENDIF()
|
|||||||
OPTION (WITH_UNIT_TESTS "Compile MySQL with unit tests" ON)
|
OPTION (WITH_UNIT_TESTS "Compile MySQL with unit tests" ON)
|
||||||
|
|
||||||
IF (WITHOUT_SERVER)
|
IF (WITHOUT_SERVER)
|
||||||
SET (SKIP_COMPONENTS "Server|IniFiles|SuportFiles|Readme")
|
SET (SKIP_COMPONENTS "Server|IniFiles|SupportFiles|Readme")
|
||||||
ELSE()
|
ELSE()
|
||||||
SET (SKIP_COMPONENTS "N-O-N-E")
|
SET (SKIP_COMPONENTS "N-O-N-E")
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
@ -18,7 +18,7 @@ INCLUDE_DIRECTORIES(
|
|||||||
${CMAKE_SOURCE_DIR}/include
|
${CMAKE_SOURCE_DIR}/include
|
||||||
${PCRE_INCLUDE_DIRS}
|
${PCRE_INCLUDE_DIRS}
|
||||||
${CMAKE_SOURCE_DIR}/mysys_ssl
|
${CMAKE_SOURCE_DIR}/mysys_ssl
|
||||||
${ZLIB_INCLUDE_DIR}
|
${ZLIB_INCLUDE_DIRS}
|
||||||
${SSL_INCLUDE_DIRS}
|
${SSL_INCLUDE_DIRS}
|
||||||
${CMAKE_SOURCE_DIR}/sql
|
${CMAKE_SOURCE_DIR}/sql
|
||||||
${CMAKE_SOURCE_DIR}/strings
|
${CMAKE_SOURCE_DIR}/strings
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2001, 2012, Oracle and/or its affiliates.
|
Copyright (c) 2001, 2012, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2009, 2022, MariaDB
|
Copyright (c) 2009, 2024, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -38,74 +38,32 @@ enum options_client
|
|||||||
{
|
{
|
||||||
OPT_CHARSETS_DIR=256, OPT_DEFAULT_CHARSET,
|
OPT_CHARSETS_DIR=256, OPT_DEFAULT_CHARSET,
|
||||||
OPT_PAGER, OPT_TEE,
|
OPT_PAGER, OPT_TEE,
|
||||||
OPT_LOW_PRIORITY, OPT_AUTO_REPAIR, OPT_COMPRESS,
|
OPT_OPTIMIZE,
|
||||||
OPT_DROP, OPT_LOCKS, OPT_KEYWORDS, OPT_DELAYED, OPT_OPTIMIZE,
|
OPT_TABLES,
|
||||||
OPT_FTB, OPT_LTB, OPT_ENC, OPT_O_ENC, OPT_ESC, OPT_TABLES,
|
OPT_MASTER_DATA,
|
||||||
OPT_MASTER_DATA, OPT_AUTOCOMMIT, OPT_AUTO_REHASH,
|
|
||||||
OPT_LINE_NUMBERS, OPT_COLUMN_NAMES, OPT_CONNECT_TIMEOUT,
|
|
||||||
OPT_MAX_ALLOWED_PACKET, OPT_NET_BUFFER_LENGTH,
|
|
||||||
OPT_SELECT_LIMIT, OPT_MAX_JOIN_SIZE, OPT_SSL_SSL,
|
|
||||||
OPT_SSL_KEY, OPT_SSL_CERT, OPT_SSL_CA, OPT_SSL_CAPATH,
|
OPT_SSL_KEY, OPT_SSL_CERT, OPT_SSL_CA, OPT_SSL_CAPATH,
|
||||||
OPT_SSL_CIPHER, OPT_TLS_VERSION, OPT_SHUTDOWN_TIMEOUT, OPT_LOCAL_INFILE,
|
OPT_SSL_CIPHER, OPT_LOCAL_INFILE,
|
||||||
OPT_DELETE_MASTER_LOGS, OPT_COMPACT,
|
OPT_COMPACT,
|
||||||
OPT_PROMPT, OPT_IGN_LINES,OPT_TRANSACTION,OPT_MYSQL_PROTOCOL,
|
OPT_MYSQL_PROTOCOL,
|
||||||
OPT_FRM, OPT_SKIP_OPTIMIZATION,
|
OPT_SKIP_OPTIMIZATION,
|
||||||
OPT_COMPATIBLE, OPT_RECONNECT, OPT_DELIMITER, OPT_SECURE_AUTH,
|
OPT_COMPATIBLE, OPT_DELIMITER,
|
||||||
OPT_OPEN_FILES_LIMIT, OPT_SET_CHARSET, OPT_SERVER_ARG,
|
OPT_SERVER_ARG,
|
||||||
OPT_STOP_POSITION, OPT_START_DATETIME, OPT_STOP_DATETIME,
|
OPT_START_DATETIME, OPT_STOP_DATETIME,
|
||||||
OPT_SIGINT_IGNORE, OPT_HEXBLOB, OPT_ORDER_BY_PRIMARY, OPT_COUNT,
|
|
||||||
OPT_FLUSH_TABLES,
|
|
||||||
OPT_TRIGGERS,
|
|
||||||
OPT_MYSQL_ONLY_PRINT,
|
|
||||||
OPT_MYSQL_LOCK_DIRECTORY,
|
|
||||||
OPT_USE_THREADS,
|
|
||||||
OPT_IMPORT_USE_THREADS,
|
|
||||||
OPT_MYSQL_NUMBER_OF_QUERY,
|
|
||||||
OPT_IGNORE_DATABASE,
|
OPT_IGNORE_DATABASE,
|
||||||
OPT_IGNORE_TABLE,OPT_INSERT_IGNORE,OPT_SHOW_WARNINGS,OPT_DROP_DATABASE,
|
OPT_IGNORE_TABLE,
|
||||||
OPT_TZ_UTC, OPT_CREATE_SLAP_SCHEMA,
|
|
||||||
OPT_MYSQLDUMP_SLAVE_APPLY,
|
|
||||||
OPT_MYSQLDUMP_SLAVE_DATA,
|
OPT_MYSQLDUMP_SLAVE_DATA,
|
||||||
OPT_MYSQLDUMP_INCLUDE_MASTER_HOST_PORT,
|
OPT_SLAP_CSV,
|
||||||
#ifdef WHEN_FLASHBACK_REVIEW_READY
|
OPT_BASE64_OUTPUT_MODE,
|
||||||
OPT_REVIEW,
|
OPT_FIX_TABLE_NAMES, OPT_FIX_DB_NAMES,
|
||||||
OPT_REVIEW_DBNAME, OPT_REVIEW_TABLENAME,
|
OPT_WRITE_BINLOG,
|
||||||
#endif
|
|
||||||
OPT_SLAP_CSV, OPT_SLAP_CREATE_STRING,
|
|
||||||
OPT_SLAP_AUTO_GENERATE_SQL_LOAD_TYPE, OPT_SLAP_AUTO_GENERATE_WRITE_NUM,
|
|
||||||
OPT_SLAP_AUTO_GENERATE_ADD_AUTO,
|
|
||||||
OPT_SLAP_AUTO_GENERATE_GUID_PRIMARY,
|
|
||||||
OPT_SLAP_AUTO_GENERATE_EXECUTE_QUERIES,
|
|
||||||
OPT_SLAP_AUTO_GENERATE_SECONDARY_INDEXES,
|
|
||||||
OPT_SLAP_AUTO_GENERATE_UNIQUE_WRITE_NUM,
|
|
||||||
OPT_SLAP_AUTO_GENERATE_UNIQUE_QUERY_NUM,
|
|
||||||
OPT_SLAP_PRE_QUERY,
|
|
||||||
OPT_SLAP_POST_QUERY,
|
|
||||||
OPT_SLAP_PRE_SYSTEM,
|
|
||||||
OPT_SLAP_POST_SYSTEM,
|
|
||||||
OPT_SLAP_COMMIT,
|
|
||||||
OPT_SLAP_DETACH,
|
|
||||||
OPT_SLAP_NO_DROP,
|
|
||||||
OPT_MYSQL_REPLACE_INTO, OPT_BASE64_OUTPUT_MODE, OPT_SERVER_ID,
|
|
||||||
OPT_FIX_TABLE_NAMES, OPT_FIX_DB_NAMES, OPT_SSL_VERIFY_SERVER_CERT,
|
|
||||||
OPT_AUTO_VERTICAL_OUTPUT,
|
|
||||||
OPT_DEBUG_INFO, OPT_DEBUG_CHECK, OPT_COLUMN_TYPES, OPT_ERROR_LOG_FILE,
|
|
||||||
OPT_WRITE_BINLOG, OPT_DUMP_DATE,
|
|
||||||
OPT_INIT_COMMAND,
|
|
||||||
OPT_PLUGIN_DIR,
|
OPT_PLUGIN_DIR,
|
||||||
OPT_DEFAULT_AUTH,
|
OPT_DEFAULT_AUTH,
|
||||||
OPT_ABORT_SOURCE_ON_ERROR,
|
|
||||||
OPT_REWRITE_DB,
|
OPT_REWRITE_DB,
|
||||||
OPT_REPORT_PROGRESS,
|
|
||||||
OPT_SKIP_ANNOTATE_ROWS_EVENTS,
|
|
||||||
OPT_SSL_CRL, OPT_SSL_CRLPATH,
|
OPT_SSL_CRL, OPT_SSL_CRLPATH,
|
||||||
OPT_IGNORE_DATA,
|
OPT_IGNORE_DATA,
|
||||||
OPT_PRINT_ROW_COUNT, OPT_PRINT_ROW_EVENT_POSITIONS,
|
OPT_PRINT_ROW_COUNT, OPT_PRINT_ROW_EVENT_POSITIONS,
|
||||||
OPT_CHECK_IF_UPGRADE_NEEDED,
|
OPT_CHECK_IF_UPGRADE_NEEDED,
|
||||||
OPT_COMPATIBILTY_CLEARTEXT_PLUGIN,
|
OPT_COMPATIBILTY_CLEARTEXT_PLUGIN,
|
||||||
OPT_SHUTDOWN_WAIT_FOR_SLAVES,
|
|
||||||
OPT_COPY_S3_TABLES,
|
|
||||||
OPT_PRINT_TABLE_METADATA,
|
|
||||||
OPT_MAX_CLIENT_OPTION /* should be always the last */
|
OPT_MAX_CLIENT_OPTION /* should be always the last */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
373
client/mysql.cc
373
client/mysql.cc
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2018, Oracle and/or its affiliates.
|
Copyright (c) 2000, 2018, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2009, 2022, MariaDB Corporation.
|
Copyright (c) 2009, 2024, MariaDB Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -136,7 +136,7 @@ typedef struct st_status
|
|||||||
ulong query_start_line;
|
ulong query_start_line;
|
||||||
char *file_name;
|
char *file_name;
|
||||||
LINE_BUFFER *line_buff;
|
LINE_BUFFER *line_buff;
|
||||||
bool batch,add_to_history;
|
bool batch, add_to_history, sandbox;
|
||||||
} STATUS;
|
} STATUS;
|
||||||
|
|
||||||
|
|
||||||
@ -154,7 +154,7 @@ static my_bool ignore_errors=0,wait_flag=0,quick=0,
|
|||||||
vertical=0, line_numbers=1, column_names=1,opt_html=0,
|
vertical=0, line_numbers=1, column_names=1,opt_html=0,
|
||||||
opt_xml=0,opt_nopager=1, opt_outfile=0, named_cmds= 0,
|
opt_xml=0,opt_nopager=1, opt_outfile=0, named_cmds= 0,
|
||||||
tty_password= 0, opt_nobeep=0, opt_reconnect=1,
|
tty_password= 0, opt_nobeep=0, opt_reconnect=1,
|
||||||
opt_secure_auth= 0,
|
opt_secure_auth= 0,
|
||||||
default_pager_set= 0, opt_sigint_ignore= 0,
|
default_pager_set= 0, opt_sigint_ignore= 0,
|
||||||
auto_vertical_output= 0,
|
auto_vertical_output= 0,
|
||||||
show_warnings= 0, executing_query= 0,
|
show_warnings= 0, executing_query= 0,
|
||||||
@ -235,7 +235,8 @@ static int com_quit(String *str,char*),
|
|||||||
com_rehash(String *str, char*), com_tee(String *str, char*),
|
com_rehash(String *str, char*), com_tee(String *str, char*),
|
||||||
com_notee(String *str, char*), com_charset(String *str,char*),
|
com_notee(String *str, char*), com_charset(String *str,char*),
|
||||||
com_prompt(String *str, char*), com_delimiter(String *str, char*),
|
com_prompt(String *str, char*), com_delimiter(String *str, char*),
|
||||||
com_warnings(String *str, char*), com_nowarnings(String *str, char*);
|
com_warnings(String *str, char*), com_nowarnings(String *str, char*),
|
||||||
|
com_sandbox(String *str, char*);
|
||||||
|
|
||||||
#ifdef USE_POPEN
|
#ifdef USE_POPEN
|
||||||
static int com_nopager(String *str, char*), com_pager(String *str, char*),
|
static int com_nopager(String *str, char*), com_pager(String *str, char*),
|
||||||
@ -283,11 +284,12 @@ typedef struct {
|
|||||||
|
|
||||||
static COMMANDS commands[] = {
|
static COMMANDS commands[] = {
|
||||||
{ "?", '?', com_help, 1, "Synonym for `help'." },
|
{ "?", '?', com_help, 1, "Synonym for `help'." },
|
||||||
|
{ "charset", 'C', com_charset, 1,
|
||||||
|
"Switch to another charset. Might be needed for processing binlog with multi-byte charsets." },
|
||||||
{ "clear", 'c', com_clear, 0, "Clear the current input statement."},
|
{ "clear", 'c', com_clear, 0, "Clear the current input statement."},
|
||||||
{ "connect",'r', com_connect,1,
|
{ "connect",'r', com_connect,1,
|
||||||
"Reconnect to the server. Optional arguments are db and host." },
|
"Reconnect to the server. Optional arguments are db and host." },
|
||||||
{ "delimiter", 'd', com_delimiter, 1,
|
{ "delimiter", 'd', com_delimiter, 1, "Set statement delimiter." },
|
||||||
"Set statement delimiter." },
|
|
||||||
#ifdef USE_POPEN
|
#ifdef USE_POPEN
|
||||||
{ "edit", 'e', com_edit, 0, "Edit command with $EDITOR."},
|
{ "edit", 'e', com_edit, 0, "Edit command with $EDITOR."},
|
||||||
#endif
|
#endif
|
||||||
@ -300,6 +302,8 @@ static COMMANDS commands[] = {
|
|||||||
{ "nopager",'n', com_nopager,0, "Disable pager, print to stdout." },
|
{ "nopager",'n', com_nopager,0, "Disable pager, print to stdout." },
|
||||||
#endif
|
#endif
|
||||||
{ "notee", 't', com_notee, 0, "Don't write into outfile." },
|
{ "notee", 't', com_notee, 0, "Don't write into outfile." },
|
||||||
|
{ "nowarning", 'w', com_nowarnings, 0,
|
||||||
|
"Don't show warnings after every statement." },
|
||||||
#ifdef USE_POPEN
|
#ifdef USE_POPEN
|
||||||
{ "pager", 'P', com_pager, 1,
|
{ "pager", 'P', com_pager, 1,
|
||||||
"Set PAGER [to_pager]. Print the query results via PAGER." },
|
"Set PAGER [to_pager]. Print the query results via PAGER." },
|
||||||
@ -308,6 +312,8 @@ static COMMANDS commands[] = {
|
|||||||
{ "prompt", 'R', com_prompt, 1, "Change your mysql prompt."},
|
{ "prompt", 'R', com_prompt, 1, "Change your mysql prompt."},
|
||||||
{ "quit", 'q', com_quit, 0, "Quit mysql." },
|
{ "quit", 'q', com_quit, 0, "Quit mysql." },
|
||||||
{ "rehash", '#', com_rehash, 0, "Rebuild completion hash." },
|
{ "rehash", '#', com_rehash, 0, "Rebuild completion hash." },
|
||||||
|
{ "sandbox", '-', com_sandbox, 0,
|
||||||
|
"Disallow commands that access the file system (except \\P without an argument and \\e)." },
|
||||||
{ "source", '.', com_source, 1,
|
{ "source", '.', com_source, 1,
|
||||||
"Execute an SQL script file. Takes a file name as an argument."},
|
"Execute an SQL script file. Takes a file name as an argument."},
|
||||||
{ "status", 's', com_status, 0, "Get status information from the server."},
|
{ "status", 's', com_status, 0, "Get status information from the server."},
|
||||||
@ -318,12 +324,8 @@ static COMMANDS commands[] = {
|
|||||||
"Set outfile [to_outfile]. Append everything into given outfile." },
|
"Set outfile [to_outfile]. Append everything into given outfile." },
|
||||||
{ "use", 'u', com_use, 1,
|
{ "use", 'u', com_use, 1,
|
||||||
"Use another database. Takes database name as argument." },
|
"Use another database. Takes database name as argument." },
|
||||||
{ "charset", 'C', com_charset, 1,
|
|
||||||
"Switch to another charset. Might be needed for processing binlog with multi-byte charsets." },
|
|
||||||
{ "warnings", 'W', com_warnings, 0,
|
{ "warnings", 'W', com_warnings, 0,
|
||||||
"Show warnings after every statement." },
|
"Show warnings after every statement." },
|
||||||
{ "nowarning", 'w', com_nowarnings, 0,
|
|
||||||
"Don't show warnings after every statement." },
|
|
||||||
/* Get bash-like expansion for some commands */
|
/* Get bash-like expansion for some commands */
|
||||||
{ "create table", 0, 0, 0, ""},
|
{ "create table", 0, 0, 0, ""},
|
||||||
{ "create database", 0, 0, 0, ""},
|
{ "create database", 0, 0, 0, ""},
|
||||||
@ -1503,35 +1505,47 @@ static struct my_option my_long_options[] =
|
|||||||
0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0},
|
||||||
{"help", 'I', "Synonym for -?", 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
|
{"help", 'I', "Synonym for -?", 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
|
||||||
0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0},
|
||||||
{"abort-source-on-error", OPT_ABORT_SOURCE_ON_ERROR,
|
{"abort-source-on-error", 0,
|
||||||
"Abort 'source filename' operations in case of errors",
|
"Abort 'source filename' operations in case of errors",
|
||||||
&batch_abort_on_error, &batch_abort_on_error, 0,
|
&batch_abort_on_error, &batch_abort_on_error, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"auto-rehash", OPT_AUTO_REHASH,
|
{"auto-rehash", 0,
|
||||||
"Enable automatic rehashing. One doesn't need to use 'rehash' to get table "
|
"Enable automatic rehashing. One doesn't need to use 'rehash' to get table "
|
||||||
"and field completion, but startup and reconnecting may take a longer time. "
|
"and field completion, but startup and reconnecting may take a longer time.",
|
||||||
"Disable with --disable-auto-rehash.",
|
&opt_rehash, &opt_rehash, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
&opt_rehash, &opt_rehash, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0,
|
|
||||||
0, 0},
|
|
||||||
{"no-auto-rehash", 'A',
|
{"no-auto-rehash", 'A',
|
||||||
"No automatic rehashing. One has to use 'rehash' to get table and field "
|
"No automatic rehashing. One has to use 'rehash' to get table and field "
|
||||||
"completion. This gives a quicker start of mysql and disables rehashing "
|
"completion. This gives a quicker start of mysql and disables rehashing "
|
||||||
"on reconnect.",
|
"on reconnect.",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"auto-vertical-output", OPT_AUTO_VERTICAL_OUTPUT,
|
{"auto-vertical-output", 0,
|
||||||
"Automatically switch to vertical output mode if the result is wider "
|
"Automatically switch to vertical output mode if the result is wider "
|
||||||
"than the terminal width.",
|
"than the terminal width.", &auto_vertical_output, &auto_vertical_output,
|
||||||
&auto_vertical_output, &auto_vertical_output, 0, GET_BOOL, NO_ARG, 0,
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
0, 0, 0, 0, 0},
|
|
||||||
{"batch", 'B',
|
{"batch", 'B',
|
||||||
"Don't use history file. Disable interactive behavior. (Enables --silent.)",
|
"Don't use history file. Disable interactive behavior. (Enables --silent.)",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"binary-as-hex", 0, "Print binary data as hex", &opt_binhex, &opt_binhex,
|
{"binary-as-hex", 0, "Print binary data as hex", &opt_binhex, &opt_binhex,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"binary-mode", 0,
|
||||||
|
"Binary mode allows certain character sequences to be processed as data "
|
||||||
|
"that would otherwise be treated with a special meaning by the parser. "
|
||||||
|
"Specifically, this switch turns off parsing of all client commands except "
|
||||||
|
"\\C and DELIMITER in non-interactive mode (i.e., when binary mode is "
|
||||||
|
"combined with either 1) piped input, 2) the --batch mysql option, or 3) "
|
||||||
|
"the 'source' command). Also, in binary mode, occurrences of '\\r\\n' and "
|
||||||
|
"ASCII '\\0' are preserved within strings, whereas by default, '\\r\\n' is "
|
||||||
|
"translated to '\\n' and '\\0' is disallowed in user input.",
|
||||||
|
&opt_binary_mode, &opt_binary_mode, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", OPT_CHARSETS_DIR,
|
||||||
"Directory for character set files.", &charsets_dir,
|
"Directory for character set files.", &charsets_dir,
|
||||||
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"column-type-info", OPT_COLUMN_TYPES, "Display column type information.",
|
{"column-names", 0, "Write column names in results.",
|
||||||
|
&column_names, &column_names, 0, GET_BOOL,
|
||||||
|
NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
|
{"skip-column-names", 'N', "Don't write column names in results.", 0, 0, 0,
|
||||||
|
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"column-type-info", 0, "Display column type information.",
|
||||||
&column_types_flag, &column_types_flag,
|
&column_types_flag, &column_types_flag,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"comments", 'c', "Preserve comments. Send comments to the server."
|
{"comments", 'c', "Preserve comments. Send comments to the server."
|
||||||
@ -1541,6 +1555,16 @@ static struct my_option my_long_options[] =
|
|||||||
{"compress", 'C', "Use compression in server/client protocol.",
|
{"compress", 'C', "Use compression in server/client protocol.",
|
||||||
&opt_compress, &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_compress, &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
|
{"connect-expired-password", 0,
|
||||||
|
"Notify the server that this client is prepared to handle expired "
|
||||||
|
"password sandbox mode even if --batch was specified.",
|
||||||
|
&opt_connect_expired_password, &opt_connect_expired_password, 0, GET_BOOL,
|
||||||
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"connect_timeout", 0, "Number of seconds before connection timeout.",
|
||||||
|
&opt_connect_timeout, &opt_connect_timeout, 0, GET_ULONG, REQUIRED_ARG,
|
||||||
|
0, 0, 3600*12, 0, 0, 0},
|
||||||
|
{"database", 'D', "Database to use.", ¤t_db,
|
||||||
|
¤t_db, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#ifdef DBUG_OFF
|
#ifdef DBUG_OFF
|
||||||
{"debug", '#', "This is a non-debug version. Catch this and exit.",
|
{"debug", '#', "This is a non-debug version. Catch this and exit.",
|
||||||
0,0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
0,0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -1548,70 +1572,64 @@ static struct my_option my_long_options[] =
|
|||||||
{"debug", '#', "Output debug log.", &default_dbug_option,
|
{"debug", '#', "Output debug log.", &default_dbug_option,
|
||||||
&default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
&default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
|
{"debug-check", 0, "Check memory and open file usage at exit.",
|
||||||
&debug_check_flag, &debug_check_flag, 0,
|
&debug_check_flag, &debug_check_flag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", 'T', "Print some debug info at exit.", &debug_info_flag,
|
{"debug-info", 'T', "Print some debug info at exit.", &debug_info_flag,
|
||||||
&debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"database", 'D', "Database to use.", ¤t_db,
|
{"default-auth", 0, "Default authentication client-side plugin to use.",
|
||||||
¤t_db, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_default_auth, &opt_default_auth, 0,
|
||||||
{"default-character-set", OPT_DEFAULT_CHARSET,
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"default-character-set", 0,
|
||||||
"Set the default character set.", &default_charset,
|
"Set the default character set.", &default_charset,
|
||||||
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"delimiter", OPT_DELIMITER, "Delimiter to be used.", &delimiter_str,
|
{"delimiter", OPT_DELIMITER, "Delimiter to be used.", &delimiter_str,
|
||||||
&delimiter_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&delimiter_str, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"enable-cleartext-plugin", OPT_COMPATIBILTY_CLEARTEXT_PLUGIN,
|
||||||
|
"Obsolete option. Exists only for MySQL compatibility.",
|
||||||
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"execute", 'e', "Execute command and quit. (Disables --force and history file.)", 0,
|
{"execute", 'e', "Execute command and quit. (Disables --force and history file.)", 0,
|
||||||
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"enable-cleartext-plugin", OPT_COMPATIBILTY_CLEARTEXT_PLUGIN, "Obsolete option. Exists only for MySQL compatibility.",
|
{"force", 'f',
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
"Continue even if we get an SQL error. Sets abort-source-on-error to 0",
|
||||||
{"vertical", 'E', "Print the output of a query (rows) vertically.",
|
&ignore_errors, &ignore_errors, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
&vertical, &vertical, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
{"host", 'h', "Connect to host.", ¤t_host,
|
||||||
0},
|
¤t_host, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"force", 'f', "Continue even if we get an SQL error. Sets abort-source-on-error to 0",
|
{"html", 'H', "Produce HTML output.", &opt_html, &opt_html,
|
||||||
&ignore_errors, &ignore_errors, 0, GET_BOOL, NO_ARG, 0, 0,
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
0, 0, 0, 0},
|
{"ignore-spaces", 'i', "Ignore space after function names.",
|
||||||
|
&ignore_spaces, &ignore_spaces, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"init-command", 0,
|
||||||
|
"SQL Command to execute when connecting to MariaDB server. Will "
|
||||||
|
"automatically be re-executed when reconnecting.", &opt_init_command,
|
||||||
|
&opt_init_command, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"line-numbers", 0, "Write line numbers for errors.",
|
||||||
|
&line_numbers, &line_numbers, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
|
{"skip-line-numbers", 'L', "Don't write line number for errors.", 0, 0, 0,
|
||||||
|
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"local-infile", OPT_LOCAL_INFILE, "Enable LOAD DATA LOCAL INFILE.",
|
||||||
|
&opt_local_infile, &opt_local_infile, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"max-allowed-packet", 0,
|
||||||
|
"The maximum packet length to send to or receive from server.",
|
||||||
|
&opt_max_allowed_packet, &opt_max_allowed_packet, 0, GET_ULONG,
|
||||||
|
REQUIRED_ARG, 16*1024LL*1024LL, 4096, 2*1024LL*1024LL*1024LL, 0, 1024, 0},
|
||||||
|
{"max-join-size", 0,
|
||||||
|
"Automatic limit for rows in a join when using --safe-updates.",
|
||||||
|
&max_join_size, &max_join_size, 0, GET_ULONG, REQUIRED_ARG, 1000000L,
|
||||||
|
1, ULONG_MAX, 0, 1, 0},
|
||||||
{"named-commands", 'G',
|
{"named-commands", 'G',
|
||||||
"Enable named commands. Named commands mean this program's internal "
|
"Enable named commands. Named commands mean this program's internal "
|
||||||
"commands; see mysql> help . When enabled, the named commands can be "
|
"commands; see mysql> help . When enabled, the named commands can be "
|
||||||
"used from any line of the query, otherwise only from the first line, "
|
"used from any line of the query, otherwise only from the first line, "
|
||||||
"before an enter. Disable with --disable-named-commands. This option "
|
"before an enter. Disable with --disable-named-commands. This option "
|
||||||
"is disabled by default.",
|
"is disabled by default.",
|
||||||
&named_cmds, &named_cmds, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
&named_cmds, &named_cmds, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
0, 0},
|
{"net-buffer-length", 0,
|
||||||
{"ignore-spaces", 'i', "Ignore space after function names.",
|
"The buffer size for TCP/IP and socket communication.",
|
||||||
&ignore_spaces, &ignore_spaces, 0, GET_BOOL, NO_ARG, 0, 0,
|
&opt_net_buffer_length, &opt_net_buffer_length, 0, GET_ULONG,
|
||||||
0, 0, 0, 0},
|
REQUIRED_ARG, 16384, 1024, 512*1024ULL*1024ULL, MALLOC_OVERHEAD, 1024, 0},
|
||||||
{"init-command", OPT_INIT_COMMAND,
|
|
||||||
"SQL Command to execute when connecting to MariaDB server. Will "
|
|
||||||
"automatically be re-executed when reconnecting.",
|
|
||||||
&opt_init_command, &opt_init_command, 0,
|
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"local-infile", OPT_LOCAL_INFILE, "Enable/disable LOAD DATA LOCAL INFILE.",
|
|
||||||
&opt_local_infile, &opt_local_infile, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"no-beep", 'b', "Turn off beep on error.", &opt_nobeep,
|
{"no-beep", 'b', "Turn off beep on error.", &opt_nobeep,
|
||||||
&opt_nobeep, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_nobeep, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"host", 'h', "Connect to host.", ¤t_host,
|
|
||||||
¤t_host, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"html", 'H', "Produce HTML output.", &opt_html, &opt_html,
|
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"xml", 'X', "Produce XML output.", &opt_xml, &opt_xml, 0,
|
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"line-numbers", OPT_LINE_NUMBERS, "Write line numbers for errors.",
|
|
||||||
&line_numbers, &line_numbers, 0, GET_BOOL,
|
|
||||||
NO_ARG, 1, 0, 0, 0, 0, 0},
|
|
||||||
{"skip-line-numbers", 'L', "Don't write line number for errors.", 0, 0, 0, GET_NO_ARG,
|
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"unbuffered", 'n', "Flush buffer after each query.", &unbuffered,
|
|
||||||
&unbuffered, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"column-names", OPT_COLUMN_NAMES, "Write column names in results.",
|
|
||||||
&column_names, &column_names, 0, GET_BOOL,
|
|
||||||
NO_ARG, 1, 0, 0, 0, 0, 0},
|
|
||||||
{"skip-column-names", 'N',
|
|
||||||
"Don't write column names in results.",
|
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"sigint-ignore", OPT_SIGINT_IGNORE, "Ignore SIGINT (CTRL-C).",
|
|
||||||
&opt_sigint_ignore, &opt_sigint_ignore, 0, GET_BOOL,
|
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"one-database", 'o',
|
{"one-database", 'o',
|
||||||
"Ignore statements except those that occur while the default "
|
"Ignore statements except those that occur while the default "
|
||||||
"database is the one named at the command line.",
|
"database is the one named at the command line.",
|
||||||
@ -1632,19 +1650,20 @@ static struct my_option my_long_options[] =
|
|||||||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
|
{"plugin-dir", 0, "Directory for client-side plugins.", &opt_plugin_dir,
|
||||||
|
&opt_plugin_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||||
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
"order of preference, my.cnf, $MYSQL_TCP_PORT, "
|
||||||
#if MYSQL_PORT_DEFAULT == 0
|
#if MYSQL_PORT_DEFAULT == 0
|
||||||
"/etc/services, "
|
"/etc/services, "
|
||||||
#endif
|
#endif
|
||||||
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").",
|
"built-in default (" STRINGIFY_ARG(MYSQL_PORT) ").", &opt_mysql_port,
|
||||||
&opt_mysql_port,
|
&opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
&opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
{"progress-reports", 0,
|
||||||
{"progress-reports", OPT_REPORT_PROGRESS,
|
|
||||||
"Get progress reports for long running commands (like ALTER TABLE)",
|
"Get progress reports for long running commands (like ALTER TABLE)",
|
||||||
&opt_progress_reports, &opt_progress_reports, 0, GET_BOOL, NO_ARG, 1, 0,
|
&opt_progress_reports, &opt_progress_reports, 0, GET_BOOL, NO_ARG, 1, 0,
|
||||||
0, 0, 0, 0},
|
0, 0, 0, 0},
|
||||||
{"prompt", OPT_PROMPT, "Set the command line prompt to this value.",
|
{"prompt", 0, "Set the command line prompt to this value.",
|
||||||
¤t_prompt, ¤t_prompt, 0, GET_STR_ALLOC,
|
¤t_prompt, ¤t_prompt, 0, GET_STR_ALLOC,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"protocol", OPT_MYSQL_PROTOCOL, "The protocol to use for connection (tcp, socket, pipe).",
|
{"protocol", OPT_MYSQL_PROTOCOL, "The protocol to use for connection (tcp, socket, pipe).",
|
||||||
@ -1655,11 +1674,27 @@ static struct my_option my_long_options[] =
|
|||||||
"if the output is suspended. Doesn't use history file.",
|
"if the output is suspended. Doesn't use history file.",
|
||||||
&quick, &quick, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&quick, &quick, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"raw", 'r', "Write fields without conversion. Used with --batch.",
|
{"raw", 'r', "Write fields without conversion. Used with --batch.",
|
||||||
&opt_raw_data, &opt_raw_data, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_raw_data, &opt_raw_data, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
0, 0, 0},
|
{"reconnect", 0, "Reconnect if the connection is lost.",
|
||||||
{"reconnect", OPT_RECONNECT, "Reconnect if the connection is lost. Disable "
|
|
||||||
"with --disable-reconnect. This option is enabled by default.",
|
|
||||||
&opt_reconnect, &opt_reconnect, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
&opt_reconnect, &opt_reconnect, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
|
{"safe-updates", 'U', "Only allow UPDATE and DELETE that uses keys.",
|
||||||
|
&safe_updates, &safe_updates, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"i-am-a-dummy", 'U', "Synonym for option --safe-updates, -U.",
|
||||||
|
&safe_updates, &safe_updates, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"sandbox", 0, "Disallow commands that access the file system (except \\P without an argument and \\e).",
|
||||||
|
&status.sandbox, &status.sandbox, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"secure-auth", 0, "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, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"select-limit", 0,
|
||||||
|
"Automatic limit for SELECT when using --safe-updates.", &select_limit,
|
||||||
|
&select_limit, 0, GET_ULONG, REQUIRED_ARG, 1000L, 1, ULONG_MAX, 0, 1, 0},
|
||||||
|
{"server-arg", OPT_SERVER_ARG, "Send embedded server this as a parameter.",
|
||||||
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"show-warnings", 0, "Show warnings after every statement.",
|
||||||
|
&show_warnings, &show_warnings, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"sigint-ignore", 0, "Ignore SIGINT (CTRL-C).", &opt_sigint_ignore,
|
||||||
|
&opt_sigint_ignore, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"silent", 's', "Be more silent. Print results with a tab as separator, "
|
{"silent", 's', "Be more silent. Print results with a tab as separator, "
|
||||||
"each row on new line.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
"each row on new line.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"socket", 'S', "The socket file to use for connection.",
|
{"socket", 'S', "The socket file to use for connection.",
|
||||||
@ -1673,73 +1708,22 @@ static struct my_option my_long_options[] =
|
|||||||
"Does not work in batch mode. Disable with --disable-tee. "
|
"Does not work in batch mode. Disable with --disable-tee. "
|
||||||
"This option is disabled by default.",
|
"This option is disabled by default.",
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"unbuffered", 'n', "Flush buffer after each query.", &unbuffered,
|
||||||
|
&unbuffered, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#ifndef DONT_ALLOW_USER_CHANGE
|
#ifndef DONT_ALLOW_USER_CHANGE
|
||||||
{"user", 'u', "User for login if not current user.", ¤t_user,
|
{"user", 'u', "User for login if not current user.", ¤t_user,
|
||||||
¤t_user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
¤t_user, 0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"safe-updates", 'U', "Only allow UPDATE and DELETE that uses keys.",
|
|
||||||
&safe_updates, &safe_updates, 0, GET_BOOL, NO_ARG, 0, 0,
|
|
||||||
0, 0, 0, 0},
|
|
||||||
{"i-am-a-dummy", 'U', "Synonym for option --safe-updates, -U.",
|
|
||||||
&safe_updates, &safe_updates, 0, GET_BOOL, NO_ARG, 0, 0,
|
|
||||||
0, 0, 0, 0},
|
|
||||||
{"verbose", 'v', "Write more. (-v -v -v gives the table output format).", 0,
|
{"verbose", 'v', "Write more. (-v -v -v gives the table output format).", 0,
|
||||||
0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"version", 'V', "Output version information and exit.", 0, 0, 0,
|
{"version", 'V', "Output version information and exit.", 0, 0, 0,
|
||||||
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
{"vertical", 'E', "Print the output of a query (rows) vertically.",
|
||||||
|
&vertical, &vertical, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"wait", 'w', "Wait and retry if connection is down.", 0, 0, 0, GET_NO_ARG,
|
{"wait", 'w', "Wait and retry if connection is down.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"connect_timeout", OPT_CONNECT_TIMEOUT,
|
{"xml", 'X', "Produce XML output.", &opt_xml, &opt_xml, 0,
|
||||||
"Number of seconds before connection timeout.",
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
&opt_connect_timeout, &opt_connect_timeout, 0, GET_ULONG, REQUIRED_ARG,
|
|
||||||
0, 0, 3600*12, 0, 0, 0},
|
|
||||||
{"max_allowed_packet", OPT_MAX_ALLOWED_PACKET,
|
|
||||||
"The maximum packet length to send to or receive from server.",
|
|
||||||
&opt_max_allowed_packet, &opt_max_allowed_packet, 0,
|
|
||||||
GET_ULONG, REQUIRED_ARG, 16 *1024L*1024L, 4096,
|
|
||||||
(longlong) 2*1024L*1024L*1024L, MALLOC_OVERHEAD, 1024, 0},
|
|
||||||
{"net_buffer_length", OPT_NET_BUFFER_LENGTH,
|
|
||||||
"The buffer size for TCP/IP and socket communication.",
|
|
||||||
&opt_net_buffer_length, &opt_net_buffer_length, 0, GET_ULONG,
|
|
||||||
REQUIRED_ARG, 16384, 1024, 512*1024*1024L, MALLOC_OVERHEAD, 1024, 0},
|
|
||||||
{"select_limit", OPT_SELECT_LIMIT,
|
|
||||||
"Automatic limit for SELECT when using --safe-updates.",
|
|
||||||
&select_limit, &select_limit, 0, GET_ULONG, REQUIRED_ARG, 1000L,
|
|
||||||
1, ULONG_MAX, 0, 1, 0},
|
|
||||||
{"max_join_size", OPT_MAX_JOIN_SIZE,
|
|
||||||
"Automatic limit for rows in a join when using --safe-updates.",
|
|
||||||
&max_join_size, &max_join_size, 0, GET_ULONG, REQUIRED_ARG, 1000000L,
|
|
||||||
1, ULONG_MAX, 0, 1, 0},
|
|
||||||
{"secure-auth", OPT_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, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"server-arg", OPT_SERVER_ARG, "Send embedded server this as a parameter.",
|
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"show-warnings", OPT_SHOW_WARNINGS, "Show warnings after every statement.",
|
|
||||||
&show_warnings, &show_warnings, 0, GET_BOOL, NO_ARG,
|
|
||||||
0, 0, 0, 0, 0, 0},
|
|
||||||
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
|
|
||||||
&opt_plugin_dir, &opt_plugin_dir, 0,
|
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
|
||||||
"Default authentication client-side plugin to use.",
|
|
||||||
&opt_default_auth, &opt_default_auth, 0,
|
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"binary-mode", 0,
|
|
||||||
"Binary mode allows certain character sequences to be processed as data "
|
|
||||||
"that would otherwise be treated with a special meaning by the parser. "
|
|
||||||
"Specifically, this switch turns off parsing of all client commands except "
|
|
||||||
"\\C and DELIMITER in non-interactive mode (i.e., when binary mode is "
|
|
||||||
"combined with either 1) piped input, 2) the --batch mysql option, or 3) "
|
|
||||||
"the 'source' command). Also, in binary mode, occurrences of '\\r\\n' and "
|
|
||||||
"ASCII '\\0' are preserved within strings, whereas by default, '\\r\\n' is "
|
|
||||||
"translated to '\\n' and '\\0' is disallowed in user input.",
|
|
||||||
&opt_binary_mode, &opt_binary_mode, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
|
||||||
{"connect-expired-password", 0,
|
|
||||||
"Notify the server that this client is prepared to handle expired "
|
|
||||||
"password sandbox mode even if --batch was specified.",
|
|
||||||
&opt_connect_expired_password, &opt_connect_expired_password, 0, GET_BOOL,
|
|
||||||
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}
|
{ 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -2818,9 +2802,7 @@ static void initialize_readline ()
|
|||||||
array of matches, or NULL if there aren't any.
|
array of matches, or NULL if there aren't any.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static char **new_mysql_completion(const char *text,
|
static char **new_mysql_completion(const char *text, int, int)
|
||||||
int start __attribute__((unused)),
|
|
||||||
int end __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
if (!status.batch && !quick)
|
if (!status.batch && !quick)
|
||||||
#if defined(USE_NEW_READLINE_INTERFACE)
|
#if defined(USE_NEW_READLINE_INTERFACE)
|
||||||
@ -3143,8 +3125,7 @@ static void print_help_item(MYSQL_ROW *cur, int num_name, int num_cat, char *las
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int com_server_help(String *buffer __attribute__((unused)),
|
static int com_server_help(String *buffer, char *, char *help_arg)
|
||||||
char *line __attribute__((unused)), char *help_arg)
|
|
||||||
{
|
{
|
||||||
MYSQL_ROW cur;
|
MYSQL_ROW cur;
|
||||||
const char *server_cmd;
|
const char *server_cmd;
|
||||||
@ -3246,18 +3227,16 @@ err:
|
|||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int com_help(String *buffer, char *line)
|
||||||
com_help(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
int i, j;
|
int i, j;
|
||||||
char * help_arg= strchr(line,' '), buff[32], *end;
|
char * help_arg= strchr(line,' '), buff[32], *end;
|
||||||
if (help_arg)
|
if (help_arg)
|
||||||
{
|
{
|
||||||
while (my_isspace(charset_info,*help_arg))
|
while (my_isspace(charset_info, *help_arg))
|
||||||
help_arg++;
|
help_arg++;
|
||||||
if (*help_arg)
|
if (*help_arg)
|
||||||
return com_server_help(buffer,line,help_arg);
|
return com_server_help(buffer, line, help_arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
put_info("\nGeneral information about MariaDB can be found at\n"
|
put_info("\nGeneral information about MariaDB can be found at\n"
|
||||||
@ -3280,9 +3259,7 @@ com_help(String *buffer __attribute__((unused)),
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* ARGSUSED */
|
static int com_clear(String *buffer,char *)
|
||||||
static int
|
|
||||||
com_clear(String *buffer,char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
#ifdef HAVE_READLINE
|
#ifdef HAVE_READLINE
|
||||||
if (status.add_to_history)
|
if (status.add_to_history)
|
||||||
@ -3292,9 +3269,7 @@ com_clear(String *buffer,char *line __attribute__((unused)))
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ARGSUSED */
|
static int com_charset(String *, char *line)
|
||||||
static int
|
|
||||||
com_charset(String *buffer __attribute__((unused)), char *line)
|
|
||||||
{
|
{
|
||||||
char buff[256], *param;
|
char buff[256], *param;
|
||||||
CHARSET_INFO * new_cs;
|
CHARSET_INFO * new_cs;
|
||||||
@ -3326,8 +3301,7 @@ com_charset(String *buffer __attribute__((unused)), char *line)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int com_go(String *buffer, char *)
|
||||||
com_go(String *buffer,char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
char buff[200]; /* about 110 chars used so far */
|
char buff[200]; /* about 110 chars used so far */
|
||||||
char time_buff[53+3+1]; /* time max + space & parens + NUL */
|
char time_buff[53+3+1]; /* time max + space & parens + NUL */
|
||||||
@ -3907,9 +3881,7 @@ tee_print_sized_data(const char *data, unsigned int data_length, unsigned int to
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void print_table_data_html(MYSQL_RES *result)
|
||||||
static void
|
|
||||||
print_table_data_html(MYSQL_RES *result)
|
|
||||||
{
|
{
|
||||||
MYSQL_ROW cur;
|
MYSQL_ROW cur;
|
||||||
MYSQL_FIELD *field;
|
MYSQL_FIELD *field;
|
||||||
@ -4205,15 +4177,15 @@ print_tab_data(MYSQL_RES *result)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int com_tee(String *, char *line)
|
||||||
com_tee(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
char file_name[FN_REFLEN], *end, *param;
|
char file_name[FN_REFLEN], *end, *param;
|
||||||
|
|
||||||
|
if (status.sandbox)
|
||||||
|
return put_info("Not allowed in the sandbox mode", INFO_ERROR, 0);
|
||||||
if (status.batch)
|
if (status.batch)
|
||||||
return 0;
|
return 0;
|
||||||
while (my_isspace(charset_info,*line))
|
while (my_isspace(charset_info, *line))
|
||||||
line++;
|
line++;
|
||||||
if (!(param = strchr(line, ' '))) // if outfile wasn't given, use the default
|
if (!(param = strchr(line, ' '))) // if outfile wasn't given, use the default
|
||||||
{
|
{
|
||||||
@ -4250,9 +4222,7 @@ com_tee(String *buffer __attribute__((unused)),
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int com_notee(String *, char *)
|
||||||
com_notee(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
if (opt_outfile)
|
if (opt_outfile)
|
||||||
end_tee();
|
end_tee();
|
||||||
@ -4265,9 +4235,7 @@ com_notee(String *buffer __attribute__((unused)),
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#ifdef USE_POPEN
|
#ifdef USE_POPEN
|
||||||
static int
|
static int com_pager(String *, char *line)
|
||||||
com_pager(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
char pager_name[FN_REFLEN], *end, *param;
|
char pager_name[FN_REFLEN], *end, *param;
|
||||||
|
|
||||||
@ -4295,6 +4263,8 @@ com_pager(String *buffer __attribute__((unused)),
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
if (status.sandbox)
|
||||||
|
return put_info("Not allowed in the sandbox mode", INFO_ERROR, 0);
|
||||||
end= strmake_buf(pager_name, param);
|
end= strmake_buf(pager_name, param);
|
||||||
while (end > pager_name && (my_isspace(charset_info,end[-1]) ||
|
while (end > pager_name && (my_isspace(charset_info,end[-1]) ||
|
||||||
my_iscntrl(charset_info,end[-1])))
|
my_iscntrl(charset_info,end[-1])))
|
||||||
@ -4309,9 +4279,7 @@ com_pager(String *buffer __attribute__((unused)),
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int com_nopager(String *, char *)
|
||||||
com_nopager(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
strmov(pager, "stdout");
|
strmov(pager, "stdout");
|
||||||
opt_nopager=1;
|
opt_nopager=1;
|
||||||
@ -4323,7 +4291,7 @@ com_nopager(String *buffer __attribute__((unused)),
|
|||||||
|
|
||||||
#ifdef USE_POPEN
|
#ifdef USE_POPEN
|
||||||
static int
|
static int
|
||||||
com_edit(String *buffer,char *line __attribute__((unused)))
|
com_edit(String *buffer,char *)
|
||||||
{
|
{
|
||||||
char filename[FN_REFLEN],buff[160];
|
char filename[FN_REFLEN],buff[160];
|
||||||
int fd,tmp,error;
|
int fd,tmp,error;
|
||||||
@ -4370,17 +4338,15 @@ err:
|
|||||||
|
|
||||||
/* If arg is given, exit without errors. This happens on command 'quit' */
|
/* If arg is given, exit without errors. This happens on command 'quit' */
|
||||||
|
|
||||||
static int
|
static int com_quit(String *, char *)
|
||||||
com_quit(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
status.exit_status=0;
|
status.exit_status=0;
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
com_rehash(String *buffer __attribute__((unused)),
|
com_rehash(String *,
|
||||||
char *line __attribute__((unused)))
|
char *)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_READLINE
|
#ifdef HAVE_READLINE
|
||||||
build_completion_hash(1, 0);
|
build_completion_hash(1, 0);
|
||||||
@ -4390,12 +4356,13 @@ com_rehash(String *buffer __attribute__((unused)),
|
|||||||
|
|
||||||
|
|
||||||
#ifdef USE_POPEN
|
#ifdef USE_POPEN
|
||||||
static int
|
static int com_shell(String *, char *line)
|
||||||
com_shell(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
char *shell_cmd;
|
char *shell_cmd;
|
||||||
|
|
||||||
|
if (status.sandbox)
|
||||||
|
return put_info("Not allowed in the sandbox mode", INFO_ERROR, 0);
|
||||||
|
|
||||||
/* Skip space from line begin */
|
/* Skip space from line begin */
|
||||||
while (my_isspace(charset_info, *line))
|
while (my_isspace(charset_info, *line))
|
||||||
line++;
|
line++;
|
||||||
@ -4418,8 +4385,7 @@ com_shell(String *buffer __attribute__((unused)),
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int com_print(String *buffer,char *)
|
||||||
com_print(String *buffer,char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
tee_puts("--------------", stdout);
|
tee_puts("--------------", stdout);
|
||||||
(void) tee_fputs(buffer->c_ptr(), stdout);
|
(void) tee_fputs(buffer->c_ptr(), stdout);
|
||||||
@ -4429,9 +4395,8 @@ com_print(String *buffer,char *line __attribute__((unused)))
|
|||||||
return 0; /* If empty buffer */
|
return 0; /* If empty buffer */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ARGSUSED */
|
|
||||||
static int
|
static int com_connect(String *buffer, char *line)
|
||||||
com_connect(String *buffer, char *line)
|
|
||||||
{
|
{
|
||||||
char *tmp, buff[256];
|
char *tmp, buff[256];
|
||||||
my_bool save_rehash= opt_rehash;
|
my_bool save_rehash= opt_rehash;
|
||||||
@ -4484,8 +4449,7 @@ com_connect(String *buffer, char *line)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int com_source(String *buffer __attribute__((unused)),
|
static int com_source(String *, char *line)
|
||||||
char *line)
|
|
||||||
{
|
{
|
||||||
char source_name[FN_REFLEN], *end, *param;
|
char source_name[FN_REFLEN], *end, *param;
|
||||||
LINE_BUFFER *line_buff;
|
LINE_BUFFER *line_buff;
|
||||||
@ -4494,6 +4458,9 @@ static int com_source(String *buffer __attribute__((unused)),
|
|||||||
FILE *sql_file;
|
FILE *sql_file;
|
||||||
my_bool save_ignore_errors;
|
my_bool save_ignore_errors;
|
||||||
|
|
||||||
|
if (status.sandbox)
|
||||||
|
return put_info("Not allowed in the sandbox mode", INFO_ERROR, 0);
|
||||||
|
|
||||||
/* Skip space from file name */
|
/* Skip space from file name */
|
||||||
while (my_isspace(charset_info,*line))
|
while (my_isspace(charset_info,*line))
|
||||||
line++;
|
line++;
|
||||||
@ -4528,6 +4495,7 @@ static int com_source(String *buffer __attribute__((unused)),
|
|||||||
bfill((char*) &status,sizeof(status),(char) 0);
|
bfill((char*) &status,sizeof(status),(char) 0);
|
||||||
|
|
||||||
status.batch=old_status.batch; // Run in batch mode
|
status.batch=old_status.batch; // Run in batch mode
|
||||||
|
status.sandbox=old_status.sandbox;
|
||||||
status.line_buff=line_buff;
|
status.line_buff=line_buff;
|
||||||
status.file_name=source_name;
|
status.file_name=source_name;
|
||||||
glob_buffer.length(0); // Empty command buffer
|
glob_buffer.length(0); // Empty command buffer
|
||||||
@ -4549,9 +4517,7 @@ static int com_source(String *buffer __attribute__((unused)),
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* ARGSUSED */
|
static int com_delimiter(String *, char *line)
|
||||||
static int
|
|
||||||
com_delimiter(String *buffer __attribute__((unused)), char *line)
|
|
||||||
{
|
{
|
||||||
char buff[256], *tmp;
|
char buff[256], *tmp;
|
||||||
|
|
||||||
@ -4578,9 +4544,7 @@ com_delimiter(String *buffer __attribute__((unused)), char *line)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ARGSUSED */
|
static int com_use(String *, char *line)
|
||||||
static int
|
|
||||||
com_use(String *buffer __attribute__((unused)), char *line)
|
|
||||||
{
|
{
|
||||||
char *tmp, buff[FN_REFLEN + 1];
|
char *tmp, buff[FN_REFLEN + 1];
|
||||||
int select_db;
|
int select_db;
|
||||||
@ -4653,18 +4617,21 @@ com_use(String *buffer __attribute__((unused)), char *line)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int com_sandbox(String *, char *)
|
||||||
com_warnings(String *buffer __attribute__((unused)),
|
{
|
||||||
char *line __attribute__((unused)))
|
status.sandbox= 1;
|
||||||
|
put_info("Sandbox mode.", INFO_INFO);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int com_warnings(String *, char *)
|
||||||
{
|
{
|
||||||
show_warnings = 1;
|
show_warnings = 1;
|
||||||
put_info("Show warnings enabled.",INFO_INFO);
|
put_info("Show warnings enabled.",INFO_INFO);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int com_nowarnings(String *, char *)
|
||||||
com_nowarnings(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
show_warnings = 0;
|
show_warnings = 0;
|
||||||
put_info("Show warnings disabled.",INFO_INFO);
|
put_info("Show warnings disabled.",INFO_INFO);
|
||||||
@ -4915,10 +4882,7 @@ sql_connect(char *host,char *database,char *user,char *password,uint silent)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int com_status(String *, char *)
|
||||||
static int
|
|
||||||
com_status(String *buffer __attribute__((unused)),
|
|
||||||
char *line __attribute__((unused)))
|
|
||||||
{
|
{
|
||||||
const char *status_str;
|
const char *status_str;
|
||||||
char buff[40];
|
char buff[40];
|
||||||
@ -5043,8 +5007,7 @@ select_limit, max_join_size);
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *
|
static const char * server_version_string(MYSQL *con)
|
||||||
server_version_string(MYSQL *con)
|
|
||||||
{
|
{
|
||||||
/* Only one thread calls this, so no synchronization is needed */
|
/* Only one thread calls this, so no synchronization is needed */
|
||||||
if (server_version == NULL)
|
if (server_version == NULL)
|
||||||
@ -5169,8 +5132,7 @@ put_info(const char *str,INFO_TYPE info_type, uint error, const char *sqlstate)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int put_error(MYSQL *con)
|
||||||
put_error(MYSQL *con)
|
|
||||||
{
|
{
|
||||||
return put_info(mysql_error(con), INFO_ERROR, mysql_errno(con),
|
return put_info(mysql_error(con), INFO_ERROR, mysql_errno(con),
|
||||||
mysql_sqlstate(con));
|
mysql_sqlstate(con));
|
||||||
@ -5236,7 +5198,7 @@ void tee_putc(int c, FILE *file)
|
|||||||
|
|
||||||
len("4294967296 days, 23 hours, 59 minutes, 60.000 seconds") -> 53
|
len("4294967296 days, 23 hours, 59 minutes, 60.000 seconds") -> 53
|
||||||
*/
|
*/
|
||||||
static void nice_time(double sec,char *buff,bool part_second)
|
static void nice_time(double sec, char *buff, bool part_second)
|
||||||
{
|
{
|
||||||
ulong tmp;
|
ulong tmp;
|
||||||
if (sec >= 3600.0*24)
|
if (sec >= 3600.0*24)
|
||||||
@ -5517,8 +5479,7 @@ static void init_username()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int com_prompt(String *buffer __attribute__((unused)),
|
static int com_prompt(String *, char *line)
|
||||||
char *line)
|
|
||||||
{
|
{
|
||||||
char *ptr=strchr(line, ' ');
|
char *ptr=strchr(line, ' ');
|
||||||
prompt_counter = 0;
|
prompt_counter = 0;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2006, 2013, Oracle and/or its affiliates.
|
Copyright (c) 2006, 2013, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2017, MariaDB
|
Copyright (c) 2010, 2024, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -87,10 +87,10 @@ static struct my_option my_long_options[]=
|
|||||||
{"basedir", 'b',
|
{"basedir", 'b',
|
||||||
"Not used by mysql_upgrade. Only for backward compatibility.",
|
"Not used by mysql_upgrade. Only for backward compatibility.",
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", 0,
|
||||||
"Not used by mysql_upgrade. Only for backward compatibility.",
|
"Not used by mysql_upgrade. Only for backward compatibility.",
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0 },
|
||||||
{"compress", OPT_COMPRESS,
|
{"compress", 0,
|
||||||
"Not used by mysql_upgrade. Only for backward compatibility.",
|
"Not used by mysql_upgrade. Only for backward compatibility.",
|
||||||
¬_used, ¬_used, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
¬_used, ¬_used, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"datadir", 'd',
|
{"datadir", 'd',
|
||||||
@ -103,12 +103,12 @@ static struct my_option my_long_options[]=
|
|||||||
{"debug", '#', "Output debug log.",
|
{"debug", '#', "Output debug log.",
|
||||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
|
{"debug-check", 0, "Check memory and open file usage at exit.",
|
||||||
&debug_check_flag, &debug_check_flag,
|
&debug_check_flag, &debug_check_flag,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", 'T', "Print some debug info at exit.", &debug_info_flag,
|
{"debug-info", 'T', "Print some debug info at exit.", &debug_info_flag,
|
||||||
&debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default-character-set", OPT_DEFAULT_CHARSET,
|
{"default-character-set", 0,
|
||||||
"Not used by mysql_upgrade. Only for backward compatibility.",
|
"Not used by mysql_upgrade. Only for backward compatibility.",
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
{"default_auth", OPT_DEFAULT_AUTH,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2014, Oracle and/or its affiliates.
|
Copyright (c) 2000, 2014, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2019, MariaDB
|
Copyright (c) 2010, 2024, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -141,10 +141,10 @@ static struct my_option my_long_options[] =
|
|||||||
{"debug", '#', "Output debug log. Often this is 'd:t:o,filename'.",
|
{"debug", '#', "Output debug log. Often this is 'd:t:o,filename'.",
|
||||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
|
{"debug-check", 0, "Check memory and open file usage at exit.",
|
||||||
&debug_check_flag, &debug_check_flag, 0,
|
&debug_check_flag, &debug_check_flag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", OPT_DEBUG_INFO, "Print some debug info at exit.",
|
{"debug-info", 0, "Print some debug info at exit.",
|
||||||
&debug_info_flag, &debug_info_flag,
|
&debug_info_flag, &debug_info_flag,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"force", 'f',
|
{"force", 'f',
|
||||||
@ -158,7 +158,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", OPT_CHARSETS_DIR,
|
||||||
"Directory for character set files.", &charsets_dir,
|
"Directory for character set files.", &charsets_dir,
|
||||||
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default-character-set", OPT_DEFAULT_CHARSET,
|
{"default-character-set", 0,
|
||||||
"Set the default character set.", &default_charset,
|
"Set the default character set.", &default_charset,
|
||||||
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"help", '?', "Display this help and exit.", 0, 0, 0, GET_NO_ARG,
|
{"help", '?', "Display this help and exit.", 0, 0, 0, GET_NO_ARG,
|
||||||
@ -216,21 +216,21 @@ static struct my_option my_long_options[] =
|
|||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"wait", 'w', "Wait and retry if connection is down.", 0, 0, 0, GET_UINT,
|
{"wait", 'w', "Wait and retry if connection is down.", 0, 0, 0, GET_UINT,
|
||||||
OPT_ARG, 0, 0, 0, 0, 0, 0},
|
OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"connect_timeout", OPT_CONNECT_TIMEOUT, "", &opt_connect_timeout,
|
{"connect_timeout", 0, "", &opt_connect_timeout,
|
||||||
&opt_connect_timeout, 0, GET_ULONG, REQUIRED_ARG, 3600*12, 0,
|
&opt_connect_timeout, 0, GET_ULONG, REQUIRED_ARG, 3600*12, 0,
|
||||||
3600*12, 0, 1, 0},
|
3600*12, 0, 1, 0},
|
||||||
{"shutdown_timeout", OPT_SHUTDOWN_TIMEOUT, "", &opt_shutdown_timeout,
|
{"shutdown_timeout", 0, "", &opt_shutdown_timeout,
|
||||||
&opt_shutdown_timeout, 0, GET_ULONG, REQUIRED_ARG,
|
&opt_shutdown_timeout, 0, GET_ULONG, REQUIRED_ARG,
|
||||||
SHUTDOWN_DEF_TIMEOUT, 0, 3600*12, 0, 1, 0},
|
SHUTDOWN_DEF_TIMEOUT, 0, 3600*12, 0, 1, 0},
|
||||||
{"wait_for_all_slaves", OPT_SHUTDOWN_WAIT_FOR_SLAVES,
|
{"wait_for_all_slaves", 0,
|
||||||
"Defers shutdown until after all binlogged events have been sent to "
|
"Defers shutdown until after all binlogged events have been sent to "
|
||||||
"all connected slaves", &opt_shutdown_wait_for_slaves,
|
"all connected slaves", &opt_shutdown_wait_for_slaves,
|
||||||
&opt_shutdown_wait_for_slaves, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_shutdown_wait_for_slaves, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
|
{"plugin_dir", 0, "Directory for client-side plugins.",
|
||||||
&opt_plugin_dir, &opt_plugin_dir, 0,
|
&opt_plugin_dir, &opt_plugin_dir, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
{"default_auth", 0,
|
||||||
"Default authentication client-side plugin to use.",
|
"Default authentication client-side plugin to use.",
|
||||||
&opt_default_auth, &opt_default_auth, 0,
|
&opt_default_auth, &opt_default_auth, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2014, Oracle and/or its affiliates.
|
Copyright (c) 2000, 2014, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2009, 2020, MariaDB
|
Copyright (c) 2009, 2024, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -1531,7 +1531,7 @@ static struct my_option my_options[] =
|
|||||||
like this:
|
like this:
|
||||||
SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`;
|
SET @`a`:=_cp850 0x4DFC6C6C6572 COLLATE `cp850_general_ci`;
|
||||||
*/
|
*/
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", 0,
|
||||||
"Directory for character set files.", &charsets_dir,
|
"Directory for character set files.", &charsets_dir,
|
||||||
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"database", 'd', "List entries for just this database (local log only).",
|
{"database", 'd', "List entries for just this database (local log only).",
|
||||||
@ -1541,13 +1541,13 @@ static struct my_option my_options[] =
|
|||||||
{"debug", '#', "Output debug log.", ¤t_dbug_option,
|
{"debug", '#', "Output debug log.", ¤t_dbug_option,
|
||||||
¤t_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
¤t_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit .",
|
{"debug-check", 0, "Check memory and open file usage at exit .",
|
||||||
&debug_check_flag, &debug_check_flag, 0,
|
&debug_check_flag, &debug_check_flag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", OPT_DEBUG_INFO, "Print some debug info at exit.",
|
{"debug-info", 0, "Print some debug info at exit.",
|
||||||
&debug_info_flag, &debug_info_flag,
|
&debug_info_flag, &debug_info_flag,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
{"default_auth", 0,
|
||||||
"Default authentication client-side plugin to use.",
|
"Default authentication client-side plugin to use.",
|
||||||
&opt_default_auth, &opt_default_auth, 0,
|
&opt_default_auth, &opt_default_auth, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -1583,7 +1583,7 @@ static struct my_option my_options[] =
|
|||||||
0, GET_ULL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_ULL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"password", 'p', "Password to connect to remote server.",
|
{"password", 'p', "Password to connect to remote server.",
|
||||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
|
{"plugin_dir", 0, "Directory for client-side plugins.",
|
||||||
&opt_plugindir, &opt_plugindir, 0,
|
&opt_plugindir, &opt_plugindir, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||||
@ -1609,14 +1609,14 @@ static struct my_option my_options[] =
|
|||||||
&result_file_name, &result_file_name, 0, GET_STR, REQUIRED_ARG,
|
&result_file_name, &result_file_name, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
#ifdef WHEN_FLASHBACK_REVIEW_READY
|
#ifdef WHEN_FLASHBACK_REVIEW_READY
|
||||||
{"review", opt_flashback_review, "Print review sql in output file.",
|
{"review", 0, "Print review sql in output file.",
|
||||||
&opt_flashback_review, &opt_flashback_review, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
&opt_flashback_review, &opt_flashback_review, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
{"review-dbname", opt_flashback_flashback_review_dbname,
|
{"review-dbname", 0,
|
||||||
"Writing flashback original row data into this db",
|
"Writing flashback original row data into this db",
|
||||||
&flashback_review_dbname, &flashback_review_dbname,
|
&flashback_review_dbname, &flashback_review_dbname,
|
||||||
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"review-tablename", opt_flashback_flashback_review_tablename,
|
{"review-tablename", 0,
|
||||||
"Writing flashback original row data into this table",
|
"Writing flashback original row data into this table",
|
||||||
&flashback_review_tablename, &flashback_review_tablename,
|
&flashback_review_tablename, &flashback_review_tablename,
|
||||||
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -1633,7 +1633,7 @@ static struct my_option my_options[] =
|
|||||||
"Extract only binlog entries created by the server having the given id.",
|
"Extract only binlog entries created by the server having the given id.",
|
||||||
&server_id, &server_id, 0, GET_ULONG,
|
&server_id, &server_id, 0, GET_ULONG,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"set-charset", OPT_SET_CHARSET,
|
{"set-charset", 0,
|
||||||
"Add 'SET NAMES character_set' to the output.", &charset,
|
"Add 'SET NAMES character_set' to the output.", &charset,
|
||||||
&charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"short-form", 's', "Just show regular queries: no extra info, no "
|
{"short-form", 's', "Just show regular queries: no extra info, no "
|
||||||
@ -1681,7 +1681,7 @@ static struct my_option my_options[] =
|
|||||||
"The slave server_id used for --read-from-remote-server --stop-never.",
|
"The slave server_id used for --read-from-remote-server --stop-never.",
|
||||||
&opt_stop_never_slave_server_id, &opt_stop_never_slave_server_id, 0,
|
&opt_stop_never_slave_server_id, &opt_stop_never_slave_server_id, 0,
|
||||||
GET_ULONG, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_ULONG, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"stop-position", OPT_STOP_POSITION,
|
{"stop-position", 0,
|
||||||
"Stop reading the binlog at position N. Applies to the last binlog "
|
"Stop reading the binlog at position N. Applies to the last binlog "
|
||||||
"passed on the command line.",
|
"passed on the command line.",
|
||||||
&stop_position, &stop_position, 0, GET_ULL,
|
&stop_position, &stop_position, 0, GET_ULL,
|
||||||
@ -1704,7 +1704,7 @@ that may lead to an endless loop.",
|
|||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"version", 'V', "Print version and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
|
{"version", 'V', "Print version and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0,
|
||||||
0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0},
|
||||||
{"open_files_limit", OPT_OPEN_FILES_LIMIT,
|
{"open_files_limit", 0,
|
||||||
"Used to reserve file descriptors for use by this program.",
|
"Used to reserve file descriptors for use by this program.",
|
||||||
&open_files_limit, &open_files_limit, 0, GET_ULONG,
|
&open_files_limit, &open_files_limit, 0, GET_ULONG,
|
||||||
REQUIRED_ARG, MY_NFILE, 8, OS_FILE_LIMIT, 0, 1, 0},
|
REQUIRED_ARG, MY_NFILE, 8, OS_FILE_LIMIT, 0, 1, 0},
|
||||||
@ -1730,12 +1730,12 @@ that may lead to an endless loop.",
|
|||||||
"Updates to a database with a different name than the original. \
|
"Updates to a database with a different name than the original. \
|
||||||
Example: rewrite-db='from->to'.",
|
Example: rewrite-db='from->to'.",
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"skip-annotate-row-events", OPT_SKIP_ANNOTATE_ROWS_EVENTS,
|
{"skip-annotate-row-events", 0,
|
||||||
"Don't print Annotate_rows events stored in the binary log.",
|
"Don't print Annotate_rows events stored in the binary log.",
|
||||||
(uchar**) &opt_skip_annotate_row_events,
|
(uchar**) &opt_skip_annotate_row_events,
|
||||||
(uchar**) &opt_skip_annotate_row_events,
|
(uchar**) &opt_skip_annotate_row_events,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"print-table-metadata", OPT_PRINT_TABLE_METADATA,
|
{"print-table-metadata", 0,
|
||||||
"Print metadata stored in Table_map_log_event",
|
"Print metadata stored in Table_map_log_event",
|
||||||
&opt_print_table_metadata, &opt_print_table_metadata, 0,
|
&opt_print_table_metadata, &opt_print_table_metadata, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -1951,11 +1951,6 @@ get_one_option(const struct my_option *opt, const char *argument,
|
|||||||
die(1);
|
die(1);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
#ifdef WHEN_FLASHBACK_REVIEW_READY
|
|
||||||
case opt_flashback_review:
|
|
||||||
opt_flashback_review= 1;
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case OPT_START_DATETIME:
|
case OPT_START_DATETIME:
|
||||||
start_datetime= convert_str_to_timestamp(start_datetime_str);
|
start_datetime= convert_str_to_timestamp(start_datetime_str);
|
||||||
break;
|
break;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2001, 2013, Oracle and/or its affiliates.
|
Copyright (c) 2001, 2013, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2012, MariaDB
|
Copyright (c) 2010, 2024, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -82,11 +82,11 @@ static struct my_option my_long_options[] =
|
|||||||
"Instead of issuing one query for each table, use one query per database, naming all tables in the database in a comma-separated list.",
|
"Instead of issuing one query for each table, use one query per database, naming all tables in the database in a comma-separated list.",
|
||||||
&opt_all_in_1, &opt_all_in_1, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_all_in_1, &opt_all_in_1, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"auto-repair", OPT_AUTO_REPAIR,
|
{"auto-repair", 0,
|
||||||
"If a checked table is corrupted, automatically fix it. Repairing will be done after all tables have been checked, if corrupted ones were found.",
|
"If a checked table is corrupted, automatically fix it. Repairing will be done after all tables have been checked, if corrupted ones were found.",
|
||||||
&opt_auto_repair, &opt_auto_repair, 0, GET_BOOL, NO_ARG, 0,
|
&opt_auto_repair, &opt_auto_repair, 0, GET_BOOL, NO_ARG, 0,
|
||||||
0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0},
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", 0,
|
||||||
"Directory for character set files.", (char**) &charsets_dir,
|
"Directory for character set files.", (char**) &charsets_dir,
|
||||||
(char**) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(char**) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"check", 'c', "Check table for errors.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0,
|
{"check", 'c', "Check table for errors.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0,
|
||||||
@ -97,7 +97,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"check-upgrade", 'g',
|
{"check-upgrade", 'g',
|
||||||
"Check tables for version-dependent changes. May be used with --auto-repair to correct tables requiring version-dependent updates.",
|
"Check tables for version-dependent changes. May be used with --auto-repair to correct tables requiring version-dependent updates.",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"compress", OPT_COMPRESS, "Use compression in server/client protocol.",
|
{"compress", 0, "Use compression in server/client protocol.",
|
||||||
&opt_compress, &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_compress, &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"databases", 'B',
|
{"databases", 'B',
|
||||||
@ -111,16 +111,16 @@ static struct my_option my_long_options[] =
|
|||||||
{"debug", '#', "Output debug log. Often this is 'd:t:o,filename'.",
|
{"debug", '#', "Output debug log. Often this is 'd:t:o,filename'.",
|
||||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
|
{"debug-check", 0, "Check memory and open file usage at exit.",
|
||||||
&debug_check_flag, &debug_check_flag, 0,
|
&debug_check_flag, &debug_check_flag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", OPT_DEBUG_INFO, "Print some debug info at exit.",
|
{"debug-info", 0, "Print some debug info at exit.",
|
||||||
&debug_info_flag, &debug_info_flag,
|
&debug_info_flag, &debug_info_flag,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default-character-set", OPT_DEFAULT_CHARSET,
|
{"default-character-set", 0,
|
||||||
"Set the default character set.", &default_charset,
|
"Set the default character set.", &default_charset,
|
||||||
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
{"default_auth", 0,
|
||||||
"Default authentication client-side plugin to use.",
|
"Default authentication client-side plugin to use.",
|
||||||
&opt_default_auth, &opt_default_auth, 0,
|
&opt_default_auth, &opt_default_auth, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -140,7 +140,7 @@ static struct my_option my_long_options[] =
|
|||||||
"If you are using this option with CHECK TABLE, it will ensure that the table is 100 percent consistent, but will take a long time. If you are using this option with REPAIR TABLE, it will force using old slow repair with keycache method, instead of much faster repair by sorting.",
|
"If you are using this option with CHECK TABLE, it will ensure that the table is 100 percent consistent, but will take a long time. If you are using this option with REPAIR TABLE, it will force using old slow repair with keycache method, instead of much faster repair by sorting.",
|
||||||
&opt_extended, &opt_extended, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_extended, &opt_extended, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"flush", OPT_FLUSH_TABLES, "Flush each table after check. This is useful if you don't want to have the checked tables take up space in the caches after the check",
|
{"flush", 0, "Flush each table after check. This is useful if you don't want to have the checked tables take up space in the caches after the check",
|
||||||
&opt_flush_tables, &opt_flush_tables, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
&opt_flush_tables, &opt_flush_tables, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||||
0, 0 },
|
0, 0 },
|
||||||
{"help", '?', "Display this help message and exit.", 0, 0, 0, GET_NO_ARG,
|
{"help", '?', "Display this help message and exit.", 0, 0, 0, GET_NO_ARG,
|
||||||
@ -150,7 +150,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"medium-check", 'm',
|
{"medium-check", 'm',
|
||||||
"Faster than extended-check, but only finds 99.99 percent of all errors. Should be good enough for most cases.",
|
"Faster than extended-check, but only finds 99.99 percent of all errors. Should be good enough for most cases.",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"write-binlog", OPT_WRITE_BINLOG,
|
{"write-binlog", 0,
|
||||||
"Log ANALYZE, OPTIMIZE and REPAIR TABLE commands. Use --skip-write-binlog "
|
"Log ANALYZE, OPTIMIZE and REPAIR TABLE commands. Use --skip-write-binlog "
|
||||||
"when commands should not be sent to replication slaves.",
|
"when commands should not be sent to replication slaves.",
|
||||||
&opt_write_binlog, &opt_write_binlog, 0, GET_BOOL, NO_ARG,
|
&opt_write_binlog, &opt_write_binlog, 0, GET_BOOL, NO_ARG,
|
||||||
@ -168,7 +168,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
|
{"plugin_dir", 0, "Directory for client-side plugins.",
|
||||||
&opt_plugin_dir, &opt_plugin_dir, 0,
|
&opt_plugin_dir, &opt_plugin_dir, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||||
@ -199,7 +199,7 @@ static struct my_option my_long_options[] =
|
|||||||
#include <sslopt-longopts.h>
|
#include <sslopt-longopts.h>
|
||||||
{"tables", OPT_TABLES, "Overrides option --databases (-B).", 0, 0, 0,
|
{"tables", OPT_TABLES, "Overrides option --databases (-B).", 0, 0, 0,
|
||||||
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"use-frm", OPT_FRM,
|
{"use-frm", 0,
|
||||||
"When used with REPAIR, get table structure from .frm file, so the table can be repaired even if .MYI header is corrupted.",
|
"When used with REPAIR, get table structure from .frm file, so the table can be repaired even if .MYI header is corrupted.",
|
||||||
&opt_frm, &opt_frm, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
&opt_frm, &opt_frm, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
||||||
0},
|
0},
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2013, Oracle and/or its affiliates.
|
Copyright (c) 2000, 2013, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2020, MariaDB Corporation.
|
Copyright (c) 2010, 2024, MariaDB Corporation.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -165,7 +165,6 @@ static my_bool server_supports_switching_charsets= TRUE;
|
|||||||
static ulong opt_compatible_mode= 0;
|
static ulong opt_compatible_mode= 0;
|
||||||
#define MYSQL_OPT_MASTER_DATA_EFFECTIVE_SQL 1
|
#define MYSQL_OPT_MASTER_DATA_EFFECTIVE_SQL 1
|
||||||
#define MYSQL_OPT_MASTER_DATA_COMMENTED_SQL 2
|
#define MYSQL_OPT_MASTER_DATA_COMMENTED_SQL 2
|
||||||
#define MYSQL_OPT_MAX_STATEMENT_TIME 0
|
|
||||||
#define MYSQL_OPT_SLAVE_DATA_EFFECTIVE_SQL 1
|
#define MYSQL_OPT_SLAVE_DATA_EFFECTIVE_SQL 1
|
||||||
#define MYSQL_OPT_SLAVE_DATA_COMMENTED_SQL 2
|
#define MYSQL_OPT_SLAVE_DATA_COMMENTED_SQL 2
|
||||||
static uint opt_mysql_port= 0, opt_master_data;
|
static uint opt_mysql_port= 0, opt_master_data;
|
||||||
@ -259,26 +258,26 @@ static struct my_option my_long_options[] =
|
|||||||
"Do not dump any tablespace information.",
|
"Do not dump any tablespace information.",
|
||||||
&opt_notspcs, &opt_notspcs, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
&opt_notspcs, &opt_notspcs, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
{"add-drop-database", OPT_DROP_DATABASE, "Add a DROP DATABASE before each create.",
|
{"add-drop-database", 0, "Add a DROP DATABASE before each create.",
|
||||||
&opt_drop_database, &opt_drop_database, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
&opt_drop_database, &opt_drop_database, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
||||||
0},
|
0},
|
||||||
{"add-drop-table", OPT_DROP, "Add a DROP TABLE before each create.",
|
{"add-drop-table", 0, "Add a DROP TABLE before each create.",
|
||||||
&opt_drop, &opt_drop, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0,
|
&opt_drop, &opt_drop, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0,
|
||||||
0},
|
0},
|
||||||
{"add-drop-trigger", 0, "Add a DROP TRIGGER before each create.",
|
{"add-drop-trigger", 0, "Add a DROP TRIGGER before each create.",
|
||||||
&opt_drop_trigger, &opt_drop_trigger, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
&opt_drop_trigger, &opt_drop_trigger, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0,
|
||||||
0},
|
0},
|
||||||
{"add-locks", OPT_LOCKS, "Add locks around INSERT statements.",
|
{"add-locks", 0, "Add locks around INSERT statements.",
|
||||||
&opt_lock, &opt_lock, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0,
|
&opt_lock, &opt_lock, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0,
|
||||||
0},
|
0},
|
||||||
{"allow-keywords", OPT_KEYWORDS,
|
{"allow-keywords", 0,
|
||||||
"Allow creation of column names that are keywords.", &opt_keywords,
|
"Allow creation of column names that are keywords.", &opt_keywords,
|
||||||
&opt_keywords, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_keywords, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"apply-slave-statements", OPT_MYSQLDUMP_SLAVE_APPLY,
|
{"apply-slave-statements", 0,
|
||||||
"Adds 'STOP SLAVE' prior to 'CHANGE MASTER' and 'START SLAVE' to bottom of dump.",
|
"Adds 'STOP SLAVE' prior to 'CHANGE MASTER' and 'START SLAVE' to bottom of dump.",
|
||||||
&opt_slave_apply, &opt_slave_apply, 0, GET_BOOL, NO_ARG,
|
&opt_slave_apply, &opt_slave_apply, 0, GET_BOOL, NO_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", 0,
|
||||||
"Directory for character set files.", (char **)&charsets_dir,
|
"Directory for character set files.", (char **)&charsets_dir,
|
||||||
(char **)&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(char **)&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"comments", 'i', "Write additional information.",
|
{"comments", 'i', "Write additional information.",
|
||||||
@ -305,7 +304,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"compress", 'C', "Use compression in server/client protocol.",
|
{"compress", 'C', "Use compression in server/client protocol.",
|
||||||
&opt_compress, &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_compress, &opt_compress, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"copy_s3_tables", OPT_COPY_S3_TABLES,
|
{"copy_s3_tables", 0,
|
||||||
"If 'no' S3 tables will be ignored, otherwise S3 tables will be copied as "
|
"If 'no' S3 tables will be ignored, otherwise S3 tables will be copied as "
|
||||||
" Aria tables and then altered to S3",
|
" Aria tables and then altered to S3",
|
||||||
&opt_copy_s3_tables, &opt_copy_s3_tables, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_copy_s3_tables, &opt_copy_s3_tables, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
@ -325,19 +324,19 @@ static struct my_option my_long_options[] =
|
|||||||
{"debug", '#', "Output debug log.", (char *)&default_dbug_option,
|
{"debug", '#', "Output debug log.", (char *)&default_dbug_option,
|
||||||
(char *)&default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
(char *)&default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
|
{"debug-check", 0, "Check memory and open file usage at exit.",
|
||||||
&debug_check_flag, &debug_check_flag, 0,
|
&debug_check_flag, &debug_check_flag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", OPT_DEBUG_INFO, "Print some debug info at exit.",
|
{"debug-info", 0, "Print some debug info at exit.",
|
||||||
&debug_info_flag, &debug_info_flag,
|
&debug_info_flag, &debug_info_flag,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default-character-set", OPT_DEFAULT_CHARSET,
|
{"default-character-set", OPT_DEFAULT_CHARSET,
|
||||||
"Set the default character set.", &default_charset,
|
"Set the default character set.", &default_charset,
|
||||||
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"delayed-insert", OPT_DELAYED, "Insert rows with INSERT DELAYED.",
|
{"delayed-insert", 0, "Insert rows with INSERT DELAYED.",
|
||||||
&opt_delayed, &opt_delayed, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
&opt_delayed, &opt_delayed, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
{"delete-master-logs", OPT_DELETE_MASTER_LOGS,
|
{"delete-master-logs", 0,
|
||||||
"Delete logs on master after backup. This automatically enables --master-data.",
|
"Delete logs on master after backup. This automatically enables --master-data.",
|
||||||
&opt_delete_master_logs, &opt_delete_master_logs, 0,
|
&opt_delete_master_logs, &opt_delete_master_logs, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -365,17 +364,17 @@ static struct my_option my_long_options[] =
|
|||||||
"Use multiple-row INSERT syntax that include several VALUES lists.",
|
"Use multiple-row INSERT syntax that include several VALUES lists.",
|
||||||
&extended_insert, &extended_insert, 0, GET_BOOL, NO_ARG,
|
&extended_insert, &extended_insert, 0, GET_BOOL, NO_ARG,
|
||||||
1, 0, 0, 0, 0, 0},
|
1, 0, 0, 0, 0, 0},
|
||||||
{"fields-terminated-by", OPT_FTB,
|
{"fields-terminated-by", 0,
|
||||||
"Fields in the output file are terminated by the given string.",
|
"Fields in the output file are terminated by the given string.",
|
||||||
&fields_terminated, &fields_terminated, 0,
|
&fields_terminated, &fields_terminated, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"fields-enclosed-by", OPT_ENC,
|
{"fields-enclosed-by", 0,
|
||||||
"Fields in the output file are enclosed by the given character.",
|
"Fields in the output file are enclosed by the given character.",
|
||||||
&enclosed, &enclosed, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0 ,0, 0},
|
&enclosed, &enclosed, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0 ,0, 0},
|
||||||
{"fields-optionally-enclosed-by", OPT_O_ENC,
|
{"fields-optionally-enclosed-by", 0,
|
||||||
"Fields in the output file are optionally enclosed by the given character.",
|
"Fields in the output file are optionally enclosed by the given character.",
|
||||||
&opt_enclosed, &opt_enclosed, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0 ,0, 0},
|
&opt_enclosed, &opt_enclosed, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0 ,0, 0},
|
||||||
{"fields-escaped-by", OPT_ESC,
|
{"fields-escaped-by", 0,
|
||||||
"Fields in the output file are escaped by the given character.",
|
"Fields in the output file are escaped by the given character.",
|
||||||
&escaped, &escaped, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&escaped, &escaped, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"flush-logs", 'F', "Flush logs file in server before starting dump. "
|
{"flush-logs", 'F', "Flush logs file in server before starting dump. "
|
||||||
@ -389,7 +388,7 @@ static struct my_option my_long_options[] =
|
|||||||
"--lock-all-tables or --master-data with --flush-logs.",
|
"--lock-all-tables or --master-data with --flush-logs.",
|
||||||
&flush_logs, &flush_logs, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
&flush_logs, &flush_logs, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
{"flush-privileges", OPT_ESC, "Emit a FLUSH PRIVILEGES statement "
|
{"flush-privileges", 0, "Emit a FLUSH PRIVILEGES statement "
|
||||||
"after dumping the mysql database. This option should be used any "
|
"after dumping the mysql database. This option should be used any "
|
||||||
"time the dump contains the mysql database and any other database "
|
"time the dump contains the mysql database and any other database "
|
||||||
"that depends on the data in the mysql database for proper restore. ",
|
"that depends on the data in the mysql database for proper restore. ",
|
||||||
@ -407,7 +406,7 @@ static struct my_option my_long_options[] =
|
|||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"help", '?', "Display this help message and exit.", 0, 0, 0, GET_NO_ARG,
|
{"help", '?', "Display this help message and exit.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"hex-blob", OPT_HEXBLOB, "Dump binary strings (BINARY, "
|
{"hex-blob", 0, "Dump binary strings (BINARY, "
|
||||||
"VARBINARY, BLOB) in hexadecimal format.",
|
"VARBINARY, BLOB) in hexadecimal format.",
|
||||||
&opt_hex_blob, &opt_hex_blob, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_hex_blob, &opt_hex_blob, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"host", 'h', "Connect to host.", ¤t_host,
|
{"host", 'h', "Connect to host.", ¤t_host,
|
||||||
@ -429,15 +428,15 @@ static struct my_option my_long_options[] =
|
|||||||
"be specified with both database and table names, e.g., "
|
"be specified with both database and table names, e.g., "
|
||||||
"--ignore-table=database.table.",
|
"--ignore-table=database.table.",
|
||||||
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"include-master-host-port", OPT_MYSQLDUMP_INCLUDE_MASTER_HOST_PORT,
|
{"include-master-host-port", 0,
|
||||||
"Adds 'MASTER_HOST=<host>, MASTER_PORT=<port>' to 'CHANGE MASTER TO..' "
|
"Adds 'MASTER_HOST=<host>, MASTER_PORT=<port>' to 'CHANGE MASTER TO..' "
|
||||||
"in dump produced with --dump-slave.", &opt_include_master_host_port,
|
"in dump produced with --dump-slave.", &opt_include_master_host_port,
|
||||||
&opt_include_master_host_port, 0, GET_BOOL, NO_ARG,
|
&opt_include_master_host_port, 0, GET_BOOL, NO_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"insert-ignore", OPT_INSERT_IGNORE, "Insert rows with INSERT IGNORE.",
|
{"insert-ignore", 0, "Insert rows with INSERT IGNORE.",
|
||||||
&opt_ignore, &opt_ignore, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
&opt_ignore, &opt_ignore, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
{"lines-terminated-by", OPT_LTB,
|
{"lines-terminated-by", 0,
|
||||||
"Lines in the output file are terminated by the given string.",
|
"Lines in the output file are terminated by the given string.",
|
||||||
&lines_terminated, &lines_terminated, 0, GET_STR,
|
&lines_terminated, &lines_terminated, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -448,7 +447,7 @@ static struct my_option my_long_options[] =
|
|||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"lock-tables", 'l', "Lock all tables for read.", &lock_tables,
|
{"lock-tables", 'l', "Lock all tables for read.", &lock_tables,
|
||||||
&lock_tables, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
&lock_tables, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
{"log-error", OPT_ERROR_LOG_FILE, "Append warnings and errors to given file.",
|
{"log-error", 0, "Append warnings and errors to given file.",
|
||||||
&log_error_file, &log_error_file, 0, GET_STR,
|
&log_error_file, &log_error_file, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"log-queries", 0, "When restoring the dump, the server will, if logging turned on, log the queries to the general and slow query log.",
|
{"log-queries", 0, "When restoring the dump, the server will, if logging turned on, log the queries to the general and slow query log.",
|
||||||
@ -465,21 +464,21 @@ static struct my_option my_long_options[] =
|
|||||||
"Option automatically turns --lock-tables off.",
|
"Option automatically turns --lock-tables off.",
|
||||||
&opt_master_data, &opt_master_data, 0,
|
&opt_master_data, &opt_master_data, 0,
|
||||||
GET_UINT, OPT_ARG, 0, 0, MYSQL_OPT_MASTER_DATA_COMMENTED_SQL, 0, 0, 0},
|
GET_UINT, OPT_ARG, 0, 0, MYSQL_OPT_MASTER_DATA_COMMENTED_SQL, 0, 0, 0},
|
||||||
{"max_allowed_packet", OPT_MAX_ALLOWED_PACKET,
|
{"max_allowed_packet", 0,
|
||||||
"The maximum packet length to send to or receive from server.",
|
"The maximum packet length to send to or receive from server.",
|
||||||
&opt_max_allowed_packet, &opt_max_allowed_packet, 0,
|
&opt_max_allowed_packet, &opt_max_allowed_packet, 0,
|
||||||
GET_ULONG, REQUIRED_ARG, 24*1024*1024, 4096,
|
GET_ULONG, REQUIRED_ARG, 24*1024*1024, 4096,
|
||||||
(longlong) 2L*1024L*1024L*1024L, MALLOC_OVERHEAD, 1024, 0},
|
(longlong) 2L*1024L*1024L*1024L, MALLOC_OVERHEAD, 1024, 0},
|
||||||
{"max-statement-time", MYSQL_OPT_MAX_STATEMENT_TIME,
|
{"max-statement-time", 0,
|
||||||
"Max statement execution time. If unset, overrides server default with 0.",
|
"Max statement execution time. If unset, overrides server default with 0.",
|
||||||
&opt_max_statement_time, &opt_max_statement_time, 0, GET_DOUBLE,
|
&opt_max_statement_time, &opt_max_statement_time, 0, GET_DOUBLE,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"net_buffer_length", OPT_NET_BUFFER_LENGTH,
|
{"net_buffer_length", 0,
|
||||||
"The buffer size for TCP/IP and socket communication.",
|
"The buffer size for TCP/IP and socket communication.",
|
||||||
&opt_net_buffer_length, &opt_net_buffer_length, 0,
|
&opt_net_buffer_length, &opt_net_buffer_length, 0,
|
||||||
GET_ULONG, REQUIRED_ARG, 1024*1024L-1025, 4096, 16*1024L*1024L,
|
GET_ULONG, REQUIRED_ARG, 1024*1024L-1025, 4096, 16*1024L*1024L,
|
||||||
MALLOC_OVERHEAD-1024, 1024, 0},
|
MALLOC_OVERHEAD-1024, 1024, 0},
|
||||||
{"no-autocommit", OPT_AUTOCOMMIT,
|
{"no-autocommit", 0,
|
||||||
"Wrap tables with autocommit/commit statements.",
|
"Wrap tables with autocommit/commit statements.",
|
||||||
&opt_autocommit, &opt_autocommit, 0, GET_BOOL, NO_ARG,
|
&opt_autocommit, &opt_autocommit, 0, GET_BOOL, NO_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
@ -502,7 +501,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"opt", OPT_OPTIMIZE,
|
{"opt", OPT_OPTIMIZE,
|
||||||
"Same as --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, and --disable-keys. Enabled by default, disable with --skip-opt.",
|
"Same as --add-drop-table, --add-locks, --create-options, --quick, --extended-insert, --lock-tables, --set-charset, and --disable-keys. Enabled by default, disable with --skip-opt.",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"order-by-primary", OPT_ORDER_BY_PRIMARY,
|
{"order-by-primary", 0,
|
||||||
"Sorts each table's rows by primary key, or first unique key, if such a key exists. Useful when dumping a MyISAM table to be loaded into an InnoDB table, but will make the dump itself take considerably longer.",
|
"Sorts each table's rows by primary key, or first unique key, if such a key exists. Useful when dumping a MyISAM table to be loaded into an InnoDB table, but will make the dump itself take considerably longer.",
|
||||||
&opt_order_by_primary, &opt_order_by_primary, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_order_by_primary, &opt_order_by_primary, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"password", 'p',
|
{"password", 'p',
|
||||||
@ -523,7 +522,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"quote-names",'Q', "Quote table and column names with backticks (`).",
|
{"quote-names",'Q', "Quote table and column names with backticks (`).",
|
||||||
&opt_quoted, &opt_quoted, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0,
|
&opt_quoted, &opt_quoted, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
{"replace", OPT_MYSQL_REPLACE_INTO, "Use REPLACE INTO instead of INSERT INTO.",
|
{"replace", 0, "Use REPLACE INTO instead of INSERT INTO.",
|
||||||
&opt_replace_into, &opt_replace_into, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
&opt_replace_into, &opt_replace_into, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
{"result-file", 'r',
|
{"result-file", 'r',
|
||||||
@ -534,7 +533,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"routines", 'R', "Dump stored routines (functions and procedures).",
|
{"routines", 'R', "Dump stored routines (functions and procedures).",
|
||||||
&opt_routines, &opt_routines, 0, GET_BOOL,
|
&opt_routines, &opt_routines, 0, GET_BOOL,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"set-charset", OPT_SET_CHARSET,
|
{"set-charset", 0,
|
||||||
"Add 'SET NAMES default_character_set' to the output.",
|
"Add 'SET NAMES default_character_set' to the output.",
|
||||||
&opt_set_charset, &opt_set_charset, 0, GET_BOOL, NO_ARG, 1,
|
&opt_set_charset, &opt_set_charset, 0, GET_BOOL, NO_ARG, 1,
|
||||||
0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0},
|
||||||
@ -543,7 +542,7 @@ static struct my_option my_long_options[] =
|
|||||||
will give bullet-proof binlog position only if server >=4.1.3. That's the
|
will give bullet-proof binlog position only if server >=4.1.3. That's the
|
||||||
old "FLUSH TABLES WITH READ LOCK does not block commit" fixed bug.
|
old "FLUSH TABLES WITH READ LOCK does not block commit" fixed bug.
|
||||||
*/
|
*/
|
||||||
{"single-transaction", OPT_TRANSACTION,
|
{"single-transaction", 0,
|
||||||
"Creates a consistent snapshot by dumping all tables in a single "
|
"Creates a consistent snapshot by dumping all tables in a single "
|
||||||
"transaction. Works ONLY for tables stored in storage engines which "
|
"transaction. Works ONLY for tables stored in storage engines which "
|
||||||
"support multiversioning (currently only InnoDB does); the dump is NOT "
|
"support multiversioning (currently only InnoDB does); the dump is NOT "
|
||||||
@ -555,7 +554,7 @@ static struct my_option my_long_options[] =
|
|||||||
"isolated from them. Option automatically turns off --lock-tables.",
|
"isolated from them. Option automatically turns off --lock-tables.",
|
||||||
&opt_single_transaction, &opt_single_transaction, 0,
|
&opt_single_transaction, &opt_single_transaction, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"dump-date", OPT_DUMP_DATE, "Put a dump date to the end of the output.",
|
{"dump-date", 0, "Put a dump date to the end of the output.",
|
||||||
&opt_dump_date, &opt_dump_date, 0,
|
&opt_dump_date, &opt_dump_date, 0,
|
||||||
GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
{"skip-opt", OPT_SKIP_OPTIMIZATION,
|
{"skip-opt", OPT_SKIP_OPTIMIZATION,
|
||||||
@ -565,7 +564,7 @@ static struct my_option my_long_options[] =
|
|||||||
&opt_mysql_unix_port, &opt_mysql_unix_port, 0,
|
&opt_mysql_unix_port, &opt_mysql_unix_port, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#include <sslopt-longopts.h>
|
#include <sslopt-longopts.h>
|
||||||
{"system", 256, "Dump system tables as portable SQL",
|
{"system", 0, "Dump system tables as portable SQL",
|
||||||
&opt_system, &opt_system, &opt_system_types, GET_SET, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_system, &opt_system, &opt_system_types, GET_SET, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"tab",'T',
|
{"tab",'T',
|
||||||
"Create tab-separated textfile for each table to given path. (Create .sql "
|
"Create tab-separated textfile for each table to given path. (Create .sql "
|
||||||
@ -574,10 +573,10 @@ static struct my_option my_long_options[] =
|
|||||||
&path, &path, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&path, &path, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"tables", OPT_TABLES, "Overrides option --databases (-B).",
|
{"tables", OPT_TABLES, "Overrides option --databases (-B).",
|
||||||
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"triggers", OPT_TRIGGERS, "Dump triggers for each dumped table.",
|
{"triggers", 0, "Dump triggers for each dumped table.",
|
||||||
&opt_dump_triggers, &opt_dump_triggers, 0, GET_BOOL,
|
&opt_dump_triggers, &opt_dump_triggers, 0, GET_BOOL,
|
||||||
NO_ARG, 1, 0, 0, 0, 0, 0},
|
NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
{"tz-utc", OPT_TZ_UTC,
|
{"tz-utc", 0,
|
||||||
"SET TIME_ZONE='+00:00' at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones.",
|
"SET TIME_ZONE='+00:00' at top of dump to allow dumping of TIMESTAMP data when a server has data in different time zones or data is being moved between servers with different time zones.",
|
||||||
&opt_tz_utc, &opt_tz_utc, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
&opt_tz_utc, &opt_tz_utc, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
#ifndef DONT_ALLOW_USER_CHANGE
|
#ifndef DONT_ALLOW_USER_CHANGE
|
||||||
@ -593,10 +592,10 @@ static struct my_option my_long_options[] =
|
|||||||
&where, &where, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&where, &where, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"xml", 'X', "Dump a database as well formed XML.", 0, 0, 0, GET_NO_ARG,
|
{"xml", 'X', "Dump a database as well formed XML.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
|
{"plugin_dir", 0, "Directory for client-side plugins.",
|
||||||
&opt_plugin_dir, &opt_plugin_dir, 0,
|
&opt_plugin_dir, &opt_plugin_dir, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
{"default_auth", 0,
|
||||||
"Default authentication client-side plugin to use.",
|
"Default authentication client-side plugin to use.",
|
||||||
&opt_default_auth, &opt_default_auth, 0,
|
&opt_default_auth, &opt_default_auth, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -754,56 +753,59 @@ static void write_header(FILE *sql_file, const char *db_name)
|
|||||||
fputs(">\n", sql_file);
|
fputs(">\n", sql_file);
|
||||||
check_io(sql_file);
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
else if (!opt_compact)
|
else
|
||||||
{
|
{
|
||||||
print_comment(sql_file, 0,
|
fprintf(sql_file, "/*!999999\\- enable the sandbox mode */ \n");
|
||||||
"-- MariaDB dump %s Distrib %s, for %s (%s)\n--\n",
|
if (!opt_compact)
|
||||||
DUMP_VERSION, MYSQL_SERVER_VERSION, SYSTEM_TYPE,
|
|
||||||
MACHINE_TYPE);
|
|
||||||
print_comment(sql_file, 0, "-- Host: %s ",
|
|
||||||
fix_for_comment(current_host ? current_host : "localhost"));
|
|
||||||
print_comment(sql_file, 0, "Database: %s\n",
|
|
||||||
fix_for_comment(db_name ? db_name : ""));
|
|
||||||
print_comment(sql_file, 0,
|
|
||||||
"-- ------------------------------------------------------\n"
|
|
||||||
);
|
|
||||||
print_comment(sql_file, 0, "-- Server version\t%s\n",
|
|
||||||
mysql_get_server_info(&mysql_connection));
|
|
||||||
|
|
||||||
if (!opt_logging)
|
|
||||||
fprintf(sql_file,
|
|
||||||
"\n/*M!100101 SET LOCAL SQL_LOG_OFF=0, LOCAL SLOW_QUERY_LOG=0 */;");
|
|
||||||
|
|
||||||
if (opt_set_charset)
|
|
||||||
fprintf(sql_file,
|
|
||||||
"\n/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;"
|
|
||||||
"\n/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;"
|
|
||||||
"\n/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;"
|
|
||||||
"\n/*!40101 SET NAMES %s */;\n",default_charset);
|
|
||||||
|
|
||||||
if (opt_tz_utc)
|
|
||||||
{
|
{
|
||||||
fprintf(sql_file, "/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;\n");
|
print_comment(sql_file, 0,
|
||||||
fprintf(sql_file, "/*!40103 SET TIME_ZONE='+00:00' */;\n");
|
"-- MariaDB dump %s Distrib %s, for %s (%s)\n--\n",
|
||||||
}
|
DUMP_VERSION, MYSQL_SERVER_VERSION, SYSTEM_TYPE,
|
||||||
|
MACHINE_TYPE);
|
||||||
|
print_comment(sql_file, 0, "-- Host: %s ",
|
||||||
|
fix_for_comment(current_host ? current_host : "localhost"));
|
||||||
|
print_comment(sql_file, 0, "Database: %s\n",
|
||||||
|
fix_for_comment(db_name ? db_name : ""));
|
||||||
|
print_comment(sql_file, 0,
|
||||||
|
"-- ------------------------------------------------------\n"
|
||||||
|
);
|
||||||
|
print_comment(sql_file, 0, "-- Server version\t%s\n",
|
||||||
|
mysql_get_server_info(&mysql_connection));
|
||||||
|
|
||||||
if (!path)
|
if (!opt_logging)
|
||||||
{
|
fprintf(sql_file,
|
||||||
if (!opt_no_create_info)
|
"\n/*M!100101 SET LOCAL SQL_LOG_OFF=0, LOCAL SLOW_QUERY_LOG=0 */;");
|
||||||
|
|
||||||
|
if (opt_set_charset)
|
||||||
|
fprintf(sql_file,
|
||||||
|
"\n/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;"
|
||||||
|
"\n/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;"
|
||||||
|
"\n/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;"
|
||||||
|
"\n/*!40101 SET NAMES %s */;\n",default_charset);
|
||||||
|
|
||||||
|
if (opt_tz_utc)
|
||||||
{
|
{
|
||||||
/* We don't need unique checks as the table is created just before */
|
fprintf(sql_file, "/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;\n");
|
||||||
fprintf(md_result_file,"\
|
fprintf(sql_file, "/*!40103 SET TIME_ZONE='+00:00' */;\n");
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;\n");
|
|
||||||
}
|
}
|
||||||
fprintf(md_result_file,"\
|
|
||||||
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;\n\
|
if (!path)
|
||||||
");
|
{
|
||||||
|
if (!opt_no_create_info)
|
||||||
|
{
|
||||||
|
/* We don't need unique checks as the table is created just before */
|
||||||
|
fprintf(md_result_file,
|
||||||
|
"/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;\n");
|
||||||
|
}
|
||||||
|
fprintf(md_result_file,
|
||||||
|
"/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;\n");
|
||||||
|
}
|
||||||
|
fprintf(sql_file,
|
||||||
|
"/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='%s%s%s' */;\n"
|
||||||
|
"/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;\n",
|
||||||
|
path?"":"NO_AUTO_VALUE_ON_ZERO",compatible_mode_normal_str[0]==0?"":",",
|
||||||
|
compatible_mode_normal_str);
|
||||||
}
|
}
|
||||||
fprintf(sql_file,
|
|
||||||
"/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='%s%s%s' */;\n"
|
|
||||||
"/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;\n",
|
|
||||||
path?"":"NO_AUTO_VALUE_ON_ZERO",compatible_mode_normal_str[0]==0?"":",",
|
|
||||||
compatible_mode_normal_str);
|
|
||||||
check_io(sql_file);
|
check_io(sql_file);
|
||||||
}
|
}
|
||||||
} /* write_header */
|
} /* write_header */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2015, Oracle and/or its affiliates.
|
Copyright (c) 2000, 2015, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2011, 2022, MariaDB
|
Copyright (c) 2011, 2024, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -70,10 +70,10 @@ static char **argv_to_free;
|
|||||||
|
|
||||||
static struct my_option my_long_options[] =
|
static struct my_option my_long_options[] =
|
||||||
{
|
{
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", 0,
|
||||||
"Directory for character set files.", (char**) &charsets_dir,
|
"Directory for character set files.", (char**) &charsets_dir,
|
||||||
(char**) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(char**) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default-character-set", OPT_DEFAULT_CHARSET,
|
{"default-character-set", 0,
|
||||||
"Set the default character set.", &default_charset,
|
"Set the default character set.", &default_charset,
|
||||||
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"columns", 'c',
|
{"columns", 'c',
|
||||||
@ -85,31 +85,31 @@ static struct my_option my_long_options[] =
|
|||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"debug",'#', "Output debug log. Often this is 'd:t:o,filename'.", 0, 0, 0,
|
{"debug",'#', "Output debug log. Often this is 'd:t:o,filename'.", 0, 0, 0,
|
||||||
GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
|
{"debug-check", 0, "Check memory and open file usage at exit.",
|
||||||
&debug_check_flag, &debug_check_flag, 0,
|
&debug_check_flag, &debug_check_flag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", OPT_DEBUG_INFO, "Print some debug info at exit.",
|
{"debug-info", 0, "Print some debug info at exit.",
|
||||||
&debug_info_flag, &debug_info_flag,
|
&debug_info_flag, &debug_info_flag,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
{"default_auth", 0,
|
||||||
"Default authentication client-side plugin to use.",
|
"Default authentication client-side plugin to use.",
|
||||||
&opt_default_auth, &opt_default_auth, 0,
|
&opt_default_auth, &opt_default_auth, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"delete", 'd', "First delete all rows from table.", &opt_delete,
|
{"delete", 'd', "First delete all rows from table.", &opt_delete,
|
||||||
&opt_delete, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_delete, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"fields-terminated-by", OPT_FTB,
|
{"fields-terminated-by", 0,
|
||||||
"Fields in the input file are terminated by the given string.",
|
"Fields in the input file are terminated by the given string.",
|
||||||
&fields_terminated, &fields_terminated, 0,
|
&fields_terminated, &fields_terminated, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"fields-enclosed-by", OPT_ENC,
|
{"fields-enclosed-by", 0,
|
||||||
"Fields in the import file are enclosed by the given character.",
|
"Fields in the import file are enclosed by the given character.",
|
||||||
&enclosed, &enclosed, 0,
|
&enclosed, &enclosed, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"fields-optionally-enclosed-by", OPT_O_ENC,
|
{"fields-optionally-enclosed-by", 0,
|
||||||
"Fields in the input file are optionally enclosed by the given character.",
|
"Fields in the input file are optionally enclosed by the given character.",
|
||||||
&opt_enclosed, &opt_enclosed, 0,
|
&opt_enclosed, &opt_enclosed, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"fields-escaped-by", OPT_ESC,
|
{"fields-escaped-by", 0,
|
||||||
"Fields in the input file are escaped by the given character.",
|
"Fields in the input file are escaped by the given character.",
|
||||||
&escaped, &escaped, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0,
|
&escaped, &escaped, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0,
|
||||||
0, 0},
|
0, 0},
|
||||||
@ -126,10 +126,10 @@ static struct my_option my_long_options[] =
|
|||||||
"Disable foreign key checks while importing the data.",
|
"Disable foreign key checks while importing the data.",
|
||||||
&ignore_foreign_keys, &ignore_foreign_keys, 0, GET_BOOL, NO_ARG,
|
&ignore_foreign_keys, &ignore_foreign_keys, 0, GET_BOOL, NO_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"ignore-lines", OPT_IGN_LINES, "Ignore first n lines of data infile.",
|
{"ignore-lines", 0, "Ignore first n lines of data infile.",
|
||||||
&opt_ignore_lines, &opt_ignore_lines, 0, GET_LL,
|
&opt_ignore_lines, &opt_ignore_lines, 0, GET_LL,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"lines-terminated-by", OPT_LTB,
|
{"lines-terminated-by", 0,
|
||||||
"Lines in the input file are terminated by the given string.",
|
"Lines in the input file are terminated by the given string.",
|
||||||
&lines_terminated, &lines_terminated, 0, GET_STR,
|
&lines_terminated, &lines_terminated, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -138,7 +138,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"lock-tables", 'l', "Lock all tables for write (this disables threads).",
|
{"lock-tables", 'l', "Lock all tables for write (this disables threads).",
|
||||||
&lock_tables, &lock_tables, 0, GET_BOOL, NO_ARG,
|
&lock_tables, &lock_tables, 0, GET_BOOL, NO_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"low-priority", OPT_LOW_PRIORITY,
|
{"low-priority", 0,
|
||||||
"Use LOW_PRIORITY when updating the table.", &opt_low_priority,
|
"Use LOW_PRIORITY when updating the table.", &opt_low_priority,
|
||||||
&opt_low_priority, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_low_priority, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"password", 'p',
|
{"password", 'p',
|
||||||
@ -148,7 +148,7 @@ static struct my_option my_long_options[] =
|
|||||||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
|
{"plugin_dir", 0, "Directory for client-side plugins.",
|
||||||
&opt_plugin_dir, &opt_plugin_dir, 0,
|
&opt_plugin_dir, &opt_plugin_dir, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||||
@ -170,7 +170,7 @@ static struct my_option my_long_options[] =
|
|||||||
&opt_mysql_unix_port, &opt_mysql_unix_port, 0, GET_STR,
|
&opt_mysql_unix_port, &opt_mysql_unix_port, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#include <sslopt-longopts.h>
|
#include <sslopt-longopts.h>
|
||||||
{"use-threads", OPT_USE_THREADS,
|
{"use-threads", 0,
|
||||||
"Load files in parallel. The argument is the number "
|
"Load files in parallel. The argument is the number "
|
||||||
"of threads to use for loading data.",
|
"of threads to use for loading data.",
|
||||||
&opt_use_threads, &opt_use_threads, 0,
|
&opt_use_threads, &opt_use_threads, 0,
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2000, 2015, Oracle and/or its affiliates.
|
Copyright (c) 2000, 2015, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2019, MariaDB
|
Copyright (c) 2010, 2024, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -190,10 +190,10 @@ static struct my_option my_long_options[] =
|
|||||||
{"character-sets-dir", 'c', "Directory for character set files.",
|
{"character-sets-dir", 'c', "Directory for character set files.",
|
||||||
(char**) &charsets_dir, (char**) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0,
|
(char**) &charsets_dir, (char**) &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0,
|
||||||
0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0},
|
||||||
{"default-character-set", OPT_DEFAULT_CHARSET,
|
{"default-character-set", 0,
|
||||||
"Set the default character set.", &default_charset,
|
"Set the default character set.", &default_charset,
|
||||||
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
&default_charset, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"count", OPT_COUNT,
|
{"count", 0,
|
||||||
"Show number of rows per table (may be slow for non-MyISAM tables).",
|
"Show number of rows per table (may be slow for non-MyISAM tables).",
|
||||||
&opt_count, &opt_count, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
&opt_count, &opt_count, 0, GET_BOOL, NO_ARG, 0, 0, 0,
|
||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
@ -202,13 +202,13 @@ static struct my_option my_long_options[] =
|
|||||||
0, 0, 0},
|
0, 0, 0},
|
||||||
{"debug", '#', "Output debug log. Often this is 'd:t:o,filename'.",
|
{"debug", '#', "Output debug log. Often this is 'd:t:o,filename'.",
|
||||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
|
{"debug-check", 0, "Check memory and open file usage at exit.",
|
||||||
&debug_check_flag, &debug_check_flag, 0,
|
&debug_check_flag, &debug_check_flag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", OPT_DEBUG_INFO, "Print some debug info at exit.",
|
{"debug-info", 0, "Print some debug info at exit.",
|
||||||
&debug_info_flag, &debug_info_flag,
|
&debug_info_flag, &debug_info_flag,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
{"default_auth", 0,
|
||||||
"Default authentication client-side plugin to use.",
|
"Default authentication client-side plugin to use.",
|
||||||
&opt_default_auth, &opt_default_auth, 0,
|
&opt_default_auth, &opt_default_auth, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -225,7 +225,7 @@ static struct my_option my_long_options[] =
|
|||||||
"Password to use when connecting to server. If password is not given, it's "
|
"Password to use when connecting to server. If password is not given, it's "
|
||||||
"solicited on the tty.",
|
"solicited on the tty.",
|
||||||
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
0, 0, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
|
{"plugin_dir", 0, "Directory for client-side plugins.",
|
||||||
&opt_plugin_dir, &opt_plugin_dir, 0,
|
&opt_plugin_dir, &opt_plugin_dir, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
{"port", 'P', "Port number to use for connection or 0 for default to, in "
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
Copyright (c) 2005, 2015, Oracle and/or its affiliates.
|
Copyright (c) 2005, 2015, Oracle and/or its affiliates.
|
||||||
Copyright (c) 2010, 2022, MariaDB
|
Copyright (c) 2010, 2024, MariaDB
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -535,50 +535,45 @@ static struct my_option my_long_options[] =
|
|||||||
"Generate SQL where not supplied by file or command line.",
|
"Generate SQL where not supplied by file or command line.",
|
||||||
&auto_generate_sql, &auto_generate_sql,
|
&auto_generate_sql, &auto_generate_sql,
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"auto-generate-sql-add-autoincrement", OPT_SLAP_AUTO_GENERATE_ADD_AUTO,
|
{"auto-generate-sql-add-autoincrement", 0,
|
||||||
"Add an AUTO_INCREMENT column to auto-generated tables.",
|
"Add an AUTO_INCREMENT column to auto-generated tables.",
|
||||||
&auto_generate_sql_autoincrement,
|
&auto_generate_sql_autoincrement, &auto_generate_sql_autoincrement,
|
||||||
&auto_generate_sql_autoincrement,
|
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"auto-generate-sql-execute-number", OPT_SLAP_AUTO_GENERATE_EXECUTE_QUERIES,
|
{"auto-generate-sql-execute-number", 0,
|
||||||
"Set this number to generate a set number of queries to run.",
|
"Set this number to generate a set number of queries to run.",
|
||||||
&auto_actual_queries, &auto_actual_queries,
|
&auto_actual_queries, &auto_actual_queries,
|
||||||
0, GET_ULL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_ULL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"auto-generate-sql-guid-primary", OPT_SLAP_AUTO_GENERATE_GUID_PRIMARY,
|
{"auto-generate-sql-guid-primary", 0,
|
||||||
"Add GUID based primary keys to auto-generated tables.",
|
"Add GUID based primary keys to auto-generated tables.",
|
||||||
&auto_generate_sql_guid_primary,
|
&auto_generate_sql_guid_primary, &auto_generate_sql_guid_primary,
|
||||||
&auto_generate_sql_guid_primary,
|
|
||||||
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"auto-generate-sql-load-type", OPT_SLAP_AUTO_GENERATE_SQL_LOAD_TYPE,
|
{"auto-generate-sql-load-type", 0,
|
||||||
"Specify test load type: mixed, update, write, key, or read; default is mixed.",
|
"Specify test load type: mixed, update, write, key, or read; default is mixed.",
|
||||||
(char**) &auto_generate_sql_type, (char**) &auto_generate_sql_type,
|
(char**) &auto_generate_sql_type, (char**) &auto_generate_sql_type,
|
||||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"auto-generate-sql-secondary-indexes",
|
{"auto-generate-sql-secondary-indexes", 0,
|
||||||
OPT_SLAP_AUTO_GENERATE_SECONDARY_INDEXES,
|
|
||||||
"Number of secondary indexes to add to auto-generated tables.",
|
"Number of secondary indexes to add to auto-generated tables.",
|
||||||
&auto_generate_sql_secondary_indexes,
|
&auto_generate_sql_secondary_indexes,
|
||||||
&auto_generate_sql_secondary_indexes, 0,
|
&auto_generate_sql_secondary_indexes, 0,
|
||||||
GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"auto-generate-sql-unique-query-number",
|
{"auto-generate-sql-unique-query-number", 0,
|
||||||
OPT_SLAP_AUTO_GENERATE_UNIQUE_QUERY_NUM,
|
|
||||||
"Number of unique queries to generate for automatic tests.",
|
"Number of unique queries to generate for automatic tests.",
|
||||||
&auto_generate_sql_unique_query_number,
|
&auto_generate_sql_unique_query_number,
|
||||||
&auto_generate_sql_unique_query_number,
|
&auto_generate_sql_unique_query_number,
|
||||||
0, GET_ULL, REQUIRED_ARG, 10, 0, 0, 0, 0, 0},
|
0, GET_ULL, REQUIRED_ARG, 10, 0, 0, 0, 0, 0},
|
||||||
{"auto-generate-sql-unique-write-number",
|
{"auto-generate-sql-unique-write-number", 0,
|
||||||
OPT_SLAP_AUTO_GENERATE_UNIQUE_WRITE_NUM,
|
|
||||||
"Number of unique queries to generate for auto-generate-sql-write-number.",
|
"Number of unique queries to generate for auto-generate-sql-write-number.",
|
||||||
&auto_generate_sql_unique_write_number,
|
&auto_generate_sql_unique_write_number,
|
||||||
&auto_generate_sql_unique_write_number,
|
&auto_generate_sql_unique_write_number,
|
||||||
0, GET_ULL, REQUIRED_ARG, 10, 0, 0, 0, 0, 0},
|
0, GET_ULL, REQUIRED_ARG, 10, 0, 0, 0, 0, 0},
|
||||||
{"auto-generate-sql-write-number", OPT_SLAP_AUTO_GENERATE_WRITE_NUM,
|
{"auto-generate-sql-write-number", 0,
|
||||||
"Number of row inserts to perform for each thread (default is 100).",
|
"Number of row inserts to perform for each thread (default is 100).",
|
||||||
&auto_generate_sql_number, &auto_generate_sql_number,
|
&auto_generate_sql_number, &auto_generate_sql_number,
|
||||||
0, GET_ULL, REQUIRED_ARG, 100, 0, 0, 0, 0, 0},
|
0, GET_ULL, REQUIRED_ARG, 100, 0, 0, 0, 0, 0},
|
||||||
{"character-sets-dir", OPT_CHARSETS_DIR,
|
{"character-sets-dir", OPT_CHARSETS_DIR,
|
||||||
"Directory for character set files.", (char **)&charsets_dir,
|
"Directory for character set files.", (char **)&charsets_dir,
|
||||||
(char **)&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
(char **)&charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"commit", OPT_SLAP_COMMIT, "Commit records every X number of statements.",
|
{"commit", 0, "Commit records every X number of statements.",
|
||||||
&commit_rate, &commit_rate, 0, GET_UINT, REQUIRED_ARG,
|
&commit_rate, &commit_rate, 0, GET_UINT, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"compress", 'C', "Use compression in server/client protocol.",
|
{"compress", 'C', "Use compression in server/client protocol.",
|
||||||
@ -587,10 +582,10 @@ static struct my_option my_long_options[] =
|
|||||||
{"concurrency", 'c', "Number of clients to simulate for query to run.",
|
{"concurrency", 'c', "Number of clients to simulate for query to run.",
|
||||||
(char**) &concurrency_str, (char**) &concurrency_str, 0, GET_STR,
|
(char**) &concurrency_str, (char**) &concurrency_str, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"create", OPT_SLAP_CREATE_STRING, "File or string to use create tables.",
|
{"create", 0, "File or string to use create tables.",
|
||||||
&create_string, &create_string, 0, GET_STR, REQUIRED_ARG,
|
&create_string, &create_string, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"create-schema", OPT_CREATE_SLAP_SCHEMA, "Schema to run tests in.",
|
{"create-schema", 0, "Schema to run tests in.",
|
||||||
(char**) &create_schema_string, (char**) &create_schema_string, 0, GET_STR,
|
(char**) &create_schema_string, (char**) &create_schema_string, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"csv", OPT_SLAP_CSV,
|
{"csv", OPT_SLAP_CSV,
|
||||||
@ -604,12 +599,12 @@ static struct my_option my_long_options[] =
|
|||||||
(char**) &default_dbug_option, (char**) &default_dbug_option, 0, GET_STR,
|
(char**) &default_dbug_option, (char**) &default_dbug_option, 0, GET_STR,
|
||||||
OPT_ARG, 0, 0, 0, 0, 0, 0},
|
OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit.",
|
{"debug-check", 0, "Check memory and open file usage at exit.",
|
||||||
&debug_check_flag, &debug_check_flag, 0,
|
&debug_check_flag, &debug_check_flag, 0,
|
||||||
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"debug-info", 'T', "Print some debug info at exit.", &debug_info_flag,
|
{"debug-info", 'T', "Print some debug info at exit.", &debug_info_flag,
|
||||||
&debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&debug_info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"default_auth", OPT_DEFAULT_AUTH,
|
{"default_auth", 0,
|
||||||
"Default authentication client-side plugin to use.",
|
"Default authentication client-side plugin to use.",
|
||||||
&opt_default_auth, &opt_default_auth, 0,
|
&opt_default_auth, &opt_default_auth, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
@ -617,7 +612,7 @@ static struct my_option my_long_options[] =
|
|||||||
"Delimiter to use in SQL statements supplied in file or command line.",
|
"Delimiter to use in SQL statements supplied in file or command line.",
|
||||||
(char**) &delimiter, (char**) &delimiter, 0, GET_STR, REQUIRED_ARG,
|
(char**) &delimiter, (char**) &delimiter, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"detach", OPT_SLAP_DETACH,
|
{"detach", 0,
|
||||||
"Detach (close and reopen) connections after X number of requests.",
|
"Detach (close and reopen) connections after X number of requests.",
|
||||||
&detach_rate, &detach_rate, 0, GET_UINT, REQUIRED_ARG,
|
&detach_rate, &detach_rate, 0, GET_UINT, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
@ -629,14 +624,14 @@ static struct my_option my_long_options[] =
|
|||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"host", 'h', "Connect to host.", &host, &host, 0, GET_STR,
|
{"host", 'h', "Connect to host.", &host, &host, 0, GET_STR,
|
||||||
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"init-command", OPT_INIT_COMMAND,
|
{"init-command", 0,
|
||||||
"SQL Command to execute when connecting to MariaDB server. Will "
|
"SQL Command to execute when connecting to MariaDB server. Will "
|
||||||
"automatically be re-executed when reconnecting.",
|
"automatically be re-executed when reconnecting.",
|
||||||
&opt_init_command, &opt_init_command, 0,
|
&opt_init_command, &opt_init_command, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"iterations", 'i', "Number of times to run the tests.", &iterations,
|
{"iterations", 'i', "Number of times to run the tests.", &iterations,
|
||||||
&iterations, 0, GET_UINT, REQUIRED_ARG, 1, 0, 0, 0, 0, 0},
|
&iterations, 0, GET_UINT, REQUIRED_ARG, 1, 0, 0, 0, 0, 0},
|
||||||
{"no-drop", OPT_SLAP_NO_DROP, "Do not drop the schema after the test.",
|
{"no-drop", 0, "Do not drop the schema after the test.",
|
||||||
&opt_no_drop, &opt_no_drop, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_no_drop, &opt_no_drop, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"number-char-cols", 'x',
|
{"number-char-cols", 'x',
|
||||||
"Number of VARCHAR columns to create in table if specifying --auto-generate-sql.",
|
"Number of VARCHAR columns to create in table if specifying --auto-generate-sql.",
|
||||||
@ -646,11 +641,11 @@ static struct my_option my_long_options[] =
|
|||||||
"Number of INT columns to create in table if specifying --auto-generate-sql.",
|
"Number of INT columns to create in table if specifying --auto-generate-sql.",
|
||||||
(char**) &num_int_cols_opt, (char**) &num_int_cols_opt, 0, GET_STR, REQUIRED_ARG,
|
(char**) &num_int_cols_opt, (char**) &num_int_cols_opt, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"number-of-queries", OPT_MYSQL_NUMBER_OF_QUERY,
|
{"number-of-queries", 0,
|
||||||
"Limit each client to this number of queries (this is not exact).",
|
"Limit each client to this number of queries (this is not exact).",
|
||||||
&num_of_query, &num_of_query, 0,
|
&num_of_query, &num_of_query, 0,
|
||||||
GET_ULL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_ULL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"only-print", OPT_MYSQL_ONLY_PRINT,
|
{"only-print", 0,
|
||||||
"Do not connect to the databases, but instead print out what would have "
|
"Do not connect to the databases, but instead print out what would have "
|
||||||
"been done.",
|
"been done.",
|
||||||
&opt_only_print, &opt_only_print, 0, GET_BOOL, NO_ARG,
|
&opt_only_print, &opt_only_print, 0, GET_BOOL, NO_ARG,
|
||||||
@ -662,25 +657,25 @@ static struct my_option my_long_options[] =
|
|||||||
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
{"pipe", 'W', "Use named pipes to connect to server.", 0, 0, 0, GET_NO_ARG,
|
||||||
NO_ARG, 0, 0, 0, 0, 0, 0},
|
NO_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
#endif
|
#endif
|
||||||
{"plugin_dir", OPT_PLUGIN_DIR, "Directory for client-side plugins.",
|
{"plugin_dir", 0, "Directory for client-side plugins.",
|
||||||
&opt_plugin_dir, &opt_plugin_dir, 0,
|
&opt_plugin_dir, &opt_plugin_dir, 0,
|
||||||
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"port", 'P', "Port number to use for connection.", &opt_mysql_port,
|
{"port", 'P', "Port number to use for connection.", &opt_mysql_port,
|
||||||
&opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, MYSQL_PORT, 0, 0, 0, 0,
|
&opt_mysql_port, 0, GET_UINT, REQUIRED_ARG, MYSQL_PORT, 0, 0, 0, 0,
|
||||||
0},
|
0},
|
||||||
{"post-query", OPT_SLAP_POST_QUERY,
|
{"post-query", 0,
|
||||||
"Query to run or file containing query to execute after tests have completed.",
|
"Query to run or file containing query to execute after tests have completed.",
|
||||||
&user_supplied_post_statements, &user_supplied_post_statements,
|
&user_supplied_post_statements, &user_supplied_post_statements,
|
||||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"post-system", OPT_SLAP_POST_SYSTEM,
|
{"post-system", 0,
|
||||||
"system() string to execute after tests have completed.",
|
"system() string to execute after tests have completed.",
|
||||||
&post_system, &post_system,
|
&post_system, &post_system,
|
||||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"pre-query", OPT_SLAP_PRE_QUERY,
|
{"pre-query", 0,
|
||||||
"Query to run or file containing query to execute before running tests.",
|
"Query to run or file containing query to execute before running tests.",
|
||||||
&user_supplied_pre_statements, &user_supplied_pre_statements,
|
&user_supplied_pre_statements, &user_supplied_pre_statements,
|
||||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"pre-system", OPT_SLAP_PRE_SYSTEM,
|
{"pre-system", 0,
|
||||||
"system() string to execute before running tests.",
|
"system() string to execute before running tests.",
|
||||||
&pre_system, &pre_system,
|
&pre_system, &pre_system,
|
||||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
@ -44,16 +44,16 @@ MACRO(BUNDLE_PCRE2)
|
|||||||
SET(byproducts ${byproducts} BUILD_BYPRODUCTS ${file} ${file_d})
|
SET(byproducts ${byproducts} BUILD_BYPRODUCTS ${file} ${file_d})
|
||||||
SET_TARGET_PROPERTIES(${lib} PROPERTIES IMPORTED_LOCATION ${file})
|
SET_TARGET_PROPERTIES(${lib} PROPERTIES IMPORTED_LOCATION ${file})
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
FOREACH(v "" "_DEBUG" "_RELWITHDEBINFO" "_RELEASE" "_MINSIZEREL")
|
FOREACH(v "" "_DEBUG" "_RELWITHDEBINFO" "_RELEASE" "_MINSIZEREL")
|
||||||
STRING(REPLACE "/WX" "" pcre2_flags${v} "${CMAKE_C_FLAGS${v}}")
|
SET(pcre2_flags${v} "${CMAKE_C_FLAGS${v}}")
|
||||||
SET(pcre2_flags${v} "${pcre2_flags${v}} -std=c99 ")
|
|
||||||
IF(MSVC)
|
IF(MSVC)
|
||||||
|
STRING(REPLACE "/WX" "" pcre2_flags${v} "${pcre2_flags${v}}")
|
||||||
# Suppress a warning
|
# Suppress a warning
|
||||||
STRING(APPEND pcre2_flags${v} " /wd4244 /wd4267 " )
|
STRING(APPEND pcre2_flags${v} " /wd4244 /wd4267 " )
|
||||||
# Disable asan support
|
|
||||||
STRING(REPLACE "-fsanitize=address" "" pcre2_flags${v} "${pcre2_flags${v}}")
|
|
||||||
ENDIF()
|
ENDIF()
|
||||||
ENDFOREACH()
|
ENDFOREACH()
|
||||||
|
|
||||||
ExternalProject_Add(
|
ExternalProject_Add(
|
||||||
pcre2
|
pcre2
|
||||||
PREFIX "${dir}"
|
PREFIX "${dir}"
|
||||||
|
@ -46,7 +46,7 @@ MACRO(MYSQL_ADD_PLUGIN)
|
|||||||
${CMAKE_SOURCE_DIR}/sql
|
${CMAKE_SOURCE_DIR}/sql
|
||||||
${PCRE_INCLUDE_DIRS}
|
${PCRE_INCLUDE_DIRS}
|
||||||
${SSL_INCLUDE_DIRS}
|
${SSL_INCLUDE_DIRS}
|
||||||
${ZLIB_INCLUDE_DIR})
|
${ZLIB_INCLUDE_DIRS})
|
||||||
|
|
||||||
LIST(GET ARG_UNPARSED_ARGUMENTS 0 plugin)
|
LIST(GET ARG_UNPARSED_ARGUMENTS 0 plugin)
|
||||||
SET(SOURCES ${ARG_UNPARSED_ARGUMENTS})
|
SET(SOURCES ${ARG_UNPARSED_ARGUMENTS})
|
||||||
|
@ -60,6 +60,7 @@ MACRO (MYSQL_USE_BUNDLED_SSL)
|
|||||||
SET(HAVE_EncryptAes128Ctr OFF CACHE INTERNAL "wolfssl does support AES-CTR, but differently from openssl")
|
SET(HAVE_EncryptAes128Ctr OFF CACHE INTERNAL "wolfssl does support AES-CTR, but differently from openssl")
|
||||||
SET(HAVE_EncryptAes128Gcm OFF CACHE INTERNAL "wolfssl does not support AES-GCM")
|
SET(HAVE_EncryptAes128Gcm OFF CACHE INTERNAL "wolfssl does not support AES-GCM")
|
||||||
SET(HAVE_X509_check_host ON CACHE INTERNAL "wolfssl does support X509_check_host")
|
SET(HAVE_X509_check_host ON CACHE INTERNAL "wolfssl does support X509_check_host")
|
||||||
|
SET(HAVE_des ON CACHE INTERNAL "wolfssl does support DES API")
|
||||||
CHANGE_SSL_SETTINGS("bundled")
|
CHANGE_SSL_SETTINGS("bundled")
|
||||||
ADD_SUBDIRECTORY(extra/wolfssl)
|
ADD_SUBDIRECTORY(extra/wolfssl)
|
||||||
MESSAGE_ONCE(SSL_LIBRARIES "SSL_LIBRARIES = ${SSL_LIBRARIES}")
|
MESSAGE_ONCE(SSL_LIBRARIES "SSL_LIBRARIES = ${SSL_LIBRARIES}")
|
||||||
@ -158,6 +159,8 @@ MACRO (MYSQL_CHECK_SSL)
|
|||||||
HAVE_EncryptAes128Gcm)
|
HAVE_EncryptAes128Gcm)
|
||||||
CHECK_SYMBOL_EXISTS(X509_check_host "openssl/x509v3.h"
|
CHECK_SYMBOL_EXISTS(X509_check_host "openssl/x509v3.h"
|
||||||
HAVE_X509_check_host)
|
HAVE_X509_check_host)
|
||||||
|
CHECK_SYMBOL_EXISTS(DES_set_key_unchecked "openssl/des.h"
|
||||||
|
HAVE_des)
|
||||||
SET(CMAKE_REQUIRED_INCLUDES)
|
SET(CMAKE_REQUIRED_INCLUDES)
|
||||||
SET(CMAKE_REQUIRED_LIBRARIES)
|
SET(CMAKE_REQUIRED_LIBRARIES)
|
||||||
SET(CMAKE_REQUIRED_DEFINITIONS)
|
SET(CMAKE_REQUIRED_DEFINITIONS)
|
||||||
|
@ -14,9 +14,12 @@
|
|||||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
||||||
|
|
||||||
MACRO (MYSQL_USE_BUNDLED_ZLIB)
|
MACRO (MYSQL_USE_BUNDLED_ZLIB)
|
||||||
SET(ZLIB_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_BINARY_DIR}/zlib)
|
SET(ZLIB_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/zlib ${CMAKE_BINARY_DIR}/zlib)
|
||||||
SET(BUILD_BUNDLED_ZLIB 1)
|
SET(BUILD_BUNDLED_ZLIB 1)
|
||||||
SET(ZLIB_LIBRARY zlib CACHE INTERNAL "Bundled zlib library")
|
SET(ZLIB_LIBRARIES zlib CACHE INTERNAL "Bundled zlib library")
|
||||||
|
# temporarily define ZLIB_LIBRARY and ZLIB_INCLUDE_DIR for libmariadb
|
||||||
|
SET(ZLIB_LIBRARY ${ZLIB_LIBRARIES})
|
||||||
|
SET(ZLIB_INCLUDE_DIR ${ZLIB_INCLUDE_DIRS})
|
||||||
SET(ZLIB_FOUND TRUE)
|
SET(ZLIB_FOUND TRUE)
|
||||||
SET(WITH_ZLIB "bundled" CACHE STRING "Use bundled zlib")
|
SET(WITH_ZLIB "bundled" CACHE STRING "Use bundled zlib")
|
||||||
ADD_SUBDIRECTORY(zlib)
|
ADD_SUBDIRECTORY(zlib)
|
||||||
@ -29,7 +32,7 @@ ENDMACRO()
|
|||||||
# If this is set,we use bundled zlib
|
# If this is set,we use bundled zlib
|
||||||
# If this is not set,search for system zlib.
|
# If this is not set,search for system zlib.
|
||||||
# if system zlib is not found, use bundled copy
|
# if system zlib is not found, use bundled copy
|
||||||
# ZLIB_LIBRARIES, ZLIB_INCLUDE_DIR and ZLIB_SOURCES
|
# ZLIB_LIBRARIES, ZLIB_INCLUDE_DIRS
|
||||||
# are set after this macro has run
|
# are set after this macro has run
|
||||||
|
|
||||||
MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
|
MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
|
||||||
@ -52,7 +55,6 @@ MACRO (MYSQL_CHECK_ZLIB_WITH_COMPRESS)
|
|||||||
IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND)
|
IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND)
|
||||||
SET(WITH_ZLIB "system" CACHE STRING
|
SET(WITH_ZLIB "system" CACHE STRING
|
||||||
"Which zlib to use (possible values are 'bundled' or 'system')")
|
"Which zlib to use (possible values are 'bundled' or 'system')")
|
||||||
SET(ZLIB_SOURCES "")
|
|
||||||
ELSE()
|
ELSE()
|
||||||
SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable")
|
SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable")
|
||||||
MESSAGE(STATUS "system zlib found but not usable")
|
MESSAGE(STATUS "system zlib found but not usable")
|
||||||
|
@ -499,6 +499,7 @@
|
|||||||
#cmakedefine HAVE_COMPRESS 1
|
#cmakedefine HAVE_COMPRESS 1
|
||||||
#cmakedefine HAVE_EncryptAes128Ctr 1
|
#cmakedefine HAVE_EncryptAes128Ctr 1
|
||||||
#cmakedefine HAVE_EncryptAes128Gcm 1
|
#cmakedefine HAVE_EncryptAes128Gcm 1
|
||||||
|
#cmakedefine HAVE_des 1
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Stuff that always need to be defined (compile breaks without it)
|
Stuff that always need to be defined (compile breaks without it)
|
||||||
|
@ -60,15 +60,6 @@ IF(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang" AND (NOT MSVC))
|
|||||||
ENDIF()
|
ENDIF()
|
||||||
ENDIF()
|
ENDIF()
|
||||||
|
|
||||||
# workaround for old gcc on x86, gcc atomic ops only work under -march=i686
|
|
||||||
IF(CMAKE_SYSTEM_PROCESSOR STREQUAL "i686" AND CMAKE_COMPILER_IS_GNUCC AND
|
|
||||||
CMAKE_C_COMPILER_VERSION VERSION_LESS "4.4.0")
|
|
||||||
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -march=i686")
|
|
||||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=i686")
|
|
||||||
# query_response_time.cc causes "error: unable to find a register to spill"
|
|
||||||
SET(PLUGIN_QUERY_RESPONSE_TIME NO CACHE BOOL "Disabled, gcc is too old")
|
|
||||||
ENDIF()
|
|
||||||
|
|
||||||
# use runtime atomic-support detection in aarch64
|
# use runtime atomic-support detection in aarch64
|
||||||
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
IF(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
|
||||||
MY_CHECK_AND_SET_COMPILER_FLAG("-moutline-atomics")
|
MY_CHECK_AND_SET_COMPILER_FLAG("-moutline-atomics")
|
||||||
|
2
debian/rules
vendored
2
debian/rules
vendored
@ -24,7 +24,7 @@ ifneq (,$(filter linux,$(DEB_HOST_ARCH_OS)))
|
|||||||
endif
|
endif
|
||||||
|
|
||||||
BUILDDIR := builddir
|
BUILDDIR := builddir
|
||||||
DEB_VERSION_REVISION := $(shell echo $(DEB_VERSION) | sed -e 's/^.*-//')
|
DEB_VERSION_REVISION := $(shell echo $(DEB_VERSION) | sed -e 's/.*[~-]\(.*\)/\1/')
|
||||||
RELEASE := $(shell lsb_release -r -s) # Use changelog based DEB_DISTRIBUTION instead?
|
RELEASE := $(shell lsb_release -r -s) # Use changelog based DEB_DISTRIBUTION instead?
|
||||||
TMP:=$(CURDIR)/debian/tmp
|
TMP:=$(CURDIR)/debian/tmp
|
||||||
|
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
# along with this program; if not, write to the Free Software
|
# along with this program; if not, write to the Free Software
|
||||||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1335 USA
|
||||||
|
|
||||||
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${ZLIB_INCLUDE_DIR})
|
INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include ${ZLIB_INCLUDE_DIRS})
|
||||||
|
|
||||||
# Default install component for the files is Server here
|
# Default install component for the files is Server here
|
||||||
SET(MYSQL_INSTALL_COMPONENT Server)
|
SET(MYSQL_INSTALL_COMPONENT Server)
|
||||||
|
@ -66,7 +66,7 @@ Street, Fifth Floor, Boston, MA 02110-1335 USA
|
|||||||
#include "page0zip.h"
|
#include "page0zip.h"
|
||||||
|
|
||||||
char *tool_name;
|
char *tool_name;
|
||||||
char tool_args[2048];
|
char tool_args[8192];
|
||||||
|
|
||||||
/* mysql flavor and version */
|
/* mysql flavor and version */
|
||||||
mysql_flavor_t server_flavor = FLAVOR_UNKNOWN;
|
mysql_flavor_t server_flavor = FLAVOR_UNKNOWN;
|
||||||
@ -1942,9 +1942,11 @@ char *make_argv(char *buf, size_t len, int argc, char **argv)
|
|||||||
if (strncmp(*argv, "--password", strlen("--password")) == 0) {
|
if (strncmp(*argv, "--password", strlen("--password")) == 0) {
|
||||||
arg = "--password=...";
|
arg = "--password=...";
|
||||||
}
|
}
|
||||||
left-= snprintf(buf + len - left, left,
|
uint l= snprintf(buf + len - left, left,
|
||||||
"%s%c", arg, argc > 1 ? ' ' : 0);
|
"%s%c", arg, argc > 1 ? ' ' : 0);
|
||||||
++argv; --argc;
|
++argv; --argc;
|
||||||
|
if (l < left)
|
||||||
|
left-= l;
|
||||||
}
|
}
|
||||||
|
|
||||||
return buf;
|
return buf;
|
||||||
|
@ -71,7 +71,16 @@ static std::string get_encryption_plugin_from_cnf()
|
|||||||
plugin_load = line + 12;
|
plugin_load = line + 12;
|
||||||
// remote \n at the end of string
|
// remote \n at the end of string
|
||||||
plugin_load.resize(plugin_load.size() - 1);
|
plugin_load.resize(plugin_load.size() - 1);
|
||||||
break;
|
}
|
||||||
|
|
||||||
|
if (strncmp(line, "innodb_encrypt_tables=", 22) == 0)
|
||||||
|
{
|
||||||
|
if (!strncmp(line + 22, "ON", 2) ||
|
||||||
|
!strncmp(line + 22, "1", 1))
|
||||||
|
srv_encrypt_tables= 1;
|
||||||
|
else if (!strncmp(line + 22, "FORCE", 5) ||
|
||||||
|
!strncmp(line + 22, "2", 1))
|
||||||
|
srv_encrypt_tables= 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
fclose(f);
|
fclose(f);
|
||||||
@ -154,6 +163,17 @@ void encryption_plugin_backup_init(MYSQL *mysql)
|
|||||||
|
|
||||||
mysql_free_result(result);
|
mysql_free_result(result);
|
||||||
|
|
||||||
|
result = xb_mysql_query(mysql, "select @@innodb_encrypt_tables", true, true);
|
||||||
|
row = mysql_fetch_row(result);
|
||||||
|
if (!row);
|
||||||
|
else if (const char *r= row[0])
|
||||||
|
{
|
||||||
|
if (!strcmp(r, "ON")) srv_encrypt_tables= 1;
|
||||||
|
else if (!strcmp(r, "FORCE")) srv_encrypt_tables= 2;
|
||||||
|
oss << "innodb_encrypt_tables=" << r << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
|
mysql_free_result(result);
|
||||||
encryption_plugin_config = oss.str();
|
encryption_plugin_config = oss.str();
|
||||||
|
|
||||||
argc = 0;
|
argc = 0;
|
||||||
|
@ -4,7 +4,7 @@ MariaBackup: hot backup tool for InnoDB
|
|||||||
Originally Created 3/3/2009 Yasufumi Kinoshita
|
Originally Created 3/3/2009 Yasufumi Kinoshita
|
||||||
Written by Alexey Kopytov, Aleksandr Kuzminsky, Stewart Smith, Vadim Tkachenko,
|
Written by Alexey Kopytov, Aleksandr Kuzminsky, Stewart Smith, Vadim Tkachenko,
|
||||||
Yasufumi Kinoshita, Ignacio Nin and Baron Schwartz.
|
Yasufumi Kinoshita, Ignacio Nin and Baron Schwartz.
|
||||||
(c) 2017, 2022, MariaDB Corporation.
|
(c) 2017, 2024, MariaDB Corporation.
|
||||||
Portions written by Marko Mäkelä.
|
Portions written by Marko Mäkelä.
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
This program is free software; you can redistribute it and/or modify
|
||||||
@ -1759,7 +1759,7 @@ struct my_option xb_server_options[] =
|
|||||||
&aria_log_dir_path, &aria_log_dir_path,
|
&aria_log_dir_path, &aria_log_dir_path,
|
||||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
|
|
||||||
{"open_files_limit", OPT_OPEN_FILES_LIMIT, "the maximum number of file "
|
{"open_files_limit", 0, "the maximum number of file "
|
||||||
"descriptors to reserve with setrlimit().",
|
"descriptors to reserve with setrlimit().",
|
||||||
(G_PTR*) &xb_open_files_limit, (G_PTR*) &xb_open_files_limit, 0, GET_ULONG,
|
(G_PTR*) &xb_open_files_limit, (G_PTR*) &xb_open_files_limit, 0, GET_ULONG,
|
||||||
REQUIRED_ARG, 0, 0, UINT_MAX, 0, 1, 0},
|
REQUIRED_ARG, 0, 0, UINT_MAX, 0, 1, 0},
|
||||||
|
Submodule extra/wolfssl/wolfssl updated: 66596ad9e1...8970ff4c34
@ -19,13 +19,12 @@
|
|||||||
|
|
||||||
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
|
#if defined(HAVE_OPENSSL) && !defined(EMBEDDED_LIBRARY)
|
||||||
|
|
||||||
{"ssl", OPT_SSL_SSL,
|
{"ssl", 0,
|
||||||
"Enable SSL for connection (automatically enabled with other flags).",
|
"Enable SSL for connection (automatically enabled with other flags).",
|
||||||
&opt_use_ssl, &opt_use_ssl, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
&opt_use_ssl, &opt_use_ssl, 0, GET_BOOL, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
{"ssl-ca", OPT_SSL_CA,
|
{"ssl-ca", OPT_SSL_CA,
|
||||||
"CA file in PEM format (check OpenSSL docs, implies --ssl).",
|
"CA file in PEM format (check OpenSSL docs, implies --ssl).",
|
||||||
&opt_ssl_ca, &opt_ssl_ca, 0, GET_STR, REQUIRED_ARG,
|
&opt_ssl_ca, &opt_ssl_ca, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||||
0, 0, 0, 0, 0, 0},
|
|
||||||
{"ssl-capath", OPT_SSL_CAPATH,
|
{"ssl-capath", OPT_SSL_CAPATH,
|
||||||
"CA directory (check OpenSSL docs, implies --ssl).",
|
"CA directory (check OpenSSL docs, implies --ssl).",
|
||||||
&opt_ssl_capath, &opt_ssl_capath, 0, GET_STR, REQUIRED_ARG,
|
&opt_ssl_capath, &opt_ssl_capath, 0, GET_STR, REQUIRED_ARG,
|
||||||
@ -46,13 +45,12 @@
|
|||||||
"Certificate revocation list path (implies --ssl).",
|
"Certificate revocation list path (implies --ssl).",
|
||||||
&opt_ssl_crlpath, &opt_ssl_crlpath, 0, GET_STR, REQUIRED_ARG,
|
&opt_ssl_crlpath, &opt_ssl_crlpath, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
{"tls-version", OPT_TLS_VERSION,
|
{"tls-version", 0, "TLS protocol version for secure connection.",
|
||||||
"TLS protocol version for secure connection.",
|
|
||||||
&opt_tls_version, &opt_tls_version, 0, GET_STR, REQUIRED_ARG,
|
&opt_tls_version, &opt_tls_version, 0, GET_STR, REQUIRED_ARG,
|
||||||
0, 0, 0, 0, 0, 0},
|
0, 0, 0, 0, 0, 0},
|
||||||
|
|
||||||
#ifdef MYSQL_CLIENT
|
#ifdef MYSQL_CLIENT
|
||||||
{"ssl-verify-server-cert", OPT_SSL_VERIFY_SERVER_CERT,
|
{"ssl-verify-server-cert", 0,
|
||||||
"Verify server's \"Common Name\" in its cert against hostname used "
|
"Verify server's \"Common Name\" in its cert against hostname used "
|
||||||
"when connecting. This option is disabled by default.",
|
"when connecting. This option is disabled by default.",
|
||||||
&opt_ssl_verify_server_cert, &opt_ssl_verify_server_cert,
|
&opt_ssl_verify_server_cert, &opt_ssl_verify_server_cert,
|
||||||
|
@ -24,7 +24,7 @@ ${CMAKE_SOURCE_DIR}/sql
|
|||||||
${CMAKE_SOURCE_DIR}/tpool
|
${CMAKE_SOURCE_DIR}/tpool
|
||||||
${CMAKE_BINARY_DIR}/sql
|
${CMAKE_BINARY_DIR}/sql
|
||||||
${PCRE_INCLUDE_DIRS}
|
${PCRE_INCLUDE_DIRS}
|
||||||
${ZLIB_INCLUDE_DIR}
|
${ZLIB_INCLUDE_DIRS}
|
||||||
${SSL_INCLUDE_DIRS}
|
${SSL_INCLUDE_DIRS}
|
||||||
${SSL_INTERNAL_INCLUDE_DIRS}
|
${SSL_INTERNAL_INCLUDE_DIRS}
|
||||||
)
|
)
|
||||||
@ -174,7 +174,7 @@ ENDIF()
|
|||||||
|
|
||||||
SET(LIBS
|
SET(LIBS
|
||||||
dbug strings mysys mysys_ssl pcre2-8 vio
|
dbug strings mysys mysys_ssl pcre2-8 vio
|
||||||
${ZLIB_LIBRARY} ${SSL_LIBRARIES}
|
${ZLIB_LIBRARIES} ${SSL_LIBRARIES}
|
||||||
${LIBWRAP} ${LIBCRYPT} ${CMAKE_DL_LIBS}
|
${LIBWRAP} ${LIBCRYPT} ${CMAKE_DL_LIBS}
|
||||||
${EMBEDDED_PLUGIN_LIBS}
|
${EMBEDDED_PLUGIN_LIBS}
|
||||||
sql_embedded
|
sql_embedded
|
||||||
|
@ -112,8 +112,7 @@ sub print_gcov_for_diff {
|
|||||||
$acc.=sprintf '%9s:%5s:%s', '', $lnum, $' if /^ /;
|
$acc.=sprintf '%9s:%5s:%s', '', $lnum, $' if /^ /;
|
||||||
++$printme, $acc.=sprintf '%9s:%5s:%s', gcov_prefix($fcov->{$lnum}), $lnum, $' if /^\+/;
|
++$printme, $acc.=sprintf '%9s:%5s:%s', gcov_prefix($fcov->{$lnum}), $lnum, $' if /^\+/;
|
||||||
die "$_^^^ dying", unless /^[- +]/;
|
die "$_^^^ dying", unless /^[- +]/;
|
||||||
++$lnum;
|
++$lnum, --$cnt unless /^-/;
|
||||||
--$cnt;
|
|
||||||
}
|
}
|
||||||
print $acc if $printme;
|
print $acc if $printme;
|
||||||
close PIPE or die "command '$cmd' failed: $!: $?";
|
close PIPE or die "command '$cmd' failed: $!: $?";
|
||||||
|
@ -71,7 +71,7 @@ loose-performance-schema-hosts-size=100
|
|||||||
loose-performance-schema-users-size=100
|
loose-performance-schema-users-size=100
|
||||||
loose-performance-schema-max-mutex-instances=5000
|
loose-performance-schema-max-mutex-instances=5000
|
||||||
loose-performance-schema-max-rwlock-instances=5000
|
loose-performance-schema-max-rwlock-instances=5000
|
||||||
loose-performance-schema-max-cond-instances=1000
|
loose-performance-schema-max-cond-instances=1500
|
||||||
loose-performance-schema-max-file-instances=10000
|
loose-performance-schema-max-file-instances=10000
|
||||||
loose-performance-schema-max-socket-instances=1000
|
loose-performance-schema-max-socket-instances=1000
|
||||||
loose-performance-schema-max-table-instances=500
|
loose-performance-schema-max-table-instances=500
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
[innodb_plugin]
|
|
||||||
ignore-builtin-innodb
|
|
||||||
plugin-load-add=$HA_INNODB_SO
|
|
||||||
innodb
|
|
||||||
innodb-cmpmem
|
|
||||||
innodb-cmp-per-index
|
|
||||||
innodb-trx
|
|
||||||
innodb-locks
|
|
||||||
innodb-lock-waits
|
|
||||||
innodb-buffer-pool-stats
|
|
||||||
innodb-buffer-page
|
|
||||||
innodb-buffer-page-lru
|
|
||||||
innodb-sys-columns
|
|
||||||
innodb-sys-fields
|
|
||||||
innodb-sys-foreign
|
|
||||||
innodb-sys-foreign-cols
|
|
||||||
innodb-sys-indexes
|
|
||||||
innodb-sys-tables
|
|
||||||
innodb-sys-virtual
|
|
||||||
innodb-metrics
|
|
||||||
|
|
||||||
[innodb]
|
|
||||||
innodb
|
|
||||||
innodb-cmpmem
|
|
||||||
innodb-cmp-per-index
|
|
||||||
innodb-trx
|
|
||||||
innodb-locks
|
|
||||||
innodb-lock-waits
|
|
||||||
innodb-metrics
|
|
||||||
innodb-buffer-pool-stats
|
|
||||||
innodb-buffer-page
|
|
||||||
innodb-buffer-page-lru
|
|
||||||
innodb-sys-columns
|
|
||||||
innodb-sys-fields
|
|
||||||
innodb-sys-foreign
|
|
||||||
innodb-sys-foreign-cols
|
|
||||||
innodb-sys-indexes
|
|
||||||
innodb-sys-tables
|
|
||||||
innodb-sys-virtual
|
|
17
mysql-test/include/have_innodb.opt
Normal file
17
mysql-test/include/have_innodb.opt
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
--innodb
|
||||||
|
--innodb-cmpmem
|
||||||
|
--innodb-cmp-per-index
|
||||||
|
--innodb-trx
|
||||||
|
--innodb-locks
|
||||||
|
--innodb-lock-waits
|
||||||
|
--innodb-metrics
|
||||||
|
--innodb-buffer-pool-stats
|
||||||
|
--innodb-buffer-page
|
||||||
|
--innodb-buffer-page-lru
|
||||||
|
--innodb-sys-columns
|
||||||
|
--innodb-sys-fields
|
||||||
|
--innodb-sys-foreign
|
||||||
|
--innodb-sys-foreign-cols
|
||||||
|
--innodb-sys-indexes
|
||||||
|
--innodb-sys-tables
|
||||||
|
--innodb-sys-virtual
|
@ -1,4 +1,3 @@
|
|||||||
--source include/have_innodb.inc
|
|
||||||
#
|
#
|
||||||
# Bug #24200: Provide backwards compatibility mode for 4.x "rollback on
|
# Bug #24200: Provide backwards compatibility mode for 4.x "rollback on
|
||||||
# transaction timeout"
|
# transaction timeout"
|
||||||
|
@ -23,7 +23,7 @@ use File::Path;
|
|||||||
use Carp;
|
use Carp;
|
||||||
|
|
||||||
use base qw(Exporter);
|
use base qw(Exporter);
|
||||||
our @EXPORT= qw(IS_CYGWIN IS_MSYS IS_WINDOWS IS_WIN32PERL IS_AIX
|
our @EXPORT= qw(IS_CYGWIN IS_MSYS IS_WINDOWS IS_WIN32PERL IS_AIX IS_MAC
|
||||||
native_path posix_path mixed_path
|
native_path posix_path mixed_path
|
||||||
check_socket_path_length process_alive open_for_append);
|
check_socket_path_length process_alive open_for_append);
|
||||||
|
|
||||||
@ -70,6 +70,14 @@ BEGIN {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BEGIN {
|
||||||
|
if ($^O eq "darwin") {
|
||||||
|
eval 'sub IS_MAC { 1 }';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
eval 'sub IS_MAC { 0 }';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#
|
#
|
||||||
# native_path
|
# native_path
|
||||||
|
@ -719,6 +719,7 @@ ca cb
|
|||||||
utf8mb3_general_ci utf8mb3_general_ci
|
utf8mb3_general_ci utf8mb3_general_ci
|
||||||
|
|
||||||
---> Dump of mysqltest1
|
---> Dump of mysqltest1
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -795,6 +796,7 @@ ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
|||||||
---> Dumping mysqltest1 to ddl_i18n_koi8r.sp.mysqltest1.sql
|
---> Dumping mysqltest1 to ddl_i18n_koi8r.sp.mysqltest1.sql
|
||||||
|
|
||||||
---> Dump of mysqltest2
|
---> Dump of mysqltest2
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -1723,6 +1725,7 @@ koi8r_general_ci utf8mb3_general_ci koi8r_general_ci koi8r_general_ci utf8mb3_ge
|
|||||||
DELETE FROM mysqltest2.log|
|
DELETE FROM mysqltest2.log|
|
||||||
|
|
||||||
---> Dump of mysqltest1
|
---> Dump of mysqltest1
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -1802,6 +1805,7 @@ ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
|||||||
---> Dumping mysqltest1 to ddl_i18n_koi8r.triggers.mysqltest1.sql
|
---> Dumping mysqltest1 to ddl_i18n_koi8r.triggers.mysqltest1.sql
|
||||||
|
|
||||||
---> Dump of mysqltest2
|
---> Dump of mysqltest2
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -2485,6 +2489,7 @@ COLLATION( '
|
|||||||
END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
|
END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 koi8r koi8r_general_ci utf8mb3_unicode_ci
|
||||||
|
|
||||||
---> Dump of mysqltest1
|
---> Dump of mysqltest1
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -2552,6 +2557,7 @@ DELIMITER ;
|
|||||||
---> Dumping mysqltest1 to ddl_i18n_koi8r.events.mysqltest1.sql
|
---> Dumping mysqltest1 to ddl_i18n_koi8r.events.mysqltest1.sql
|
||||||
|
|
||||||
---> Dump of mysqltest2
|
---> Dump of mysqltest2
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
|
@ -719,6 +719,7 @@ ca cb
|
|||||||
utf8mb3_general_ci utf8mb3_general_ci
|
utf8mb3_general_ci utf8mb3_general_ci
|
||||||
|
|
||||||
---> Dump of mysqltest1
|
---> Dump of mysqltest1
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -795,6 +796,7 @@ ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
|||||||
---> Dumping mysqltest1 to ddl_i18n_utf8sp.mysqltest1.sql
|
---> Dumping mysqltest1 to ddl_i18n_utf8sp.mysqltest1.sql
|
||||||
|
|
||||||
---> Dump of mysqltest2
|
---> Dump of mysqltest2
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -1723,6 +1725,7 @@ utf8mb3_general_ci utf8mb3_general_ci koi8r_general_ci utf8mb3_general_ci utf8mb
|
|||||||
DELETE FROM mysqltest2.log|
|
DELETE FROM mysqltest2.log|
|
||||||
|
|
||||||
---> Dump of mysqltest1
|
---> Dump of mysqltest1
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -1802,6 +1805,7 @@ ALTER DATABASE `mysqltest1` CHARACTER SET cp866 COLLATE cp866_general_ci ;
|
|||||||
---> Dumping mysqltest1 to ddl_i18n_utf8triggers.mysqltest1.sql
|
---> Dumping mysqltest1 to ddl_i18n_utf8triggers.mysqltest1.sql
|
||||||
|
|
||||||
---> Dump of mysqltest2
|
---> Dump of mysqltest2
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -2485,6 +2489,7 @@ COLLATION( 'текст') AS c4,
|
|||||||
END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
|
END ONE TIME 1970-01-02 00:00:00 NULL NULL NULL NULL DISABLED PRESERVE CREATED LAST_ALTERED NULL 1 utf8mb3 utf8mb3_general_ci utf8mb3_unicode_ci
|
||||||
|
|
||||||
---> Dump of mysqltest1
|
---> Dump of mysqltest1
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
@ -2552,6 +2557,7 @@ DELIMITER ;
|
|||||||
---> Dumping mysqltest1 to ddl_i18n_utf8events.mysqltest1.sql
|
---> Dumping mysqltest1 to ddl_i18n_utf8events.mysqltest1.sql
|
||||||
|
|
||||||
---> Dump of mysqltest2
|
---> Dump of mysqltest2
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest2` /*!40100 DEFAULT CHARACTER SET cp866 COLLATE cp866_general_ci */;
|
||||||
|
|
||||||
|
@ -858,5 +858,62 @@ SELECT * FROM t1 WHERE t1.a IN (SELECT b FROM
|
|||||||
(SELECT t2.b FROM t2 WHERE NOT EXISTS (SELECT 1 FROM t3) GROUP BY b) sq);
|
(SELECT t2.b FROM t2 WHERE NOT EXISTS (SELECT 1 FROM t3) GROUP BY b) sq);
|
||||||
a
|
a
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
|
#
|
||||||
|
# MDEV-23878: Wrong result with semi-join and splittable derived table
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
groupId int,
|
||||||
|
id int unsigned,
|
||||||
|
PRIMARY KEY (groupId, id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||||
|
INSERT INTO t1 VALUES
|
||||||
|
(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(8,10),
|
||||||
|
(8,11),(8,12),(8,13),(8,14),(8,15),(8,16),(8,17),(8,18),(8,19);
|
||||||
|
set statement in_predicate_conversion_threshold=2 for SELECT COUNT(*) AS cnt FROM t1
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT groupId, id
|
||||||
|
FROM t1
|
||||||
|
WHERE id IN (1,2,3,4,5,6)
|
||||||
|
GROUP BY groupId, id
|
||||||
|
) AS t2
|
||||||
|
USING (groupId, id)
|
||||||
|
WHERE id IN (1,2,3,4,5,6,7,8);
|
||||||
|
cnt
|
||||||
|
6
|
||||||
|
set statement in_predicate_conversion_threshold=2 for EXPLAIN SELECT COUNT(*) AS cnt FROM t1
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT groupId, id
|
||||||
|
FROM t1
|
||||||
|
WHERE id IN (1,2,3,4,5,6)
|
||||||
|
GROUP BY groupId, id
|
||||||
|
) AS t2
|
||||||
|
USING (groupId, id)
|
||||||
|
WHERE id IN (1,2,3,4,5,6,7,8);
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 index PRIMARY PRIMARY 8 NULL 19 Using index
|
||||||
|
1 PRIMARY <subquery4> eq_ref distinct_key distinct_key 4 func 1 Using where
|
||||||
|
1 PRIMARY <derived3> ref key0 key0 8 test.t1.groupId,test.t1.id 2
|
||||||
|
4 MATERIALIZED <derived5> ALL NULL NULL NULL NULL 8
|
||||||
|
5 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||||
|
3 LATERAL DERIVED t1 eq_ref PRIMARY PRIMARY 8 test.t1.groupId,test.t1.id 1 Using index
|
||||||
|
3 LATERAL DERIVED <derived7> ref key0 key0 4 test.t1.id 2 Using where; FirstMatch(t1)
|
||||||
|
7 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||||
|
set statement optimizer_switch='split_materialized=off, loosescan=off' for
|
||||||
|
set statement in_predicate_conversion_threshold=2 for
|
||||||
|
SELECT COUNT(*) AS cnt FROM t1
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT groupId, id
|
||||||
|
FROM t1
|
||||||
|
WHERE id IN (1,2,3,4,5,6)
|
||||||
|
GROUP BY groupId, id
|
||||||
|
) AS t2
|
||||||
|
USING (groupId, id)
|
||||||
|
WHERE id IN (1,2,3,4,5,6,7,8);
|
||||||
|
cnt
|
||||||
|
6
|
||||||
|
DROP TABLE t1;
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
|
SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
|
||||||
|
@ -505,6 +505,48 @@ SELECT * FROM t1 WHERE t1.a IN (SELECT b FROM
|
|||||||
|
|
||||||
DROP TABLE t1, t2, t3;
|
DROP TABLE t1, t2, t3;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-23878: Wrong result with semi-join and splittable derived table
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (
|
||||||
|
groupId int,
|
||||||
|
id int unsigned,
|
||||||
|
PRIMARY KEY (groupId, id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
|
||||||
|
|
||||||
|
INSERT INTO t1 VALUES
|
||||||
|
(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(8,10),
|
||||||
|
(8,11),(8,12),(8,13),(8,14),(8,15),(8,16),(8,17),(8,18),(8,19);
|
||||||
|
|
||||||
|
let $query=
|
||||||
|
SELECT COUNT(*) AS cnt FROM t1
|
||||||
|
JOIN
|
||||||
|
(
|
||||||
|
SELECT groupId, id
|
||||||
|
FROM t1
|
||||||
|
WHERE id IN (1,2,3,4,5,6)
|
||||||
|
GROUP BY groupId, id
|
||||||
|
) AS t2
|
||||||
|
USING (groupId, id)
|
||||||
|
WHERE id IN (1,2,3,4,5,6,7,8);
|
||||||
|
|
||||||
|
let $tvc_conversion_threshold =
|
||||||
|
set statement in_predicate_conversion_threshold=2 for;
|
||||||
|
|
||||||
|
eval $tvc_conversion_threshold $query;
|
||||||
|
eval $tvc_conversion_threshold EXPLAIN $query;
|
||||||
|
|
||||||
|
let $no_split_materialized_loosescan=
|
||||||
|
set statement optimizer_switch='split_materialized=off, loosescan=off' for;
|
||||||
|
|
||||||
|
# Correct result with split materializied optimization disabled
|
||||||
|
eval $no_split_materialized_loosescan
|
||||||
|
$tvc_conversion_threshold
|
||||||
|
$query;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
|
|
||||||
SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
|
SET GLOBAL innodb_stats_persistent=@save_innodb_stats_persistent;
|
||||||
|
@ -2,83 +2,83 @@ select des_encrypt("test", 'akeystr');
|
|||||||
des_encrypt("test", 'akeystr')
|
des_encrypt("test", 'akeystr')
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_encrypt("test", 1);
|
select des_encrypt("test", 1);
|
||||||
des_encrypt("test", 1)
|
des_encrypt("test", 1)
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_encrypt("test", 9);
|
select des_encrypt("test", 9);
|
||||||
des_encrypt("test", 9)
|
des_encrypt("test", 9)
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_encrypt("test", 100);
|
select des_encrypt("test", 100);
|
||||||
des_encrypt("test", 100)
|
des_encrypt("test", 100)
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_encrypt("test", NULL);
|
select des_encrypt("test", NULL);
|
||||||
des_encrypt("test", NULL)
|
des_encrypt("test", NULL)
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_encrypt(NULL, NULL);
|
select des_encrypt(NULL, NULL);
|
||||||
des_encrypt(NULL, NULL)
|
des_encrypt(NULL, NULL)
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_decrypt("test", 'anotherkeystr');
|
select des_decrypt("test", 'anotherkeystr');
|
||||||
des_decrypt("test", 'anotherkeystr')
|
des_decrypt("test", 'anotherkeystr')
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_decrypt(1, 1);
|
select des_decrypt(1, 1);
|
||||||
des_decrypt(1, 1)
|
des_decrypt(1, 1)
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_decrypt(des_encrypt("test", 'thekey'));
|
select des_decrypt(des_encrypt("test", 'thekey'));
|
||||||
des_decrypt(des_encrypt("test", 'thekey'))
|
des_decrypt(des_encrypt("test", 'thekey'))
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select hex(des_encrypt("hello")),des_decrypt(des_encrypt("hello"));
|
select hex(des_encrypt("hello")),des_decrypt(des_encrypt("hello"));
|
||||||
hex(des_encrypt("hello")) des_decrypt(des_encrypt("hello"))
|
hex(des_encrypt("hello")) des_decrypt(des_encrypt("hello"))
|
||||||
NULL NULL
|
NULL NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_decrypt(des_encrypt("hello",4));
|
select des_decrypt(des_encrypt("hello",4));
|
||||||
des_decrypt(des_encrypt("hello",4))
|
des_decrypt(des_encrypt("hello",4))
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_decrypt(des_encrypt("hello",'test'),'test');
|
select des_decrypt(des_encrypt("hello",'test'),'test');
|
||||||
des_decrypt(des_encrypt("hello",'test'),'test')
|
des_decrypt(des_encrypt("hello",'test'),'test')
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select hex(des_encrypt("hello")),hex(des_encrypt("hello",5)),hex(des_encrypt("hello",'default_password'));
|
select hex(des_encrypt("hello")),hex(des_encrypt("hello",5)),hex(des_encrypt("hello",'default_password'));
|
||||||
hex(des_encrypt("hello")) hex(des_encrypt("hello",5)) hex(des_encrypt("hello",'default_password'))
|
hex(des_encrypt("hello")) hex(des_encrypt("hello",5)) hex(des_encrypt("hello",'default_password'))
|
||||||
NULL NULL NULL
|
NULL NULL NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_encrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_decrypt(des_encrypt("hello"),'default_password');
|
select des_decrypt(des_encrypt("hello"),'default_password');
|
||||||
des_decrypt(des_encrypt("hello"),'default_password')
|
des_decrypt(des_encrypt("hello"),'default_password')
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select des_decrypt(des_encrypt("hello",4),'password4');
|
select des_decrypt(des_encrypt("hello",4),'password4');
|
||||||
des_decrypt(des_encrypt("hello",4),'password4')
|
des_decrypt(des_encrypt("hello",4),'password4')
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
SET @a=des_decrypt(des_encrypt("hello"));
|
SET @a=des_decrypt(des_encrypt("hello"));
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
flush des_key_file;
|
flush des_key_file;
|
||||||
select @a = des_decrypt(des_encrypt("hello"));
|
select @a = des_decrypt(des_encrypt("hello"));
|
||||||
@a = des_decrypt(des_encrypt("hello"))
|
@a = des_decrypt(des_encrypt("hello"))
|
||||||
@ -90,9 +90,9 @@ select hex(des_decrypt(des_encrypt("hello",4),'password2'));
|
|||||||
hex(des_decrypt(des_encrypt("hello",4),'password2'))
|
hex(des_decrypt(des_encrypt("hello",4),'password2'))
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
select hex(des_decrypt(des_encrypt("hello","hidden")));
|
select hex(des_decrypt(des_encrypt("hello","hidden")));
|
||||||
hex(des_decrypt(des_encrypt("hello","hidden")))
|
hex(des_decrypt(des_encrypt("hello","hidden")))
|
||||||
NULL
|
NULL
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with '--with-ssl' to have it working
|
Warning 1289 The 'des_decrypt' feature is disabled; you need MariaDB built with 'openssl des cipher (HAVE_des)' to have it working
|
||||||
|
@ -1690,6 +1690,12 @@ select json_arrayagg('ä'), json_objectagg(1, 'ä');
|
|||||||
json_arrayagg('ä') json_objectagg(1, 'ä')
|
json_arrayagg('ä') json_objectagg(1, 'ä')
|
||||||
["ä"] {"1":"ä"}
|
["ä"] {"1":"ä"}
|
||||||
#
|
#
|
||||||
|
# MDEV-32287: JSON_EXTRACT not returning multiple values for same path
|
||||||
|
#
|
||||||
|
select JSON_EXTRACT("[1, 2, [30, 40]]", '$[2][1]', '$[2][1]');
|
||||||
|
JSON_EXTRACT("[1, 2, [30, 40]]", '$[2][1]', '$[2][1]')
|
||||||
|
[40, 40]
|
||||||
|
#
|
||||||
# MDEV-31402: SIGSEGV in json_get_path_next | Item_func_json_extract::read_json
|
# MDEV-31402: SIGSEGV in json_get_path_next | Item_func_json_extract::read_json
|
||||||
#
|
#
|
||||||
CREATE TABLE t (id CHAR AS (JSON_COMPACT (JSON_EXTRACT(doc,"$._id"))) UNIQUE KEY,doc JSON,CONSTRAINT notnu CHECK (id IS NOT NULL));
|
CREATE TABLE t (id CHAR AS (JSON_COMPACT (JSON_EXTRACT(doc,"$._id"))) UNIQUE KEY,doc JSON,CONSTRAINT notnu CHECK (id IS NOT NULL));
|
||||||
@ -1697,6 +1703,20 @@ INSERT INTO t (doc) VALUES ('{ "_id" : { "$oid" : "0ca0b0f0" },"a" : [ { "a" : [
|
|||||||
ERROR 22001: Data too long for column 'id' at row 1
|
ERROR 22001: Data too long for column 'id' at row 1
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
#
|
#
|
||||||
|
# MDEV-19487: JSON_TYPE doesnt detect the type of String Values (returns NULL) and for Date/DateTime returns "INTEGER"
|
||||||
|
#
|
||||||
|
SELECT JSON_TYPE(json_value(JSON_OBJECT("id", 1, "name", 'Monty', "date", Cast('2019-01-01' as Date) ), '$.date')) as x;
|
||||||
|
x
|
||||||
|
NULL
|
||||||
|
Warnings:
|
||||||
|
Warning 4038 Syntax error in JSON text in argument 1 to function 'json_type' at position 5
|
||||||
|
#
|
||||||
|
# MDEV-22141: JSON_REMOVE returns NULL on valid arguments
|
||||||
|
#
|
||||||
|
SELECT JSON_REMOVE('{"A": { "B": 1 }}', '$.A.B.C.D');
|
||||||
|
JSON_REMOVE('{"A": { "B": 1 }}', '$.A.B.C.D')
|
||||||
|
{"A": {"B": 1}}
|
||||||
|
#
|
||||||
# End of 10.5 tests
|
# End of 10.5 tests
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -1118,6 +1118,14 @@ set names latin1;
|
|||||||
select json_arrayagg('ä'), json_objectagg(1, 'ä');
|
select json_arrayagg('ä'), json_objectagg(1, 'ä');
|
||||||
--enable_service_connection
|
--enable_service_connection
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-32287: JSON_EXTRACT not returning multiple values for same path
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
select JSON_EXTRACT("[1, 2, [30, 40]]", '$[2][1]', '$[2][1]');
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-31402: SIGSEGV in json_get_path_next | Item_func_json_extract::read_json
|
--echo # MDEV-31402: SIGSEGV in json_get_path_next | Item_func_json_extract::read_json
|
||||||
--echo #
|
--echo #
|
||||||
@ -1128,6 +1136,20 @@ INSERT INTO t (doc) VALUES ('{ "_id" : { "$oid" : "0ca0b0f0" },"a" : [ { "a" : [
|
|||||||
|
|
||||||
DROP TABLE t;
|
DROP TABLE t;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-19487: JSON_TYPE doesnt detect the type of String Values (returns NULL) and for Date/DateTime returns "INTEGER"
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SELECT JSON_TYPE(json_value(JSON_OBJECT("id", 1, "name", 'Monty', "date", Cast('2019-01-01' as Date) ), '$.date')) as x;
|
||||||
|
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-22141: JSON_REMOVE returns NULL on valid arguments
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SELECT JSON_REMOVE('{"A": { "B": 1 }}', '$.A.B.C.D');
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.5 tests
|
--echo # End of 10.5 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -192,4 +192,20 @@ SELECT SUM(a.t) FROM (SELECT (c1 RLIKE c1) = (c0 IS NULL) as t FROM t0) as a;
|
|||||||
SUM(a.t)
|
SUM(a.t)
|
||||||
0
|
0
|
||||||
DROP TABLE t0;
|
DROP TABLE t0;
|
||||||
|
#
|
||||||
|
# MDEV-21058 CREATE TABLE with generated column and RLIKE results in sigabrt
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (c0 INT);
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
SELECT ('' RLIKE '[') AS c1 FROM t1;
|
||||||
|
ERROR 42000: Regex error 'missing terminating ] for character class at offset 1'
|
||||||
|
SELECT REGEXP_INSTR('','[') AS c1 FROM t1;
|
||||||
|
ERROR 42000: Regex error 'missing terminating ] for character class at offset 1'
|
||||||
|
SELECT c0, '' RLIKE NULL AS c1, REGEXP_INSTR('', NULL) AS c2
|
||||||
|
FROM t1 ORDER BY c0;
|
||||||
|
c0 c1 c2
|
||||||
|
1 NULL NULL
|
||||||
|
2 NULL NULL
|
||||||
|
3 NULL NULL
|
||||||
|
DROP TABLE t1;
|
||||||
# End of 10.5 tests
|
# End of 10.5 tests
|
||||||
|
@ -132,5 +132,22 @@ SELECT (c1 RLIKE c1), (c0 IS NULL) FROM t0;
|
|||||||
SELECT SUM(a.t) FROM (SELECT (c1 RLIKE c1) = (c0 IS NULL) as t FROM t0) as a;
|
SELECT SUM(a.t) FROM (SELECT (c1 RLIKE c1) = (c0 IS NULL) as t FROM t0) as a;
|
||||||
DROP TABLE t0;
|
DROP TABLE t0;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-21058 CREATE TABLE with generated column and RLIKE results in sigabrt
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (c0 INT);
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
|
||||||
|
--error ER_REGEXP_ERROR
|
||||||
|
SELECT ('' RLIKE '[') AS c1 FROM t1;
|
||||||
|
|
||||||
|
--error ER_REGEXP_ERROR
|
||||||
|
SELECT REGEXP_INSTR('','[') AS c1 FROM t1;
|
||||||
|
|
||||||
|
SELECT c0, '' RLIKE NULL AS c1, REGEXP_INSTR('', NULL) AS c2
|
||||||
|
FROM t1 ORDER BY c0;
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
--echo # End of 10.5 tests
|
--echo # End of 10.5 tests
|
||||||
|
@ -3145,3 +3145,28 @@ a b c
|
|||||||
2 2010-10-10 10:10:10 x
|
2 2010-10-10 10:10:10 x
|
||||||
drop table t1;
|
drop table t1;
|
||||||
set timestamp=default;
|
set timestamp=default;
|
||||||
|
#
|
||||||
|
# MDEV-33790: Incorrect DEFAULT expression evaluated in UPDATE
|
||||||
|
#
|
||||||
|
create table t1 (
|
||||||
|
a int,
|
||||||
|
b timestamp default '2010-10-10 10:10:10' on update now(),
|
||||||
|
c varchar(100) default 'x');
|
||||||
|
create table t2 (a int primary key);
|
||||||
|
insert t1 (a) values (1),(2);
|
||||||
|
insert t2 (a) values (1),(2);
|
||||||
|
select * from t1;
|
||||||
|
a b c
|
||||||
|
1 2010-10-10 10:10:10 x
|
||||||
|
2 2010-10-10 10:10:10 x
|
||||||
|
set timestamp=unix_timestamp('2011-11-11 11-11-11');
|
||||||
|
update t1,t2 set b=default, c=default(b) where t1.a=1 and t1.a= t2.a;
|
||||||
|
select * from t1;
|
||||||
|
a b c
|
||||||
|
1 2010-10-10 10:10:10 2010-10-10 10:10:10
|
||||||
|
2 2010-10-10 10:10:10 x
|
||||||
|
drop table t1, t2;
|
||||||
|
set timestamp=default;
|
||||||
|
#
|
||||||
|
# End of 10.4 tests
|
||||||
|
#
|
||||||
|
@ -67,3 +67,26 @@ update t1 set b=default, c=default(b) where a=1;
|
|||||||
select * from t1;
|
select * from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
set timestamp=default;
|
set timestamp=default;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-33790: Incorrect DEFAULT expression evaluated in UPDATE
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
create table t1 (
|
||||||
|
a int,
|
||||||
|
b timestamp default '2010-10-10 10:10:10' on update now(),
|
||||||
|
c varchar(100) default 'x');
|
||||||
|
create table t2 (a int primary key);
|
||||||
|
insert t1 (a) values (1),(2);
|
||||||
|
insert t2 (a) values (1),(2);
|
||||||
|
|
||||||
|
select * from t1;
|
||||||
|
set timestamp=unix_timestamp('2011-11-11 11-11-11');
|
||||||
|
update t1,t2 set b=default, c=default(b) where t1.a=1 and t1.a= t2.a;
|
||||||
|
select * from t1;
|
||||||
|
drop table t1, t2;
|
||||||
|
set timestamp=default;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # End of 10.4 tests
|
||||||
|
--echo #
|
||||||
|
@ -1,3 +1,6 @@
|
|||||||
|
#
|
||||||
|
# MDEV-4029 SELECT on information_schema using a subquery locks up the information_schema table due to incorrect mutexes handling
|
||||||
|
#
|
||||||
select variable_name from information_schema.session_status where variable_name =
|
select variable_name from information_schema.session_status where variable_name =
|
||||||
(select variable_name from information_schema.session_status where variable_name = 'uptime');
|
(select variable_name from information_schema.session_status where variable_name = 'uptime');
|
||||||
variable_name
|
variable_name
|
||||||
@ -6,6 +9,9 @@ select variable_name from information_schema.session_variables where variable_na
|
|||||||
(select variable_name from information_schema.session_variables where variable_name = 'basedir');
|
(select variable_name from information_schema.session_variables where variable_name = 'basedir');
|
||||||
variable_name
|
variable_name
|
||||||
BASEDIR
|
BASEDIR
|
||||||
|
#
|
||||||
|
# MDEV-8796 Delete with sub query with information_schema.TABLES deletes too many rows
|
||||||
|
#
|
||||||
create table t1 (x int);
|
create table t1 (x int);
|
||||||
create table t2 (x int);
|
create table t2 (x int);
|
||||||
create table t3 (x int);
|
create table t3 (x int);
|
||||||
@ -18,3 +24,15 @@ t2
|
|||||||
t3
|
t3
|
||||||
t4
|
t4
|
||||||
drop table t1, t2, t3, t4;
|
drop table t1, t2, t3, t4;
|
||||||
|
# End of 5.5 tests
|
||||||
|
# INFORMATION_SCHEMA.STATISTICS doesn't show if the index is disabled
|
||||||
|
create table t1 (a int, key(a));
|
||||||
|
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
|
||||||
|
index_name comment
|
||||||
|
a
|
||||||
|
alter table t1 disable keys;
|
||||||
|
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
|
||||||
|
index_name comment
|
||||||
|
a disabled
|
||||||
|
drop table t1;
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
|
|
||||||
#
|
--echo #
|
||||||
# MDEV-4029 SELECT on information_schema using a subquery locks up the information_schema table due to incorrect mutexes handling
|
--echo # MDEV-4029 SELECT on information_schema using a subquery locks up the information_schema table due to incorrect mutexes handling
|
||||||
#
|
--echo #
|
||||||
select variable_name from information_schema.session_status where variable_name =
|
select variable_name from information_schema.session_status where variable_name =
|
||||||
(select variable_name from information_schema.session_status where variable_name = 'uptime');
|
(select variable_name from information_schema.session_status where variable_name = 'uptime');
|
||||||
select variable_name from information_schema.session_variables where variable_name =
|
select variable_name from information_schema.session_variables where variable_name =
|
||||||
(select variable_name from information_schema.session_variables where variable_name = 'basedir');
|
(select variable_name from information_schema.session_variables where variable_name = 'basedir');
|
||||||
|
|
||||||
#
|
--echo #
|
||||||
# MDEV-8796 Delete with sub query with information_schema.TABLES deletes too many rows
|
--echo # MDEV-8796 Delete with sub query with information_schema.TABLES deletes too many rows
|
||||||
#
|
--echo #
|
||||||
create table t1 (x int);
|
create table t1 (x int);
|
||||||
create table t2 (x int);
|
create table t2 (x int);
|
||||||
create table t3 (x int);
|
create table t3 (x int);
|
||||||
@ -17,3 +17,14 @@ create table t4 AS select table_name from information_schema.TABLES where table_
|
|||||||
delete from t4 where table_name not in (select table_name from information_schema.TABLES where table_schema = database() and table_type = 'BASE TABLE');
|
delete from t4 where table_name not in (select table_name from information_schema.TABLES where table_schema = database() and table_type = 'BASE TABLE');
|
||||||
select * from t4 order by table_name;
|
select * from t4 order by table_name;
|
||||||
drop table t1, t2, t3, t4;
|
drop table t1, t2, t3, t4;
|
||||||
|
|
||||||
|
--echo # End of 5.5 tests
|
||||||
|
|
||||||
|
--echo # INFORMATION_SCHEMA.STATISTICS doesn't show if the index is disabled
|
||||||
|
create table t1 (a int, key(a));
|
||||||
|
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
|
||||||
|
alter table t1 disable keys;
|
||||||
|
select index_name, comment from information_schema.statistics where table_schema='test' and table_name='t1';
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
@ -163,7 +163,7 @@
|
|||||||
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
|
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
|
||||||
@@ -220,12 +220,12 @@
|
@@ -220,12 +220,12 @@
|
||||||
5959 3
|
5959 3
|
||||||
show status like 'handler_read_next';
|
show /*a*/ status like 'handler_read_next';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
-Handler_read_next 3
|
-Handler_read_next 3
|
||||||
+Handler_read_next 9
|
+Handler_read_next 9
|
||||||
@ -177,7 +177,7 @@
|
|||||||
select max(l_orderkey) from lineitem
|
select max(l_orderkey) from lineitem
|
||||||
where l_partkey between 1 and 10 group by l_partkey;
|
where l_partkey between 1 and 10 group by l_partkey;
|
||||||
@@ -243,9 +243,9 @@
|
@@ -243,9 +243,9 @@
|
||||||
show status like 'handler_read%';
|
show /*b*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
-Handler_read_key 21
|
-Handler_read_key 21
|
||||||
@ -199,7 +199,7 @@
|
|||||||
select max(l_orderkey) from lineitem
|
select max(l_orderkey) from lineitem
|
||||||
where l_suppkey in (1,4) group by l_suppkey;
|
where l_suppkey in (1,4) group by l_suppkey;
|
||||||
@@ -265,9 +265,9 @@
|
@@ -265,9 +265,9 @@
|
||||||
show status like 'handler_read%';
|
show /*c*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
-Handler_read_key 6
|
-Handler_read_key 6
|
||||||
|
@ -14,7 +14,7 @@ flush status;
|
|||||||
select count(*) from lineitem where l_orderkey=130 and l_shipdate='1992-07-01';
|
select count(*) from lineitem where l_orderkey=130 and l_shipdate='1992-07-01';
|
||||||
count(*)
|
count(*)
|
||||||
1
|
1
|
||||||
show status like 'handler_read%';
|
show /*1*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 1
|
Handler_read_key 1
|
||||||
@ -35,7 +35,7 @@ select count(*) from lineitem use index(primary)
|
|||||||
where l_orderkey=130 and l_linenumber=2 and l_shipdate='1992-07-01';
|
where l_orderkey=130 and l_linenumber=2 and l_shipdate='1992-07-01';
|
||||||
count(*)
|
count(*)
|
||||||
1
|
1
|
||||||
show status like 'handler_read%';
|
show /*2*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 1
|
Handler_read_key 1
|
||||||
@ -56,7 +56,7 @@ select count(*) from lineitem
|
|||||||
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000;
|
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000;
|
||||||
count(*)
|
count(*)
|
||||||
1
|
1
|
||||||
show status like 'handler_read%';
|
show /*3*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 1
|
Handler_read_key 1
|
||||||
@ -79,7 +79,7 @@ l_orderkey l_linenumber
|
|||||||
1088 3
|
1088 3
|
||||||
1217 1
|
1217 1
|
||||||
1221 3
|
1221 3
|
||||||
show status like 'handler_read%';
|
show /*4*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 1
|
Handler_read_key 1
|
||||||
@ -98,7 +98,7 @@ flush status;
|
|||||||
select min(l_orderkey) from lineitem where l_shipdate='1992-07-01';
|
select min(l_orderkey) from lineitem where l_shipdate='1992-07-01';
|
||||||
min(l_orderkey)
|
min(l_orderkey)
|
||||||
130
|
130
|
||||||
show status like 'handler_read%';
|
show /*5*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 1
|
Handler_read_key 1
|
||||||
@ -119,7 +119,7 @@ select min(l_orderkey) from lineitem
|
|||||||
where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
|
where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
|
||||||
min(l_orderkey)
|
min(l_orderkey)
|
||||||
1088
|
1088
|
||||||
show status like 'handler_read%';
|
show /*6*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 1
|
Handler_read_key 1
|
||||||
@ -140,7 +140,7 @@ select max(l_linenumber) from lineitem
|
|||||||
where l_shipdate='1992-07-01' and l_orderkey=130;
|
where l_shipdate='1992-07-01' and l_orderkey=130;
|
||||||
max(l_linenumber)
|
max(l_linenumber)
|
||||||
2
|
2
|
||||||
show status like 'handler_read%';
|
show /*7*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 1
|
Handler_read_key 1
|
||||||
@ -166,7 +166,7 @@ or l_receiptdate='1992-07-01' and l_orderkey=5603;
|
|||||||
l_orderkey l_linenumber
|
l_orderkey l_linenumber
|
||||||
130 2
|
130 2
|
||||||
5603 2
|
5603 2
|
||||||
show status like 'handler_read%';
|
show /*8*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 2
|
Handler_read_key 2
|
||||||
@ -193,7 +193,7 @@ l_orderkey l_linenumber
|
|||||||
130 2
|
130 2
|
||||||
5603 2
|
5603 2
|
||||||
5959 3
|
5959 3
|
||||||
show status like 'handler_read%';
|
show /*9*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 2
|
Handler_read_key 2
|
||||||
@ -218,7 +218,7 @@ l_orderkey l_linenumber
|
|||||||
130 2
|
130 2
|
||||||
5603 2
|
5603 2
|
||||||
5959 3
|
5959 3
|
||||||
show status like 'handler_read_next';
|
show /*a*/ status like 'handler_read_next';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_next 3
|
Handler_read_next 3
|
||||||
explain
|
explain
|
||||||
@ -240,7 +240,7 @@ max(l_orderkey)
|
|||||||
5894
|
5894
|
||||||
5859
|
5859
|
||||||
5632
|
5632
|
||||||
show status like 'handler_read%';
|
show /*b*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 21
|
Handler_read_key 21
|
||||||
@ -262,7 +262,7 @@ where l_suppkey in (1,4) group by l_suppkey;
|
|||||||
max(l_orderkey)
|
max(l_orderkey)
|
||||||
5988
|
5988
|
||||||
5984
|
5984
|
||||||
show status like 'handler_read%';
|
show /*c*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 6
|
Handler_read_key 6
|
||||||
@ -292,7 +292,7 @@ where p_retailprice > 1100 and o_orderdate='1997-01-01'
|
|||||||
and o_orderkey=l_orderkey and p_partkey=l_partkey;
|
and o_orderkey=l_orderkey and p_partkey=l_partkey;
|
||||||
o_orderkey p_partkey
|
o_orderkey p_partkey
|
||||||
5895 200
|
5895 200
|
||||||
show status like 'handler_read%';
|
show /*d*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 3
|
Handler_read_key 3
|
||||||
@ -457,7 +457,7 @@ select * from t1, t2 where t2.a=t1.a and t2.b < 2;
|
|||||||
a pk a b
|
a pk a b
|
||||||
0 0 0 0
|
0 0 0 0
|
||||||
1 1 1 1
|
1 1 1 1
|
||||||
show status like 'handler_read%';
|
show /*e*/ status like 'handler_read%';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Handler_read_first 0
|
Handler_read_first 0
|
||||||
Handler_read_key 10
|
Handler_read_key 10
|
||||||
|
@ -34,7 +34,7 @@ explain
|
|||||||
select count(*) from lineitem where l_orderkey=130 and l_shipdate='1992-07-01';
|
select count(*) from lineitem where l_orderkey=130 and l_shipdate='1992-07-01';
|
||||||
flush status;
|
flush status;
|
||||||
select count(*) from lineitem where l_orderkey=130 and l_shipdate='1992-07-01';
|
select count(*) from lineitem where l_orderkey=130 and l_shipdate='1992-07-01';
|
||||||
show status like 'handler_read%';
|
show /*1*/ status like 'handler_read%';
|
||||||
|
|
||||||
explain
|
explain
|
||||||
select count(*) from lineitem use index(primary)
|
select count(*) from lineitem use index(primary)
|
||||||
@ -42,7 +42,7 @@ select count(*) from lineitem use index(primary)
|
|||||||
flush status;
|
flush status;
|
||||||
select count(*) from lineitem use index(primary)
|
select count(*) from lineitem use index(primary)
|
||||||
where l_orderkey=130 and l_linenumber=2 and l_shipdate='1992-07-01';
|
where l_orderkey=130 and l_linenumber=2 and l_shipdate='1992-07-01';
|
||||||
show status like 'handler_read%';
|
show /*2*/ status like 'handler_read%';
|
||||||
|
|
||||||
explain
|
explain
|
||||||
select count(*) from lineitem
|
select count(*) from lineitem
|
||||||
@ -50,7 +50,7 @@ select count(*) from lineitem
|
|||||||
flush status;
|
flush status;
|
||||||
select count(*) from lineitem
|
select count(*) from lineitem
|
||||||
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000;
|
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000;
|
||||||
show status like 'handler_read%';
|
show /*3*/ status like 'handler_read%';
|
||||||
|
|
||||||
explain
|
explain
|
||||||
select l_orderkey, l_linenumber from lineitem
|
select l_orderkey, l_linenumber from lineitem
|
||||||
@ -58,13 +58,13 @@ select l_orderkey, l_linenumber from lineitem
|
|||||||
flush status;
|
flush status;
|
||||||
select l_orderkey, l_linenumber from lineitem
|
select l_orderkey, l_linenumber from lineitem
|
||||||
where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
|
where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
|
||||||
show status like 'handler_read%';
|
show /*4*/ status like 'handler_read%';
|
||||||
|
|
||||||
explain
|
explain
|
||||||
select min(l_orderkey) from lineitem where l_shipdate='1992-07-01';
|
select min(l_orderkey) from lineitem where l_shipdate='1992-07-01';
|
||||||
flush status;
|
flush status;
|
||||||
select min(l_orderkey) from lineitem where l_shipdate='1992-07-01';
|
select min(l_orderkey) from lineitem where l_shipdate='1992-07-01';
|
||||||
show status like 'handler_read%';
|
show /*5*/ status like 'handler_read%';
|
||||||
|
|
||||||
explain
|
explain
|
||||||
select min(l_orderkey) from lineitem
|
select min(l_orderkey) from lineitem
|
||||||
@ -72,7 +72,7 @@ select min(l_orderkey) from lineitem
|
|||||||
flush status;
|
flush status;
|
||||||
select min(l_orderkey) from lineitem
|
select min(l_orderkey) from lineitem
|
||||||
where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
|
where l_shipdate='1992-07-01' and l_orderkey between 1001 and 2000;
|
||||||
show status like 'handler_read%';
|
show /*6*/ status like 'handler_read%';
|
||||||
|
|
||||||
explain
|
explain
|
||||||
select max(l_linenumber) from lineitem
|
select max(l_linenumber) from lineitem
|
||||||
@ -80,7 +80,7 @@ select max(l_linenumber) from lineitem
|
|||||||
flush status;
|
flush status;
|
||||||
select max(l_linenumber) from lineitem
|
select max(l_linenumber) from lineitem
|
||||||
where l_shipdate='1992-07-01' and l_orderkey=130;
|
where l_shipdate='1992-07-01' and l_orderkey=130;
|
||||||
show status like 'handler_read%';
|
show /*7*/ status like 'handler_read%';
|
||||||
|
|
||||||
explain
|
explain
|
||||||
select l_orderkey, l_linenumber
|
select l_orderkey, l_linenumber
|
||||||
@ -92,7 +92,7 @@ select l_orderkey, l_linenumber
|
|||||||
from lineitem use index (i_l_shipdate, i_l_receiptdate)
|
from lineitem use index (i_l_shipdate, i_l_receiptdate)
|
||||||
where l_shipdate='1992-07-01' and l_orderkey=130
|
where l_shipdate='1992-07-01' and l_orderkey=130
|
||||||
or l_receiptdate='1992-07-01' and l_orderkey=5603;
|
or l_receiptdate='1992-07-01' and l_orderkey=5603;
|
||||||
show status like 'handler_read%';
|
show /*8*/ status like 'handler_read%';
|
||||||
|
|
||||||
--replace_column 7 #
|
--replace_column 7 #
|
||||||
explain
|
explain
|
||||||
@ -105,7 +105,7 @@ select l_orderkey, l_linenumber
|
|||||||
from lineitem use index (i_l_shipdate, i_l_receiptdate)
|
from lineitem use index (i_l_shipdate, i_l_receiptdate)
|
||||||
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
|
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
|
||||||
or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
|
or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
|
||||||
show status like 'handler_read%';
|
show /*9*/ status like 'handler_read%';
|
||||||
|
|
||||||
--replace_column 7 # 9 # 10 Using
|
--replace_column 7 # 9 # 10 Using
|
||||||
explain
|
explain
|
||||||
@ -116,7 +116,7 @@ flush status;
|
|||||||
select l_orderkey, l_linenumber from lineitem
|
select l_orderkey, l_linenumber from lineitem
|
||||||
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
|
where l_shipdate='1992-07-01' and l_orderkey between 1 and 1000
|
||||||
or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
|
or l_receiptdate='1992-07-01' and l_orderkey between 5001 and 6000;
|
||||||
show status like 'handler_read_next';
|
show /*a*/ status like 'handler_read_next';
|
||||||
|
|
||||||
--replace_column 9 #
|
--replace_column 9 #
|
||||||
explain
|
explain
|
||||||
@ -125,7 +125,7 @@ select max(l_orderkey) from lineitem
|
|||||||
flush status;
|
flush status;
|
||||||
select max(l_orderkey) from lineitem
|
select max(l_orderkey) from lineitem
|
||||||
where l_partkey between 1 and 10 group by l_partkey;
|
where l_partkey between 1 and 10 group by l_partkey;
|
||||||
show status like 'handler_read%';
|
show /*b*/ status like 'handler_read%';
|
||||||
|
|
||||||
--replace_column 9 #
|
--replace_column 9 #
|
||||||
explain
|
explain
|
||||||
@ -134,7 +134,7 @@ select max(l_orderkey) from lineitem
|
|||||||
flush status;
|
flush status;
|
||||||
select max(l_orderkey) from lineitem
|
select max(l_orderkey) from lineitem
|
||||||
where l_suppkey in (1,4) group by l_suppkey;
|
where l_suppkey in (1,4) group by l_suppkey;
|
||||||
show status like 'handler_read%';
|
show /*c*/ status like 'handler_read%';
|
||||||
|
|
||||||
create index i_p_retailprice on part(p_retailprice);
|
create index i_p_retailprice on part(p_retailprice);
|
||||||
|
|
||||||
@ -151,7 +151,7 @@ select o_orderkey, p_partkey
|
|||||||
lineitem use index (i_l_partkey), orders
|
lineitem use index (i_l_partkey), orders
|
||||||
where p_retailprice > 1100 and o_orderdate='1997-01-01'
|
where p_retailprice > 1100 and o_orderdate='1997-01-01'
|
||||||
and o_orderkey=l_orderkey and p_partkey=l_partkey;
|
and o_orderkey=l_orderkey and p_partkey=l_partkey;
|
||||||
show status like 'handler_read%';
|
show /*d*/ status like 'handler_read%';
|
||||||
--enable_ps2_protocol
|
--enable_ps2_protocol
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
@ -327,7 +327,7 @@ explain
|
|||||||
select * from t1, t2 where t2.a=t1.a and t2.b < 2;
|
select * from t1, t2 where t2.a=t1.a and t2.b < 2;
|
||||||
flush status;
|
flush status;
|
||||||
select * from t1, t2 where t2.a=t1.a and t2.b < 2;
|
select * from t1, t2 where t2.a=t1.a and t2.b < 2;
|
||||||
show status like 'handler_read%';
|
show /*e*/ status like 'handler_read%';
|
||||||
--enable_ps2_protocol
|
--enable_ps2_protocol
|
||||||
|
|
||||||
drop table t1,t2;
|
drop table t1,t2;
|
||||||
|
@ -973,7 +973,6 @@ select * from t1;
|
|||||||
a
|
a
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
2
|
|
||||||
delete from t1;
|
delete from t1;
|
||||||
insert into t1 values (3), (1);
|
insert into t1 values (3), (1);
|
||||||
insert into t1
|
insert into t1
|
||||||
@ -984,8 +983,6 @@ select * from t1;
|
|||||||
a
|
a
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
3
|
|
||||||
2
|
|
||||||
delete from t1;
|
delete from t1;
|
||||||
insert into t1 values (3), (1);
|
insert into t1 values (3), (1);
|
||||||
insert into t1
|
insert into t1
|
||||||
@ -996,6 +993,7 @@ select * from t1;
|
|||||||
a
|
a
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
|
3
|
||||||
2
|
2
|
||||||
delete from t1;
|
delete from t1;
|
||||||
insert into t1 values (3), (1);
|
insert into t1 values (3), (1);
|
||||||
@ -1022,7 +1020,6 @@ select * from t1;
|
|||||||
a
|
a
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
2
|
|
||||||
delete from t1;
|
delete from t1;
|
||||||
insert into t1 values (3), (1);
|
insert into t1 values (3), (1);
|
||||||
execute stmt;
|
execute stmt;
|
||||||
@ -1030,7 +1027,6 @@ select * from t1;
|
|||||||
a
|
a
|
||||||
3
|
3
|
||||||
1
|
1
|
||||||
2
|
|
||||||
delete from t1;
|
delete from t1;
|
||||||
insert into t1 values (3), (1);
|
insert into t1 values (3), (1);
|
||||||
delete from t1
|
delete from t1
|
||||||
@ -1040,6 +1036,8 @@ group by (select * from (select a from t1) dt
|
|||||||
where a = 1)));
|
where a = 1)));
|
||||||
select * from t1;
|
select * from t1;
|
||||||
a
|
a
|
||||||
|
3
|
||||||
|
1
|
||||||
deallocate prepare stmt;
|
deallocate prepare stmt;
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
#
|
#
|
||||||
|
@ -16,6 +16,7 @@ create definer=definer@localhost view mysqltest3.v3is as select schema_name from
|
|||||||
create definer=definer@localhost view mysqltest3.v3ps as select user from performance_schema.users where current_connections>0 order by user;
|
create definer=definer@localhost view mysqltest3.v3ps as select user from performance_schema.users where current_connections>0 order by user;
|
||||||
create definer=definer@localhost view mysqltest3.v3nt as select 1;
|
create definer=definer@localhost view mysqltest3.v3nt as select 1;
|
||||||
create definer=definer@localhost sql security invoker view mysqltest3.v3i as select * from mysqltest1.t1;
|
create definer=definer@localhost sql security invoker view mysqltest3.v3i as select * from mysqltest1.t1;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqltest1` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */;
|
||||||
|
|
||||||
@ -235,6 +236,7 @@ create view v1 as select * from (select * from t1) dt;
|
|||||||
lock table v1 read;
|
lock table v1 read;
|
||||||
disconnect con1;
|
disconnect con1;
|
||||||
connection default;
|
connection default;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
SET @saved_cs_client = @@character_set_client;
|
SET @saved_cs_client = @@character_set_client;
|
||||||
SET character_set_client = utf8;
|
SET character_set_client = utf8;
|
||||||
/*!50001 CREATE VIEW `v1` AS SELECT
|
/*!50001 CREATE VIEW `v1` AS SELECT
|
||||||
|
@ -676,6 +676,59 @@ SELECT * FROM t1;
|
|||||||
a b c
|
a b c
|
||||||
3 2 2
|
3 2 2
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
# MDEV-30046 wrong row targeted with "insert ... on duplicate" and
|
||||||
|
# "replace", leading to data corruption
|
||||||
|
create table t (s blob, n int, unique (s)) engine=innodb;
|
||||||
|
insert into t values ('Hrecvx_0004ln-00',1), ('Hrecvx_0004mm-00',1);
|
||||||
|
replace into t values ('Hrecvx_0004mm-00',2);
|
||||||
|
select * from t;
|
||||||
|
s n
|
||||||
|
Hrecvx_0004ln-00 1
|
||||||
|
Hrecvx_0004mm-00 2
|
||||||
|
drop table t;
|
||||||
|
create table t (s blob, n int, unique (s)) engine=innodb;
|
||||||
|
insert into t values ('Hrecvx_0004ln-00',1), ('Hrecvx_0004mm-00',1);
|
||||||
|
insert into t values ('Hrecvx_0004mm-00',2)
|
||||||
|
on duplicate key update n = values (n);
|
||||||
|
select * from t;
|
||||||
|
s n
|
||||||
|
Hrecvx_0004ln-00 1
|
||||||
|
Hrecvx_0004mm-00 2
|
||||||
|
drop table t;
|
||||||
#
|
#
|
||||||
|
# MDEV-29345 update case insensitive (large) unique key with insensitive change of value - duplicate key
|
||||||
|
#
|
||||||
|
create table t1 (a int, b text, unique (b));
|
||||||
|
insert ignore t1 values (1, 'a'), (2, 'A');
|
||||||
|
Warnings:
|
||||||
|
Warning 1062 Duplicate entry 'A' for key 'b'
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
1 a
|
||||||
|
update t1 set b='A' where a=1;
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
1 A
|
||||||
|
drop table t1;
|
||||||
|
create table t1 (a int, b blob, unique (b));
|
||||||
|
insert t1 values (1, 'a'), (2, 'A');
|
||||||
|
select * from t1;
|
||||||
|
a b
|
||||||
|
1 a
|
||||||
|
2 A
|
||||||
|
update t1 set b='A' where a=1;
|
||||||
|
ERROR 23000: Duplicate entry 'A' for key 'b'
|
||||||
|
drop table t1;
|
||||||
|
#
|
||||||
|
# MDEV-25102 UNIQUE USING HASH error after ALTER ... DISABLE KEYS
|
||||||
|
#
|
||||||
|
create table t1 (i int, unique key (i) using hash);
|
||||||
|
alter table t1 disable keys;
|
||||||
|
insert into t1 values (1),(2);
|
||||||
|
insert into t1 values (1);
|
||||||
|
ERROR 23000: Duplicate entry '1' for key 'i'
|
||||||
|
alter table t1 enable keys;
|
||||||
|
insert into t1 values (2);
|
||||||
|
ERROR 23000: Duplicate entry '2' for key 'i'
|
||||||
|
drop table t1;
|
||||||
# End of 10.5 tests
|
# End of 10.5 tests
|
||||||
#
|
|
||||||
|
@ -503,7 +503,6 @@ start transaction;
|
|||||||
alter table tmp alter column a set default 8;
|
alter table tmp alter column a set default 8;
|
||||||
unlock tables;
|
unlock tables;
|
||||||
drop table t2;
|
drop table t2;
|
||||||
--source include/have_innodb.inc
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-22218 InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON upon LOAD DATA with NO_BACKSLASH_ESCAPES in SQL_MODE and unique blob in table
|
--echo # MDEV-22218 InnoDB: Failing assertion: node->pcur->rel_pos == BTR_PCUR_ON upon LOAD DATA with NO_BACKSLASH_ESCAPES in SQL_MODE and unique blob in table
|
||||||
@ -642,7 +641,6 @@ insert into t1 values (0);
|
|||||||
check table t1 extended;
|
check table t1 extended;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-32837 long unique does not work like unique key when using replace
|
--echo # MDEV-32837 long unique does not work like unique key when using replace
|
||||||
--echo #
|
--echo #
|
||||||
@ -655,6 +653,49 @@ REPLACE INTO t1 VALUES (3,2,2);
|
|||||||
SELECT * FROM t1;
|
SELECT * FROM t1;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo # MDEV-30046 wrong row targeted with "insert ... on duplicate" and
|
||||||
|
--echo # "replace", leading to data corruption
|
||||||
|
--source include/have_innodb.inc
|
||||||
|
create table t (s blob, n int, unique (s)) engine=innodb;
|
||||||
|
insert into t values ('Hrecvx_0004ln-00',1), ('Hrecvx_0004mm-00',1);
|
||||||
|
replace into t values ('Hrecvx_0004mm-00',2);
|
||||||
|
select * from t;
|
||||||
|
drop table t;
|
||||||
|
|
||||||
|
create table t (s blob, n int, unique (s)) engine=innodb;
|
||||||
|
insert into t values ('Hrecvx_0004ln-00',1), ('Hrecvx_0004mm-00',1);
|
||||||
|
insert into t values ('Hrecvx_0004mm-00',2)
|
||||||
|
on duplicate key update n = values (n);
|
||||||
|
select * from t;
|
||||||
|
drop table t;
|
||||||
--echo #
|
--echo #
|
||||||
|
--echo # MDEV-29345 update case insensitive (large) unique key with insensitive change of value - duplicate key
|
||||||
|
--echo #
|
||||||
|
create table t1 (a int, b text, unique (b));
|
||||||
|
insert ignore t1 values (1, 'a'), (2, 'A');
|
||||||
|
select * from t1;
|
||||||
|
update t1 set b='A' where a=1;
|
||||||
|
select * from t1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
create table t1 (a int, b blob, unique (b));
|
||||||
|
insert t1 values (1, 'a'), (2, 'A');
|
||||||
|
select * from t1;
|
||||||
|
--error ER_DUP_ENTRY
|
||||||
|
update t1 set b='A' where a=1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-25102 UNIQUE USING HASH error after ALTER ... DISABLE KEYS
|
||||||
|
--echo #
|
||||||
|
create table t1 (i int, unique key (i) using hash);
|
||||||
|
alter table t1 disable keys;
|
||||||
|
insert into t1 values (1),(2);
|
||||||
|
--error ER_DUP_ENTRY
|
||||||
|
insert into t1 values (1);
|
||||||
|
alter table t1 enable keys;
|
||||||
|
--error ER_DUP_ENTRY
|
||||||
|
insert into t1 values (2);
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
--echo # End of 10.5 tests
|
--echo # End of 10.5 tests
|
||||||
--echo #
|
|
||||||
|
@ -1,7 +1,5 @@
|
|||||||
call mtr.add_suppression("Can't find record in '.*'");
|
call mtr.add_suppression("Can't find record in '.*'");
|
||||||
call mtr.add_suppression("Table 't1' is marked as crashed and should be repaired");
|
call mtr.add_suppression("Table 't1' is marked as crashed and should be repaired");
|
||||||
drop table if exists t1,t2,t3;
|
|
||||||
SET SQL_WARNINGS=1;
|
|
||||||
CREATE TABLE t1 (
|
CREATE TABLE t1 (
|
||||||
STRING_DATA char(255) default NULL,
|
STRING_DATA char(255) default NULL,
|
||||||
KEY string_data (STRING_DATA)
|
KEY string_data (STRING_DATA)
|
||||||
|
@ -7,12 +7,6 @@
|
|||||||
call mtr.add_suppression("Can't find record in '.*'");
|
call mtr.add_suppression("Can't find record in '.*'");
|
||||||
call mtr.add_suppression("Table 't1' is marked as crashed and should be repaired");
|
call mtr.add_suppression("Table 't1' is marked as crashed and should be repaired");
|
||||||
|
|
||||||
# Initialise
|
|
||||||
--disable_warnings
|
|
||||||
drop table if exists t1,t2,t3;
|
|
||||||
--enable_warnings
|
|
||||||
SET SQL_WARNINGS=1;
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Test problem with CHECK TABLE;
|
# Test problem with CHECK TABLE;
|
||||||
#
|
#
|
||||||
|
@ -552,6 +552,7 @@ Table Create Table
|
|||||||
a1\`b1 CREATE TABLE `a1\``b1` (
|
a1\`b1 CREATE TABLE `a1\``b1` (
|
||||||
`a` int(11) DEFAULT NULL
|
`a` int(11) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `a1\``b1` (
|
CREATE TABLE `a1\``b1` (
|
||||||
@ -581,6 +582,7 @@ Table Create Table
|
|||||||
a1\"b1 CREATE TABLE "a1\""b1" (
|
a1\"b1 CREATE TABLE "a1\""b1" (
|
||||||
"a" int(11) DEFAULT NULL
|
"a" int(11) DEFAULT NULL
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE "a1\""b1" (
|
CREATE TABLE "a1\""b1" (
|
||||||
@ -603,11 +605,11 @@ set sql_mode=default;
|
|||||||
create table t1 (a text);
|
create table t1 (a text);
|
||||||
select count(*) from t1;
|
select count(*) from t1;
|
||||||
count(*)
|
count(*)
|
||||||
41
|
42
|
||||||
truncate table t1;
|
truncate table t1;
|
||||||
select count(*) from t1;
|
select count(*) from t1;
|
||||||
count(*)
|
count(*)
|
||||||
41
|
42
|
||||||
truncate table t1;
|
truncate table t1;
|
||||||
select count(*) from t1;
|
select count(*) from t1;
|
||||||
count(*)
|
count(*)
|
||||||
@ -619,7 +621,7 @@ count(*)
|
|||||||
truncate table t1;
|
truncate table t1;
|
||||||
select count(*) from t1;
|
select count(*) from t1;
|
||||||
count(*)
|
count(*)
|
||||||
41
|
42
|
||||||
truncate table t1;
|
truncate table t1;
|
||||||
select count(*) from t1;
|
select count(*) from t1;
|
||||||
count(*)
|
count(*)
|
||||||
@ -633,3 +635,27 @@ drop table t1;
|
|||||||
WARNING: option '--enable-cleartext-plugin' is obsolete.
|
WARNING: option '--enable-cleartext-plugin' is obsolete.
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
|
# End of 10.3 tests
|
||||||
|
#
|
||||||
|
# MDEV-21778 Disable system commands in mysql/mariadb client
|
||||||
|
#
|
||||||
|
ERROR at line 1: Not allowed in the sandbox mode
|
||||||
|
1
|
||||||
|
ERROR at line 1: Not allowed in the sandbox mode
|
||||||
|
2
|
||||||
|
ERROR at line 1: Not allowed in the sandbox mode
|
||||||
|
3
|
||||||
|
1
|
||||||
|
entering sandbox
|
||||||
|
system
|
||||||
|
tee
|
||||||
|
source
|
||||||
|
^^^
|
||||||
|
2
|
||||||
|
entering sandbox
|
||||||
|
system
|
||||||
|
tee
|
||||||
|
source
|
||||||
|
^^^
|
||||||
|
3
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -610,6 +610,7 @@ EOF
|
|||||||
create database `aa``bb````cc`;
|
create database `aa``bb````cc`;
|
||||||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/backticks.sql
|
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/backticks.sql
|
||||||
drop database `aa``bb````cc`;
|
drop database `aa``bb````cc`;
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/backticks.sql
|
||||||
|
|
||||||
#
|
#
|
||||||
# MySQL Bug#13639125 DELIMITER STRIPS THE NEXT NEW LINE IN A SQL STATEMENT
|
# MySQL Bug#13639125 DELIMITER STRIPS THE NEXT NEW LINE IN A SQL STATEMENT
|
||||||
@ -620,6 +621,7 @@ delimiter
|
|||||||
<<" as a;
|
<<" as a;
|
||||||
EOF
|
EOF
|
||||||
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/13639125.sql
|
--exec $MYSQL < $MYSQLTEST_VARDIR/tmp/13639125.sql
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/13639125.sql
|
||||||
|
|
||||||
#
|
#
|
||||||
# --skip-column-names and alignment
|
# --skip-column-names and alignment
|
||||||
@ -702,7 +704,7 @@ select count(*) from t1; truncate table t1;
|
|||||||
--exec $MYSQL --disable-local-infile -e "/*q*/$ldli"
|
--exec $MYSQL --disable-local-infile -e "/*q*/$ldli"
|
||||||
select count(*) from t1; truncate table t1;
|
select count(*) from t1; truncate table t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/bug.sql
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-15538 '-N' Produce html output wrong
|
--echo # MDEV-15538 '-N' Produce html output wrong
|
||||||
@ -716,3 +718,43 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
--echo
|
--echo
|
||||||
--exec $MYSQL test --enable-cleartext-plugin -e "select 1"
|
--exec $MYSQL test --enable-cleartext-plugin -e "select 1"
|
||||||
|
|
||||||
|
--echo # End of 10.3 tests
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-21778 Disable system commands in mysql/mariadb client
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
--error 1
|
||||||
|
--exec $MYSQL --sandbox -Ne "select 1; \! echo foo; select 0" 2>&1
|
||||||
|
--error 1
|
||||||
|
--exec $MYSQL --sandbox -Ne "select 2; \T echo foo; select 0" 2>&1
|
||||||
|
--error 1
|
||||||
|
--exec $MYSQL --sandbox -Ne "select 3; \. echo.foo; select 0" 2>&1
|
||||||
|
|
||||||
|
--write_file $MYSQL_TMP_DIR/mysql_in
|
||||||
|
select 'entering sandbox';
|
||||||
|
\-
|
||||||
|
select 'system';
|
||||||
|
\! echo foo
|
||||||
|
select 'tee';
|
||||||
|
\T echo foo
|
||||||
|
select 'source';
|
||||||
|
\. echo.foo
|
||||||
|
select '^^^';
|
||||||
|
EOF
|
||||||
|
|
||||||
|
write_line "select 1;
|
||||||
|
source $MYSQL_TMP_DIR/mysql_in;
|
||||||
|
select 2;
|
||||||
|
source $MYSQL_TMP_DIR/mysql_in;
|
||||||
|
sandbox;
|
||||||
|
select 3;
|
||||||
|
source $MYSQL_TMP_DIR/mysql_in;" $MYSQL_TMP_DIR/mysql_in2;
|
||||||
|
|
||||||
|
--exec $MYSQL -fN <$MYSQL_TMP_DIR/mysql_in2
|
||||||
|
|
||||||
|
--remove_file $MYSQL_TMP_DIR/mysql_in
|
||||||
|
--remove_file $MYSQL_TMP_DIR/mysql_in2
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
@ -382,7 +382,7 @@ START TRANSACTION
|
|||||||
#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Annotate_rows:
|
#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Annotate_rows:
|
||||||
#Q> UPDATE t1 t1 INNER JOIN t2 t2 ON t1.ref_id = t2.id
|
#Q> UPDATE t1 t1 INNER JOIN t2 t2 ON t1.ref_id = t2.id
|
||||||
#Q> SET t1.is_deleted = TRUE
|
#Q> SET t1.is_deleted = TRUE
|
||||||
#Q> WHERE t1.id =
|
#Q> WHERE t1.id = 1
|
||||||
#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Table_map: `test`.`t1` mapped to number TID
|
#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Table_map: `test`.`t1` mapped to number TID
|
||||||
# at POS
|
# at POS
|
||||||
#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Update_rows: table id TID flags: STMT_END_F
|
#<date> server id 1 end_log_pos END_LOG_POS CRC32 XXX Update_rows: table id TID flags: STMT_END_F
|
||||||
|
@ -58,6 +58,7 @@ BEGIN
|
|||||||
log(0, 'Session ' || connection_id() || ' ' || current_user || ' started');
|
log(0, 'Session ' || connection_id() || ' ' || current_user || ' started');
|
||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- MariaDB dump DUMPVERSION Distrib DISTVERSION, for OS
|
-- MariaDB dump DUMPVERSION Distrib DISTVERSION, for OS
|
||||||
--
|
--
|
||||||
-- Host: localhost Database: db1_mdev17429
|
-- Host: localhost Database: db1_mdev17429
|
||||||
|
@ -77,6 +77,7 @@ id name
|
|||||||
3 first value
|
3 first value
|
||||||
4 first value
|
4 first value
|
||||||
5 first value
|
5 first value
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -174,6 +175,7 @@ INSERT IGNORE INTO `t6` VALUES (1,'first value'),(2,'first value'),(3,'first val
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
@ -12,6 +12,7 @@ create procedure sp() select * from `v1
|
|||||||
1v`;
|
1v`;
|
||||||
flush tables;
|
flush tables;
|
||||||
use test;
|
use test;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Current Database: `mysqltest1
|
-- Current Database: `mysqltest1
|
||||||
@ -134,6 +135,7 @@ test\`
|
|||||||
\! ls
|
\! ls
|
||||||
#
|
#
|
||||||
test`
|
test`
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Current Database: `test```
|
-- Current Database: `test```
|
||||||
|
@ -1 +1,2 @@
|
|||||||
mariadb-dump: Error: Binlogging on server not active
|
mariadb-dump: Error: Binlogging on server not active
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
@ -39,6 +39,7 @@ CREATE FUNCTION metaphon RETURNS STRING SONAME "UDF_EXAMPLE_LIB";
|
|||||||
#
|
#
|
||||||
# mysqldump of system tables with --system=all
|
# mysqldump of system tables with --system=all
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -165,6 +166,7 @@ UNLOCK TABLES;
|
|||||||
#
|
#
|
||||||
# mysqldump of system tables with --system=all --replace
|
# mysqldump of system tables with --system=all --replace
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -314,6 +316,7 @@ UNLOCK TABLES;
|
|||||||
#
|
#
|
||||||
# mysqldump of system tables with --system=all --insert-ignore
|
# mysqldump of system tables with --system=all --insert-ignore
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
@ -7,6 +7,7 @@ CREATE TABLE t1 (i INT);
|
|||||||
INSERT INTO t1 VALUES (0);
|
INSERT INTO t1 VALUES (0);
|
||||||
LOCK TABLE t1 WRITE;
|
LOCK TABLE t1 WRITE;
|
||||||
timeout without t1 contents expected
|
timeout without t1 contents expected
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -30,6 +31,7 @@ SET @save_max_statement_time=@@max_statement_time;
|
|||||||
SET GLOBAL max_statement_time=0.1;
|
SET GLOBAL max_statement_time=0.1;
|
||||||
UNLOCK TABLES;;
|
UNLOCK TABLES;;
|
||||||
This would be a race condition otherwise, but default max_statement_time=0 makes it succeed
|
This would be a race condition otherwise, but default max_statement_time=0 makes it succeed
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
@ -32,6 +32,7 @@ Testing XML format output
|
|||||||
----
|
----
|
||||||
Testing text format output
|
Testing text format output
|
||||||
----
|
----
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
@ -31,6 +31,7 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t1 (a decimal(64, 20));
|
CREATE TABLE t1 (a decimal(64, 20));
|
||||||
INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"),
|
INSERT INTO t1 VALUES ("1234567890123456789012345678901234567890"),
|
||||||
("0987654321098765432109876543210987654321");
|
("0987654321098765432109876543210987654321");
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -46,6 +47,7 @@ CREATE TABLE t1 (a double);
|
|||||||
INSERT IGNORE INTO t1 VALUES ('-9e999999');
|
INSERT IGNORE INTO t1 VALUES ('-9e999999');
|
||||||
Warnings:
|
Warnings:
|
||||||
Warning 1264 Out of range value for column 'a' at row 1
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -67,6 +69,7 @@ INSERT INTO t1 VALUES ('1.2345', 2.3456);
|
|||||||
INSERT INTO t1 VALUES ("1.2345", 2.3456);
|
INSERT INTO t1 VALUES ("1.2345", 2.3456);
|
||||||
ERROR 42S22: Unknown column '1.2345' in 'field list'
|
ERROR 42S22: Unknown column '1.2345' in 'field list'
|
||||||
SET SQL_MODE=@OLD_SQL_MODE;
|
SET SQL_MODE=@OLD_SQL_MODE;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -75,6 +78,7 @@ CREATE TABLE `t1` (
|
|||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
INSERT INTO `t1` VALUES (1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456);
|
INSERT INTO `t1` VALUES (1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -83,6 +87,7 @@ CREATE TABLE `t1` (
|
|||||||
);
|
);
|
||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
INSERT INTO `t1` VALUES (1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456);
|
INSERT INTO `t1` VALUES (1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456),(1.23450,2.3456);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -118,6 +123,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -194,6 +200,7 @@ DROP TABLE t1;
|
|||||||
#
|
#
|
||||||
CREATE TABLE t1 (a VARCHAR(255)) DEFAULT CHARSET koi8r;
|
CREATE TABLE t1 (a VARCHAR(255)) DEFAULT CHARSET koi8r;
|
||||||
INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5'), (NULL);
|
INSERT INTO t1 VALUES (_koi8r x'C1C2C3C4C5'), (NULL);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -235,6 +242,7 @@ DROP TABLE t1;
|
|||||||
#
|
#
|
||||||
CREATE TABLE t1 (a int) ENGINE=MYISAM;
|
CREATE TABLE t1 (a int) ENGINE=MYISAM;
|
||||||
INSERT INTO t1 VALUES (1), (2);
|
INSERT INTO t1 VALUES (1), (2);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -258,6 +266,7 @@ UNLOCK TABLES;
|
|||||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -286,6 +295,7 @@ DROP TABLE t1;
|
|||||||
# Bug#2592 mysqldump doesn't quote "tricky" names correctly
|
# Bug#2592 mysqldump doesn't quote "tricky" names correctly
|
||||||
#
|
#
|
||||||
create table ```a` (i int);
|
create table ```a` (i int);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE ```a` (
|
CREATE TABLE ```a` (
|
||||||
@ -297,6 +307,7 @@ drop table ```a`;
|
|||||||
# Bug#2591 mysqldump quotes names inconsistently
|
# Bug#2591 mysqldump quotes names inconsistently
|
||||||
#
|
#
|
||||||
create table t1(a int);
|
create table t1(a int);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -330,6 +341,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -356,6 +368,7 @@ UNLOCK TABLES;
|
|||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
set global sql_mode='ANSI_QUOTES';
|
set global sql_mode='ANSI_QUOTES';
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -389,6 +402,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -421,6 +435,7 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
create table t1(a int);
|
create table t1(a int);
|
||||||
insert into t1 values (1),(2),(3);
|
insert into t1 values (1),(2),(3);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -453,6 +468,7 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
# Bug#6101 create database problem
|
# Bug#6101 create database problem
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -479,6 +495,7 @@ USE `test`;
|
|||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
create database mysqldump_test_db character set latin2 collate latin2_bin;
|
create database mysqldump_test_db character set latin2 collate latin2_bin;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -513,6 +530,7 @@ drop database mysqldump_test_db;
|
|||||||
# if it is explicitly set.
|
# if it is explicitly set.
|
||||||
CREATE TABLE t1 (a CHAR(10));
|
CREATE TABLE t1 (a CHAR(10));
|
||||||
INSERT INTO t1 VALUES (_latin1 '<27><><EFBFBD><EFBFBD>');
|
INSERT INTO t1 VALUES (_latin1 '<27><><EFBFBD><EFBFBD>');
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -554,6 +572,7 @@ UNLOCK TABLES;
|
|||||||
# If the future we can move this command into a separate test with
|
# If the future we can move this command into a separate test with
|
||||||
# checking that "mysqldump" is compiled with "latin1"
|
# checking that "mysqldump" is compiled with "latin1"
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -577,6 +596,7 @@ UNLOCK TABLES;
|
|||||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -600,6 +620,7 @@ UNLOCK TABLES;
|
|||||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -631,6 +652,7 @@ CREATE TABLE t1 (a int);
|
|||||||
CREATE TABLE t2 (a int);
|
CREATE TABLE t2 (a int);
|
||||||
INSERT INTO t1 VALUES (1),(2),(3);
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
INSERT INTO t2 VALUES (4),(5),(6);
|
INSERT INTO t2 VALUES (4),(5),(6);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -672,6 +694,7 @@ DROP TABLE t2;
|
|||||||
#
|
#
|
||||||
CREATE TABLE t1 (`b` blob);
|
CREATE TABLE t1 (`b` blob);
|
||||||
INSERT INTO `t1` VALUES (0x602010000280100005E71A);
|
INSERT INTO `t1` VALUES (0x602010000280100005E71A);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -713,6 +736,7 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
CREATE TABLE t1 (a INT) ENGINE=MyISAM;
|
||||||
INSERT INTO t1 VALUES (1),(2),(3);
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
INSERT INTO t1 VALUES (4),(5),(6);
|
INSERT INTO t1 VALUES (4),(5),(6);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -747,6 +771,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1116,6 +1141,7 @@ F_cd00692c3bfe59267d5ecfac5310286c int,
|
|||||||
F_6faa8040da20ef399b63a72d0e4ab575 int,
|
F_6faa8040da20ef399b63a72d0e4ab575 int,
|
||||||
F_fe73f687e5bc5280214e0486b273a5f9 int);
|
F_fe73f687e5bc5280214e0486b273a5f9 int);
|
||||||
insert into t1 (F_8d3bba7425e7c98c50f52ca1b52d3735) values (1);
|
insert into t1 (F_8d3bba7425e7c98c50f52ca1b52d3735) values (1);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1485,6 +1511,7 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
CREATE TABLE t1 (a int);
|
CREATE TABLE t1 (a int);
|
||||||
INSERT INTO t1 VALUES (1),(2),(3);
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1535,6 +1562,7 @@ CREATE TABLE t1 ( a INT );
|
|||||||
CREATE TABLE t2 ( a INT );
|
CREATE TABLE t2 ( a INT );
|
||||||
INSERT INTO t1 VALUES (1), (2);
|
INSERT INTO t1 VALUES (1), (2);
|
||||||
INSERT INTO t2 VALUES (1), (2);
|
INSERT INTO t2 VALUES (1), (2);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1570,6 +1598,7 @@ CREATE TABLE `t2` (
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1642,21 +1671,35 @@ create table t3(a varchar(30) primary key, b int not null);
|
|||||||
test_sequence
|
test_sequence
|
||||||
------ Testing with illegal table names ------
|
------ Testing with illegal table names ------
|
||||||
mariadb-dump: Couldn't find table: "\d-2-1.sql"
|
mariadb-dump: Couldn't find table: "\d-2-1.sql"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "\t1"
|
mariadb-dump: Couldn't find table: "\t1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "\t1"
|
mariadb-dump: Couldn't find table: "\t1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "\\t1"
|
mariadb-dump: Couldn't find table: "\\t1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "t\1"
|
mariadb-dump: Couldn't find table: "t\1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "t\1"
|
mariadb-dump: Couldn't find table: "t\1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "t/1"
|
mariadb-dump: Couldn't find table: "t/1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "T_1"
|
mariadb-dump: Couldn't find table: "T_1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "T%1"
|
mariadb-dump: Couldn't find table: "T%1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "T'1"
|
mariadb-dump: Couldn't find table: "T'1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "T_1"
|
mariadb-dump: Couldn't find table: "T_1"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't find table: "T_"
|
mariadb-dump: Couldn't find table: "T_"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
test_sequence
|
test_sequence
|
||||||
------ Testing with illegal database names ------
|
------ Testing with illegal database names ------
|
||||||
mariadb-dump: Got error: 1049: "Unknown database 'mysqldump_test_d'" when selecting the database
|
mariadb-dump: Got error: 1049: "Unknown database 'mysqldump_test_d'" when selecting the database
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Got error: 1049: "Unknown database 'mysqld\ump_test_db'" when selecting the database
|
mariadb-dump: Got error: 1049: "Unknown database 'mysqld\ump_test_db'" when selecting the database
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
drop table t1, t2, t3;
|
drop table t1, t2, t3;
|
||||||
drop database mysqldump_test_db;
|
drop database mysqldump_test_db;
|
||||||
use test;
|
use test;
|
||||||
@ -1718,6 +1761,7 @@ insert into t2 (a, b) values (NULL, NULL),(10, NULL),(NULL, "twenty"),(30, "thir
|
|||||||
</table_data>
|
</table_data>
|
||||||
</database>
|
</database>
|
||||||
</mysqldump>
|
</mysqldump>
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1749,6 +1793,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1867,6 +1912,7 @@ create table t1(a int);
|
|||||||
create table t2(a int);
|
create table t2(a int);
|
||||||
create table t3(a int);
|
create table t3(a int);
|
||||||
mariadb-dump: Couldn't find table: "non_existing"
|
mariadb-dump: Couldn't find table: "non_existing"
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1916,6 +1962,7 @@ drop table t1, t2, t3;
|
|||||||
create table t1 (a int);
|
create table t1 (a int);
|
||||||
mariadb-dump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ `a` FROM `t1` WHERE xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx': 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 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' at line 1 (1064)
|
mariadb-dump: Couldn't execute 'SELECT /*!40001 SQL_NO_CACHE */ `a` FROM `t1` WHERE xx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx': 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 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' at line 1 (1064)
|
||||||
mariadb-dump: Got error: 1064: "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 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' at line 1" when retrieving data from server
|
mariadb-dump: Got error: 1064: "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 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' at line 1" when retrieving data from server
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -1957,6 +2004,7 @@ CREATE TABLE `t1` (
|
|||||||
PRIMARY KEY (`a b`, `c"d`, `e``f`)
|
PRIMARY KEY (`a b`, `c"d`, `e``f`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||||
insert into t1 values (0815, 4711, 2006);
|
insert into t1 values (0815, 4711, 2006);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -1986,6 +2034,7 @@ UNLOCK TABLES;
|
|||||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2040,6 +2089,7 @@ INSERT INTO t2 VALUES ('bingo');
|
|||||||
INSERT INTO t2 VALUES ('waffle');
|
INSERT INTO t2 VALUES ('waffle');
|
||||||
INSERT INTO t2 VALUES ('lemon');
|
INSERT INTO t2 VALUES ('lemon');
|
||||||
create view v2 as select * from t2 where a like 'a%' with check option;
|
create view v2 as select * from t2 where a like 'a%' with check option;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2134,6 +2184,7 @@ drop database db1;
|
|||||||
use test;
|
use test;
|
||||||
create table t1(a int);
|
create table t1(a int);
|
||||||
create view v1 as select * from t1;
|
create view v1 as select * from t1;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2204,6 +2255,7 @@ INSERT INTO t2 VALUES ('bingo');
|
|||||||
INSERT INTO t2 VALUES ('waffle');
|
INSERT INTO t2 VALUES ('waffle');
|
||||||
INSERT INTO t2 VALUES ('lemon');
|
INSERT INTO t2 VALUES ('lemon');
|
||||||
create view v2 as select * from t2 where a like 'a%' with check option;
|
create view v2 as select * from t2 where a like 'a%' with check option;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2269,6 +2321,7 @@ use test;
|
|||||||
#
|
#
|
||||||
CREATE TABLE t1 (a char(10));
|
CREATE TABLE t1 (a char(10));
|
||||||
INSERT INTO t1 VALUES ('\'');
|
INSERT INTO t1 VALUES ('\'');
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2315,6 +2368,7 @@ create view v1 as
|
|||||||
select * from v3 where b in (1, 2, 3, 4, 5, 6, 7);
|
select * from v3 where b in (1, 2, 3, 4, 5, 6, 7);
|
||||||
create view v2 as
|
create view v2 as
|
||||||
select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;
|
select v3.a from v3, v1 where v1.a=v3.a and v3.b=3 limit 1;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2464,6 +2518,7 @@ end if;
|
|||||||
end AFTER 0000-00-00 00:00:00 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
end AFTER 0000-00-00 00:00:00 STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,TRADITIONAL,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION root@localhost latin1 latin1_swedish_ci latin1_swedish_ci
|
||||||
INSERT INTO t1 (a) VALUES (1),(2),(3),(22);
|
INSERT INTO t1 (a) VALUES (1),(2),(3),(22);
|
||||||
update t1 set a = 4 where a=3;
|
update t1 set a = 4 where a=3;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2593,6 +2648,7 @@ DELIMITER ;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2740,6 +2796,7 @@ Warning 1287 '<select expression> INTO <destination>;' is deprecated and will be
|
|||||||
set sql_mode='ansi';
|
set sql_mode='ansi';
|
||||||
create procedure `a'b` () select 1;
|
create procedure `a'b` () select 1;
|
||||||
set sql_mode='';
|
set sql_mode='';
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2891,6 +2948,7 @@ d
|
|||||||
2003-10-26 02:00:00
|
2003-10-26 02:00:00
|
||||||
2003-10-26 02:00:00
|
2003-10-26 02:00:00
|
||||||
set global time_zone='Europe/Moscow';
|
set global time_zone='Europe/Moscow';
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2930,6 +2988,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -2990,6 +3049,7 @@ a2
|
|||||||
1
|
1
|
||||||
2
|
2
|
||||||
3
|
3
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -3064,6 +3124,7 @@ a b c
|
|||||||
1 first value xxxx
|
1 first value xxxx
|
||||||
2 second value tttt
|
2 second value tttt
|
||||||
3 third value vvv vvv
|
3 third value vvv vvv
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -3189,6 +3250,7 @@ BEGIN
|
|||||||
SET new.a = 0;
|
SET new.a = 0;
|
||||||
END|
|
END|
|
||||||
SET SQL_MODE = @old_sql_mode;
|
SET SQL_MODE = @old_sql_mode;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -3252,6 +3314,7 @@ DROP TABLE t1;
|
|||||||
#
|
#
|
||||||
create table t1 (a binary(1), b blob);
|
create table t1 (a binary(1), b blob);
|
||||||
insert into t1 values ('','');
|
insert into t1 values ('','');
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -3287,6 +3350,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -3386,6 +3450,7 @@ insert into t values(5, 51);
|
|||||||
create view v1 as select qty, price, qty*price as value from t;
|
create view v1 as select qty, price, qty*price as value from t;
|
||||||
create view v2 as select qty from v1;
|
create view v2 as select qty from v1;
|
||||||
mysqldump {
|
mysqldump {
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!50001 DROP VIEW IF EXISTS `v1`*/;
|
/*!50001 DROP VIEW IF EXISTS `v1`*/;
|
||||||
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
||||||
@ -3401,6 +3466,7 @@ mysqldump {
|
|||||||
/*!50001 SET collation_connection = @saved_col_connection */;
|
/*!50001 SET collation_connection = @saved_col_connection */;
|
||||||
|
|
||||||
} mysqldump {
|
} mysqldump {
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!50001 DROP VIEW IF EXISTS `v2`*/;
|
/*!50001 DROP VIEW IF EXISTS `v2`*/;
|
||||||
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
/*!50001 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
/*!50001 SET @saved_cs_results = @@character_set_results */;
|
||||||
@ -3446,6 +3512,7 @@ drop table t1;
|
|||||||
mysqldump {
|
mysqldump {
|
||||||
mariadb-dump: Got error: 1356: "View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them" when using LOCK TABLES
|
mariadb-dump: Got error: 1356: "View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them" when using LOCK TABLES
|
||||||
mariadb-dump: Couldn't execute 'SHOW FIELDS FROM `v1`': View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them (1356)
|
mariadb-dump: Couldn't execute 'SHOW FIELDS FROM `v1`': View 'test.v1' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them (1356)
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
-- failed on view `v1`: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`id` AS `id` from `t1`
|
-- failed on view `v1`: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select `test`.`t1`.`id` AS `id` from `t1`
|
||||||
|
|
||||||
@ -3462,6 +3529,7 @@ insert into t1 values (1232131);
|
|||||||
insert into t1 values (4711);
|
insert into t1 values (4711);
|
||||||
insert into t1 values (3231);
|
insert into t1 values (3231);
|
||||||
insert into t1 values (0815);
|
insert into t1 values (0815);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -3536,6 +3604,7 @@ create table basetable ( id serial, tag varchar(64) );
|
|||||||
create database mysqldump_views;
|
create database mysqldump_views;
|
||||||
use mysqldump_views;
|
use mysqldump_views;
|
||||||
create view nasishnasifu as select mysqldump_tables.basetable.id from mysqldump_tables.basetable;
|
create view nasishnasifu as select mysqldump_tables.basetable.id from mysqldump_tables.basetable;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_tables` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `mysqldump_tables` /*!40100 DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci */;
|
||||||
|
|
||||||
@ -3620,10 +3689,14 @@ create user mysqltest_1@localhost;
|
|||||||
create table t1(a int, b varchar(34));
|
create table t1(a int, b varchar(34));
|
||||||
reset master;
|
reset master;
|
||||||
mariadb-dump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
|
mariadb-dump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
|
mariadb-dump: Couldn't execute 'FLUSH /*!40101 LOCAL */ TABLES': Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
grant RELOAD on *.* to mysqltest_1@localhost;
|
grant RELOAD on *.* to mysqltest_1@localhost;
|
||||||
mariadb-dump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need (at least one of) the SUPER, BINLOG MONITOR privilege(s) for this operation (1227)
|
mariadb-dump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need (at least one of) the SUPER, BINLOG MONITOR privilege(s) for this operation (1227)
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
mariadb-dump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need (at least one of) the SUPER, BINLOG MONITOR privilege(s) for this operation (1227)
|
mariadb-dump: Couldn't execute 'SHOW MASTER STATUS': Access denied; you need (at least one of) the SUPER, BINLOG MONITOR privilege(s) for this operation (1227)
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
grant REPLICATION CLIENT on *.* to mysqltest_1@localhost;
|
grant REPLICATION CLIENT on *.* to mysqltest_1@localhost;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
drop user mysqltest_1@localhost;
|
drop user mysqltest_1@localhost;
|
||||||
@ -3682,6 +3755,7 @@ use test;
|
|||||||
#
|
#
|
||||||
# Bug #33762: mysqldump can not dump INFORMATION_SCHEMA
|
# Bug #33762: mysqldump can not dump INFORMATION_SCHEMA
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
DROP TABLE IF EXISTS `TABLES`;
|
DROP TABLE IF EXISTS `TABLES`;
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
@ -3746,6 +3820,7 @@ DROP TABLE t1;
|
|||||||
CREATE TABLE t2 (a INT) ENGINE=MyISAM;
|
CREATE TABLE t2 (a INT) ENGINE=MyISAM;
|
||||||
CREATE TABLE t3 (a INT) ENGINE=MyISAM;
|
CREATE TABLE t3 (a INT) ENGINE=MyISAM;
|
||||||
CREATE TABLE t1 (a INT) ENGINE=merge UNION=(t2, t3);
|
CREATE TABLE t1 (a INT) ENGINE=merge UNION=(t2, t3);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -3836,10 +3911,12 @@ connect user27293,localhost,user1,,mysqldump_test_db,$MASTER_MYPORT,$MASTER_MYS
|
|||||||
connection user27293;
|
connection user27293;
|
||||||
create procedure mysqldump_test_db.sp1() select 'hello';
|
create procedure mysqldump_test_db.sp1() select 'hello';
|
||||||
mariadb-dump: user2 has insufficient privileges to SHOW CREATE PROCEDURE `sp1`!
|
mariadb-dump: user2 has insufficient privileges to SHOW CREATE PROCEDURE `sp1`!
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
-- insufficient privileges to SHOW CREATE PROCEDURE `sp1`
|
-- insufficient privileges to SHOW CREATE PROCEDURE `sp1`
|
||||||
-- does user2 have permissions on mysql.proc?
|
-- does user2 have permissions on mysql.proc?
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||||
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
|
/*!50003 SET sql_mode = 'STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION' */ ;
|
||||||
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
/*!50003 SET @saved_cs_client = @@character_set_client */ ;
|
||||||
@ -3867,6 +3944,7 @@ drop database mysqldump_test_db;
|
|||||||
#
|
#
|
||||||
CREATE TABLE t1 (c1 INT, c2 LONGBLOB);
|
CREATE TABLE t1 (c1 INT, c2 LONGBLOB);
|
||||||
INSERT INTO t1 SET c1=11, c2=REPEAT('q',509);
|
INSERT INTO t1 SET c1=11, c2=REPEAT('q',509);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -3939,6 +4017,7 @@ use db42635;
|
|||||||
create table t1 (id int);
|
create table t1 (id int);
|
||||||
create view db42635.v1 (c) as select * from db42635.t1;
|
create view db42635.v1 (c) as select * from db42635.t1;
|
||||||
create view db42635.v2 (c) as select * from db42635.t1;
|
create view db42635.v2 (c) as select * from db42635.t1;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -3999,6 +4078,7 @@ drop database db42635;
|
|||||||
#
|
#
|
||||||
SET NAMES utf8;
|
SET NAMES utf8;
|
||||||
CREATE TABLE `straße` ( f1 INT );
|
CREATE TABLE `straße` ( f1 INT );
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -4021,6 +4101,7 @@ UNLOCK TABLES;
|
|||||||
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -4045,6 +4126,7 @@ UNLOCK TABLES;
|
|||||||
|
|
||||||
DROP TABLE `straße`;
|
DROP TABLE `straße`;
|
||||||
CREATE TABLE `כדשגכחךלדגכחשךדגחכךלדגכ` ( f1 INT );
|
CREATE TABLE `כדשגכחךלדגכחשךדגחכךלדגכ` ( f1 INT );
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -4068,6 +4150,7 @@ UNLOCK TABLES;
|
|||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
mariadb-dump: Got error: 1146: "Table 'test.???????????????????????' doesn't exist" when using LOCK TABLES
|
mariadb-dump: Got error: 1146: "Table 'test.???????????????????????' doesn't exist" when using LOCK TABLES
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -4084,6 +4167,7 @@ CREATE TABLE t1(a int, b int);
|
|||||||
INSERT INTO t1 VALUES (1,1);
|
INSERT INTO t1 VALUES (1,1);
|
||||||
INSERT INTO t1 VALUES (2,3);
|
INSERT INTO t1 VALUES (2,3);
|
||||||
INSERT INTO t1 VALUES (3,4), (4,5);
|
INSERT INTO t1 VALUES (3,4), (4,5);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -4354,6 +4438,7 @@ insert into t1 values (1232131);
|
|||||||
insert into t1 values (4711);
|
insert into t1 values (4711);
|
||||||
insert into t1 values (3231);
|
insert into t1 values (3231);
|
||||||
insert into t1 values (0815);
|
insert into t1 values (0815);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -4482,6 +4567,7 @@ CREATE DATABASE test;
|
|||||||
create database `test-database`;
|
create database `test-database`;
|
||||||
use `test-database`;
|
use `test-database`;
|
||||||
create table test (a int);
|
create table test (a int);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
DROP TABLE IF EXISTS `test`;
|
DROP TABLE IF EXISTS `test`;
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
@ -4704,6 +4790,7 @@ CREATE TRIGGER `trig` BEFORE INSERT ON `test` FOR EACH ROW BEGIN
|
|||||||
END |
|
END |
|
||||||
ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci;
|
ALTER DATABASE `test-database` CHARACTER SET latin1 COLLATE latin1_swedish_ci;
|
||||||
ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
ALTER DATABASE `test-database` CHARACTER SET utf8 COLLATE utf8_unicode_ci ;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `test` (
|
CREATE TABLE `test` (
|
||||||
@ -5187,6 +5274,7 @@ USE test;
|
|||||||
# Also verify that a prefix of the mode's name is enough.
|
# Also verify that a prefix of the mode's name is enough.
|
||||||
#
|
#
|
||||||
CREATE TABLE t1 (a INT);
|
CREATE TABLE t1 (a INT);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
|
||||||
/*!40103 SET TIME_ZONE='+00:00' */;
|
/*!40103 SET TIME_ZONE='+00:00' */;
|
||||||
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
|
||||||
@ -5419,6 +5507,7 @@ CREATE DATABASE `a\"'``b`;
|
|||||||
USE `a\"'``b`;
|
USE `a\"'``b`;
|
||||||
CREATE PROCEDURE p1() BEGIN END;
|
CREATE PROCEDURE p1() BEGIN END;
|
||||||
ALTER DATABASE `a\"'``b` COLLATE utf8_general_ci;
|
ALTER DATABASE `a\"'``b` COLLATE utf8_general_ci;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
/*!50003 SET @saved_sql_mode = @@sql_mode */ ;
|
||||||
/*!50003 SET sql_mode = '' */ ;
|
/*!50003 SET sql_mode = '' */ ;
|
||||||
ALTER DATABASE `a\"'``b` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
ALTER DATABASE `a\"'``b` CHARACTER SET latin1 COLLATE latin1_swedish_ci ;
|
||||||
@ -5467,6 +5556,7 @@ CREATE VIEW nonunique_table_view_name AS SELECT 1;
|
|||||||
|
|
||||||
##################################################
|
##################################################
|
||||||
# --compact --databases db1 db2
|
# --compact --databases db1 db2
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db1` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */;
|
||||||
|
|
||||||
@ -5529,6 +5619,7 @@ USE `db2`;
|
|||||||
##################################################
|
##################################################
|
||||||
# --compact db2
|
# --compact db2
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `nonunique_table_name` (
|
CREATE TABLE `nonunique_table_name` (
|
||||||
@ -5547,6 +5638,7 @@ INSERT INTO `nonunique_table_view_name` VALUES (3),(4);
|
|||||||
|
|
||||||
##################################################
|
##################################################
|
||||||
# --compact --delayed-insert --no-data-med=0 --databases db2 db1
|
# --compact --delayed-insert --no-data-med=0 --databases db2 db1
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db2` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */;
|
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `db2` /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci */;
|
||||||
|
|
||||||
@ -5670,6 +5762,7 @@ CREATE TABLE t1 (a int, b int);
|
|||||||
CREATE TRIGGER tt1_t1 BEFORE INSERT ON t1 FOR EACH ROW
|
CREATE TRIGGER tt1_t1 BEFORE INSERT ON t1 FOR EACH ROW
|
||||||
SET NEW.b=NEW.a + 10;
|
SET NEW.b=NEW.a + 10;
|
||||||
INSERT INTO t1 (a) VALUES (1),(2),(3);
|
INSERT INTO t1 (a) VALUES (1),(2),(3);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -5718,6 +5811,7 @@ DROP TABLE t1;
|
|||||||
#
|
#
|
||||||
# Without --replace and --insert-ignore
|
# Without --replace and --insert-ignore
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -5813,6 +5907,7 @@ CREATE TABLE IF NOT EXISTS `transaction_registry` (
|
|||||||
#
|
#
|
||||||
# With --replace
|
# With --replace
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -5918,6 +6013,7 @@ CREATE TABLE IF NOT EXISTS `transaction_registry` (
|
|||||||
#
|
#
|
||||||
# With --insert-ignore
|
# With --insert-ignore
|
||||||
#
|
#
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -6042,6 +6138,7 @@ insert into t3 values(2);
|
|||||||
insert into t3(`invisible`, `a b c & $!@#$%^&*( )`, `ds=~!@ \# $% ^ & * ( ) _ - = +` ) values(1,2,3);
|
insert into t3(`invisible`, `a b c & $!@#$%^&*( )`, `ds=~!@ \# $% ^ & * ( ) _ - = +` ) values(1,2,3);
|
||||||
CREATE TABLE t4(ËÏÌÏÎËÁ1 INT);
|
CREATE TABLE t4(ËÏÌÏÎËÁ1 INT);
|
||||||
insert into t4 values(1);
|
insert into t4 values(1);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -6075,6 +6172,7 @@ CREATE TABLE `t4` (
|
|||||||
/*!40101 SET character_set_client = @saved_cs_client */;
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
INSERT INTO `t4` VALUES (1);
|
INSERT INTO `t4` VALUES (1);
|
||||||
#Check side effect on --complete insert
|
#Check side effect on --complete insert
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -6315,7 +6413,7 @@ j integer
|
|||||||
INSERT INTO t VALUES (1,1),(2,2),(3,3),(4,4);
|
INSERT INTO t VALUES (1,1),(2,2),(3,3),(4,4);
|
||||||
# Dump database 1
|
# Dump database 1
|
||||||
# Restore from database 1 to database 2
|
# Restore from database 1 to database 2
|
||||||
ERROR 1100 (HY000) at line 45: Table 'seq_t_i' was not locked with LOCK TABLES
|
ERROR 1100 (HY000) at line 46: Table 'seq_t_i' was not locked with LOCK TABLES
|
||||||
SETVAL(`seq_t_i`, 1, 0)
|
SETVAL(`seq_t_i`, 1, 0)
|
||||||
1
|
1
|
||||||
DROP DATABASE IF EXISTS test1;
|
DROP DATABASE IF EXISTS test1;
|
||||||
@ -6436,10 +6534,8 @@ TABLE 1
|
|||||||
SET GLOBAL LOG_OUTPUT=DEFAULT, GLOBAL GENERAL_LOG=@save_general_log;
|
SET GLOBAL LOG_OUTPUT=DEFAULT, GLOBAL GENERAL_LOG=@save_general_log;
|
||||||
TRUNCATE TABLE mysql.general_log;
|
TRUNCATE TABLE mysql.general_log;
|
||||||
DROP DATABASE test1;
|
DROP DATABASE test1;
|
||||||
#
|
|
||||||
# End of 10.3 tests
|
# End of 10.3 tests
|
||||||
#
|
#
|
||||||
#
|
|
||||||
# MDEV-31092 mysqldump --force doesn't ignore error as it should
|
# MDEV-31092 mysqldump --force doesn't ignore error as it should
|
||||||
#
|
#
|
||||||
create function f1() returns int return 1;
|
create function f1() returns int return 1;
|
||||||
@ -6450,6 +6546,7 @@ Warnings:
|
|||||||
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
|
Warning 1105 Event scheduler is switched off, use SET GLOBAL event_scheduler=ON to enable it.
|
||||||
update mysql.event set body ='select not_a_value' where db='test' and name='e1';
|
update mysql.event set body ='select not_a_value' where db='test' and name='e1';
|
||||||
create table t1 (i int);
|
create table t1 (i int);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -6497,6 +6594,19 @@ drop function f1;
|
|||||||
drop function f2;
|
drop function f2;
|
||||||
drop event e1;
|
drop event e1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
#
|
|
||||||
# End of 10.4 tests
|
# End of 10.4 tests
|
||||||
#
|
#
|
||||||
|
# MDEV-33727 mariadb-dump trusts the server and does not validate the data
|
||||||
|
#
|
||||||
|
create table t1 (a int);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
DROP TABLE IF EXISTS `t1`;
|
||||||
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
|
CREATE TABLE `t1` (
|
||||||
|
`a` int(11) DEFAULT NULL
|
||||||
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;
|
||||||
|
/*!40101 SET character_set_client = @saved_cs_client */;
|
||||||
|
ERROR at line 9: Not allowed in the sandbox mode
|
||||||
|
drop table t1;
|
||||||
|
# End of 10.5 tests
|
||||||
|
@ -2985,9 +2985,7 @@ TRUNCATE TABLE mysql.general_log;
|
|||||||
DROP DATABASE test1;
|
DROP DATABASE test1;
|
||||||
--remove_file $MYSQLTEST_VARDIR/tmp/dumptest1.sql
|
--remove_file $MYSQLTEST_VARDIR/tmp/dumptest1.sql
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # End of 10.3 tests
|
--echo # End of 10.3 tests
|
||||||
--echo #
|
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # MDEV-31092 mysqldump --force doesn't ignore error as it should
|
--echo # MDEV-31092 mysqldump --force doesn't ignore error as it should
|
||||||
@ -3006,6 +3004,25 @@ drop function f2;
|
|||||||
drop event e1;
|
drop event e1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
--echo #
|
|
||||||
--echo # End of 10.4 tests
|
--echo # End of 10.4 tests
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
|
--echo # MDEV-33727 mariadb-dump trusts the server and does not validate the data
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
create table t1 (a int);
|
||||||
|
--exec $MYSQL_DUMP --compact --add-drop-table test > $MYSQLTEST_VARDIR/tmp/mdev33727.sql
|
||||||
|
|
||||||
|
# first let's verify it can be loaded not only by mariadb client
|
||||||
|
--source $MYSQLTEST_VARDIR/tmp/mdev33727.sql
|
||||||
|
|
||||||
|
# and now test the mariadb client sandbox protection
|
||||||
|
--append_file $MYSQLTEST_VARDIR/tmp/mdev33727.sql
|
||||||
|
\! echo foo
|
||||||
|
EOF
|
||||||
|
--error 1
|
||||||
|
--exec $MYSQL test < $MYSQLTEST_VARDIR/tmp/mdev33727.sql 2>&1
|
||||||
|
--remove_file $MYSQLTEST_VARDIR/tmp/mdev33727.sql
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
--echo # End of 10.5 tests
|
||||||
|
@ -77,6 +77,7 @@ DROP TABLE thread_status;
|
|||||||
SET GLOBAL event_scheduler=0;
|
SET GLOBAL event_scheduler=0;
|
||||||
CREATE TABLE t1(a int);
|
CREATE TABLE t1(a int);
|
||||||
INSERT INTO t1 VALUES (1), (2);
|
INSERT INTO t1 VALUES (1), (2);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -111,6 +112,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
@ -145,6 +147,7 @@ UNLOCK TABLES;
|
|||||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
||||||
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
@ -338,6 +338,7 @@ FLUSH PRIVILEGES;
|
|||||||
# Executing 'mysqladmin'
|
# Executing 'mysqladmin'
|
||||||
mysqld is alive
|
mysqld is alive
|
||||||
# Executing 'mysqldump'
|
# Executing 'mysqldump'
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
# Executing 'mysql_upgrade'
|
# Executing 'mysql_upgrade'
|
||||||
#
|
#
|
||||||
# Bug #59657: Move the client authentication_pam plugin into the
|
# Bug #59657: Move the client authentication_pam plugin into the
|
||||||
|
@ -7,14 +7,17 @@ connection slave;
|
|||||||
connection master;
|
connection master;
|
||||||
use test;
|
use test;
|
||||||
connection slave;
|
connection slave;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='';
|
-- SET GLOBAL gtid_slave_pos='';
|
||||||
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
STOP ALL SLAVES;
|
STOP ALL SLAVES;
|
||||||
-- SET GLOBAL gtid_slave_pos='';
|
-- SET GLOBAL gtid_slave_pos='';
|
||||||
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
START ALL SLAVES;
|
START ALL SLAVES;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
STOP ALL SLAVES;
|
STOP ALL SLAVES;
|
||||||
-- SET GLOBAL gtid_slave_pos='';
|
-- SET GLOBAL gtid_slave_pos='';
|
||||||
CHANGE MASTER '' TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_MYPORT, MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
CHANGE MASTER '' TO MASTER_HOST='127.0.0.1', MASTER_PORT=MASTER_MYPORT, MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
@ -23,6 +26,7 @@ START ALL SLAVES;
|
|||||||
start slave;
|
start slave;
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1254 Slave is already running
|
Note 1254 Slave is already running
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='';
|
-- SET GLOBAL gtid_slave_pos='';
|
||||||
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
@ -41,6 +45,7 @@ DROP TABLE t2;
|
|||||||
|
|
||||||
1. --dump-slave=1 --gtid
|
1. --dump-slave=1 --gtid
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
SET GLOBAL gtid_slave_pos='0-1-1001';
|
SET GLOBAL gtid_slave_pos='0-1-1001';
|
||||||
CHANGE MASTER '' TO MASTER_USE_GTID=slave_pos;
|
CHANGE MASTER '' TO MASTER_USE_GTID=slave_pos;
|
||||||
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
@ -48,12 +53,14 @@ CHANGE MASTER '' TO MASTER_USE_GTID=slave_pos;
|
|||||||
|
|
||||||
1a. --dump-slave=1
|
1a. --dump-slave=1
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='0-1-1001';
|
-- SET GLOBAL gtid_slave_pos='0-1-1001';
|
||||||
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
|
|
||||||
2. --dump-slave=2 --gtid
|
2. --dump-slave=2 --gtid
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='0-1-1001';
|
-- SET GLOBAL gtid_slave_pos='0-1-1001';
|
||||||
-- CHANGE MASTER '' TO MASTER_USE_GTID=slave_pos;
|
-- CHANGE MASTER '' TO MASTER_USE_GTID=slave_pos;
|
||||||
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
@ -61,6 +68,7 @@ CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_S
|
|||||||
|
|
||||||
2. --dump-slave=2
|
2. --dump-slave=2
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='0-1-1001';
|
-- SET GLOBAL gtid_slave_pos='0-1-1001';
|
||||||
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
-- CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
@ -68,39 +76,46 @@ CHANGE MASTER '' TO MASTER_LOG_FILE='master-bin.000001', MASTER_LOG_POS=BINLOG_S
|
|||||||
|
|
||||||
1. --master-data=1 --gtid
|
1. --master-data=1 --gtid
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
|
CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
|
||||||
SET GLOBAL gtid_slave_pos='0-2-1003';
|
SET GLOBAL gtid_slave_pos='0-2-1003';
|
||||||
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
1a. --master-data=1
|
1a. --master-data=1
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='0-2-1003';
|
-- SET GLOBAL gtid_slave_pos='0-2-1003';
|
||||||
CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
2. --master-data=2 --gtid
|
2. --master-data=2 --gtid
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
|
-- CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
|
||||||
-- SET GLOBAL gtid_slave_pos='0-2-1003';
|
-- SET GLOBAL gtid_slave_pos='0-2-1003';
|
||||||
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
2a. --master-data=2
|
2a. --master-data=2
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='0-2-1003';
|
-- SET GLOBAL gtid_slave_pos='0-2-1003';
|
||||||
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
3. --master-data --single-transaction --gtid
|
3. --master-data --single-transaction --gtid
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
|
CHANGE MASTER TO MASTER_USE_GTID=slave_pos;
|
||||||
SET GLOBAL gtid_slave_pos='0-2-1003';
|
SET GLOBAL gtid_slave_pos='0-2-1003';
|
||||||
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
-- CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
3a. --master-data --single-transaction
|
3a. --master-data --single-transaction
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='0-2-1003';
|
-- SET GLOBAL gtid_slave_pos='0-2-1003';
|
||||||
CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START;
|
||||||
|
|
||||||
4. --master-data=2 --dump-slave=2 --single-transaction --gtid (MDEV-4827)
|
4. --master-data=2 --dump-slave=2 --single-transaction --gtid (MDEV-4827)
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- MariaDB dump--
|
-- MariaDB dump--
|
||||||
-- Host: localhost Database: test
|
-- Host: localhost Database: test
|
||||||
-- ------------------------------------------------------
|
-- ------------------------------------------------------
|
||||||
@ -156,6 +171,7 @@ CHANGE MASTER TO MASTER_LOG_FILE='slave-bin.000001', MASTER_LOG_POS=BINLOG_START
|
|||||||
|
|
||||||
4a. --master-data=2 --dump-slave=2 --single-transaction (MDEV-4827)
|
4a. --master-data=2 --dump-slave=2 --single-transaction (MDEV-4827)
|
||||||
|
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- MariaDB dump--
|
-- MariaDB dump--
|
||||||
-- Host: localhost Database: test
|
-- Host: localhost Database: test
|
||||||
-- ------------------------------------------------------
|
-- ------------------------------------------------------
|
||||||
@ -215,6 +231,7 @@ include/stop_slave.inc
|
|||||||
change master to master_use_gtid=slave_pos;
|
change master to master_use_gtid=slave_pos;
|
||||||
connection master;
|
connection master;
|
||||||
# Ensuring the binlog dump thread is killed on primary...
|
# Ensuring the binlog dump thread is killed on primary...
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
-- SET GLOBAL gtid_slave_pos='0-1-1005';
|
-- SET GLOBAL gtid_slave_pos='0-1-1005';
|
||||||
-- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000002', MASTER_LOG_POS=BINLOG_START;
|
-- CHANGE MASTER TO MASTER_LOG_FILE='master-bin.000002', MASTER_LOG_POS=BINLOG_START;
|
||||||
connection slave;
|
connection slave;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
-- source include/have_innodb.inc
|
-- source include/have_innodb.inc
|
||||||
-- source include/have_ssl_crypto_functs.inc
|
-- source include/have_des.inc
|
||||||
|
|
||||||
CREATE TABLE t1(a int) engine=innodb;
|
CREATE TABLE t1(a int) engine=innodb;
|
||||||
INSERT INTO t1 VALUES (1);
|
INSERT INTO t1 VALUES (1);
|
||||||
|
@ -2986,34 +2986,31 @@ where a >= any (select b from t2 group by (select c from t3 where c = 1));
|
|||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
|
||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where <nop>(<in_optimizer>(`test`.`t1`.`a`,(/* select#2 */ select min(`test`.`t2`.`b`) from `test`.`t2`) <= <cache>(`test`.`t1`.`a`)))
|
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where <nop>(<in_optimizer>(`test`.`t1`.`a`,<min>(/* select#2 */ select `test`.`t2`.`b` from `test`.`t2` group by (/* select#3 */ select `test`.`t3`.`c` from `test`.`t3` where `test`.`t3`.`c` = 1)) <= <cache>(`test`.`t1`.`a`)))
|
||||||
select a from t1
|
select a from t1
|
||||||
where a >= any (select b from t2 group by (select c from t3 where c = 1));
|
where a >= any (select b from t2 group by (select c from t3 where c = 1));
|
||||||
a
|
a
|
||||||
3
|
|
||||||
2
|
|
||||||
prepare stmt from "select a from t1
|
prepare stmt from "select a from t1
|
||||||
where a >= any (select b from t2 group by (select c from t3 where c = 1))";
|
where a >= any (select b from t2 group by (select c from t3 where c = 1))";
|
||||||
execute stmt;
|
execute stmt;
|
||||||
a
|
a
|
||||||
3
|
|
||||||
2
|
|
||||||
execute stmt;
|
execute stmt;
|
||||||
a
|
a
|
||||||
3
|
|
||||||
2
|
|
||||||
deallocate prepare stmt;
|
deallocate prepare stmt;
|
||||||
explain extended select a from t1
|
explain extended select a from t1
|
||||||
where a <= all (select b from t2 group by (select c from t3 where c = 1));
|
where a <= all (select b from t2 group by (select c from t3 where c = 1));
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
|
||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where <not>(<in_optimizer>(`test`.`t1`.`a`,(/* select#2 */ select min(`test`.`t2`.`b`) from `test`.`t2`) < <cache>(`test`.`t1`.`a`)))
|
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where <not>(<in_optimizer>(`test`.`t1`.`a`,<min>(/* select#2 */ select `test`.`t2`.`b` from `test`.`t2` group by (/* select#3 */ select `test`.`t3`.`c` from `test`.`t3` where `test`.`t3`.`c` = 1)) < <cache>(`test`.`t1`.`a`)))
|
||||||
select a from t1
|
select a from t1
|
||||||
where a <= all (select b from t2 group by (select c from t3 where c = 1));
|
where a <= all (select b from t2 group by (select c from t3 where c = 1));
|
||||||
a
|
a
|
||||||
|
3
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
explain extended select a from t1
|
explain extended select a from t1
|
||||||
@ -3021,13 +3018,12 @@ where a >= any (select b from t2 group by 1 + (select c from t3 where c = 1));
|
|||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 3 100.00 Using where
|
||||||
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00
|
2 SUBQUERY t2 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
3 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where <nop>(<in_optimizer>(`test`.`t1`.`a`,(/* select#2 */ select min(`test`.`t2`.`b`) from `test`.`t2`) <= <cache>(`test`.`t1`.`a`)))
|
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a` from `test`.`t1` where <nop>(<in_optimizer>(`test`.`t1`.`a`,<min>(/* select#2 */ select `test`.`t2`.`b` from `test`.`t2` group by 1 + (/* select#3 */ select `test`.`t3`.`c` from `test`.`t3` where `test`.`t3`.`c` = 1)) <= <cache>(`test`.`t1`.`a`)))
|
||||||
select a from t1
|
select a from t1
|
||||||
where a >= any (select b from t2 group by 1 + (select c from t3 where c = 1));
|
where a >= any (select b from t2 group by 1 + (select c from t3 where c = 1));
|
||||||
a
|
a
|
||||||
3
|
|
||||||
2
|
|
||||||
drop table t1,t2,t3;
|
drop table t1,t2,t3;
|
||||||
#
|
#
|
||||||
# MDEV-29139: Redundant IN/ALL/ANY predicand in GROUP BY clause of
|
# MDEV-29139: Redundant IN/ALL/ANY predicand in GROUP BY clause of
|
||||||
@ -3047,8 +3043,10 @@ group by (select a from t1 where a = 1) in (select d from t4));
|
|||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00
|
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00
|
||||||
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
4 SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
|
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where 1
|
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where <in_optimizer>(1,exists(/* select#2 */ select `test`.`t3`.`c` from `test`.`t3` group by <in_optimizer>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1),<exists>(/* select#4 */ select `test`.`t4`.`d` from `test`.`t4` where trigcond(<cache>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1)) = `test`.`t4`.`d` or `test`.`t4`.`d` is null) having trigcond(`test`.`t4`.`d` is null))) limit 1))
|
||||||
select b from t2
|
select b from t2
|
||||||
where exists (select c from t3
|
where exists (select c from t3
|
||||||
group by (select a from t1 where a = 1) in (select d from t4));
|
group by (select a from t1 where a = 1) in (select d from t4));
|
||||||
@ -3074,8 +3072,10 @@ any (select d from t4));
|
|||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00
|
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00
|
||||||
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
4 SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
|
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where 1
|
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where <in_optimizer>(1,exists(/* select#2 */ select `test`.`t3`.`c` from `test`.`t3` group by <nop>(<expr_cache><(/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1)>(<in_optimizer>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1),<exists>(/* select#4 */ select `test`.`t4`.`d` from `test`.`t4` where trigcond(<cache>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1)) >= `test`.`t4`.`d` or `test`.`t4`.`d` is null) having trigcond(`test`.`t4`.`d` is null))))) limit 1))
|
||||||
select b from t2
|
select b from t2
|
||||||
where exists (select c from t3
|
where exists (select c from t3
|
||||||
group by (select a from t1 where a = 1) >=
|
group by (select a from t1 where a = 1) >=
|
||||||
@ -3090,8 +3090,10 @@ all (select d from t4));
|
|||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00
|
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00
|
||||||
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
4 SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
|
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where 1
|
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where <in_optimizer>(1,exists(/* select#2 */ select `test`.`t3`.`c` from `test`.`t3` group by <not>(<expr_cache><(/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1)>(<in_optimizer>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1),<exists>(/* select#4 */ select `test`.`t4`.`d` from `test`.`t4` where trigcond(<cache>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1)) >= `test`.`t4`.`d` or `test`.`t4`.`d` is null) having trigcond(`test`.`t4`.`d` is null))))) limit 1))
|
||||||
select b from t2
|
select b from t2
|
||||||
where exists (select c from t3
|
where exists (select c from t3
|
||||||
group by (select a from t1 where a = 1) <
|
group by (select a from t1 where a = 1) <
|
||||||
@ -3103,16 +3105,17 @@ explain extended select b from t2
|
|||||||
where b in (select c from t3
|
where b in (select c from t3
|
||||||
group by (select a from t1 where a = 1) in (select d from t4));
|
group by (select a from t1 where a = 1) in (select d from t4));
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00
|
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 func 1 100.00
|
1 PRIMARY <subquery2> eq_ref distinct_key distinct_key 4 test.t2.b 1 100.00
|
||||||
2 MATERIALIZED t3 ALL NULL NULL NULL NULL 2 100.00
|
2 MATERIALIZED t3 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
4 SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
|
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 select `test`.`t2`.`b` AS `b` from `test`.`t2` semi join (`test`.`t3`) where 1
|
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from <materialize> (/* select#2 */ select `test`.`t3`.`c` from `test`.`t3` group by <in_optimizer>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1),<exists>(/* select#4 */ select `test`.`t4`.`d` from `test`.`t4` where trigcond(<cache>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1)) = `test`.`t4`.`d` or `test`.`t4`.`d` is null) having trigcond(`test`.`t4`.`d` is null)))) join `test`.`t2` where `<subquery2>`.`c` = `test`.`t2`.`b`
|
||||||
select b from t2
|
select b from t2
|
||||||
where b in (select c from t3
|
where b in (select c from t3
|
||||||
group by (select a from t1 where a = 1) in (select d from t4));
|
group by (select a from t1 where a = 1) in (select d from t4));
|
||||||
b
|
b
|
||||||
2
|
|
||||||
explain extended select b from t2
|
explain extended select b from t2
|
||||||
where b >= any (select c from t3
|
where b >= any (select c from t3
|
||||||
group by (select a from t1 where a = 1) in
|
group by (select a from t1 where a = 1) in
|
||||||
@ -3120,30 +3123,33 @@ group by (select a from t1 where a = 1) in
|
|||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
|
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
4 SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
|
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
Warnings:
|
Warnings:
|
||||||
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where <nop>(<in_optimizer>(`test`.`t2`.`b`,(/* select#2 */ select min(`test`.`t3`.`c`) from `test`.`t3`) <= <cache>(`test`.`t2`.`b`)))
|
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where <nop>(<in_optimizer>(`test`.`t2`.`b`,<min>(/* select#2 */ select `test`.`t3`.`c` from `test`.`t3` group by <in_optimizer>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1),<exists>(/* select#4 */ select `test`.`t4`.`d` from `test`.`t4` where trigcond(<cache>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1)) = `test`.`t4`.`d` or `test`.`t4`.`d` is null) having trigcond(`test`.`t4`.`d` is null)))) <= <cache>(`test`.`t2`.`b`)))
|
||||||
select b from t2
|
select b from t2
|
||||||
where b >= any (select c from t3
|
where b >= any (select c from t3
|
||||||
group by (select a from t1 where a = 1) in
|
group by (select a from t1 where a = 1) in
|
||||||
(select d from t4));
|
(select d from t4));
|
||||||
b
|
b
|
||||||
|
explain extended select b from t2
|
||||||
|
where b <= all (select c from t3
|
||||||
|
group by (select a from t1 where a = 1) in
|
||||||
|
(select d from t4));
|
||||||
|
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||||
|
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
|
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
||||||
|
4 SUBQUERY t4 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
|
3 SUBQUERY t1 ALL NULL NULL NULL NULL 2 100.00 Using where
|
||||||
|
Warnings:
|
||||||
|
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where <not>(<in_optimizer>(`test`.`t2`.`b`,<min>(/* select#2 */ select `test`.`t3`.`c` from `test`.`t3` group by <in_optimizer>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1),<exists>(/* select#4 */ select `test`.`t4`.`d` from `test`.`t4` where trigcond(<cache>((/* select#3 */ select `test`.`t1`.`a` from `test`.`t1` where `test`.`t1`.`a` = 1)) = `test`.`t4`.`d` or `test`.`t4`.`d` is null) having trigcond(`test`.`t4`.`d` is null)))) < <cache>(`test`.`t2`.`b`)))
|
||||||
|
select b from t2
|
||||||
|
where b <= all (select c from t3
|
||||||
|
group by (select a from t1 where a = 1) in
|
||||||
|
(select d from t4));
|
||||||
|
b
|
||||||
3
|
3
|
||||||
2
|
2
|
||||||
explain extended select b from t2
|
|
||||||
where b <= all (select c from t3
|
|
||||||
group by (select a from t1 where a = 1) in
|
|
||||||
(select d from t4));
|
|
||||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
|
||||||
1 PRIMARY t2 ALL NULL NULL NULL NULL 2 100.00 Using where
|
|
||||||
2 SUBQUERY t3 ALL NULL NULL NULL NULL 2 100.00
|
|
||||||
Warnings:
|
|
||||||
Note 1003 /* select#1 */ select `test`.`t2`.`b` AS `b` from `test`.`t2` where <not>(<in_optimizer>(`test`.`t2`.`b`,<min>(/* select#2 */ select `test`.`t3`.`c` from `test`.`t3`) < <cache>(`test`.`t2`.`b`)))
|
|
||||||
select b from t2
|
|
||||||
where b <= all (select c from t3
|
|
||||||
group by (select a from t1 where a = 1) in
|
|
||||||
(select d from t4));
|
|
||||||
b
|
|
||||||
2
|
|
||||||
drop table t1,t2,t3,t4;
|
drop table t1,t2,t3,t4;
|
||||||
# End of 10.3 tests
|
# End of 10.3 tests
|
||||||
#
|
#
|
||||||
|
268
mysql-test/main/subselect_elimination.result
Normal file
268
mysql-test/main/subselect_elimination.result
Normal file
@ -0,0 +1,268 @@
|
|||||||
|
#
|
||||||
|
# MDEV-28621 group by optimization incorrectly removing subquery where
|
||||||
|
# subject buried in a function
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (i int) ;
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
SELECT 1 FROM t1
|
||||||
|
WHERE i in
|
||||||
|
( SELECT a+1
|
||||||
|
FROM
|
||||||
|
(SELECT (SELECT i FROM (SELECT 1 FROM t1) dt) AS a FROM t1) dt2
|
||||||
|
GROUP BY a
|
||||||
|
);
|
||||||
|
ERROR 21000: Subquery returns more than 1 row
|
||||||
|
DROP TABLE t1;
|
||||||
|
create table t1 (a int, b int, c int);
|
||||||
|
insert into t1 select seq, seq, seq from seq_1_to_10;
|
||||||
|
create table t2 as select * from t1;
|
||||||
|
create table t20 as select * from t1;
|
||||||
|
create table t21 as select * from t1;
|
||||||
|
create table t3 as select * from t1;
|
||||||
|
select a, a in
|
||||||
|
(
|
||||||
|
select
|
||||||
|
(
|
||||||
|
select max(c) from t20 where t20.a<=t2.a
|
||||||
|
) as SUBQ1 from t2 group by SUBQ1+1
|
||||||
|
) as COL
|
||||||
|
from t1;
|
||||||
|
a COL
|
||||||
|
1 1
|
||||||
|
2 1
|
||||||
|
3 1
|
||||||
|
4 1
|
||||||
|
5 1
|
||||||
|
6 1
|
||||||
|
7 1
|
||||||
|
8 1
|
||||||
|
9 1
|
||||||
|
10 1
|
||||||
|
create view v2 as
|
||||||
|
select
|
||||||
|
a, b,
|
||||||
|
(select max(c) from t20 where t20.a<=t2.a) as SUBQ1,
|
||||||
|
(select max(c) from t21 where t21.a<=t2.a) as SUBQ2
|
||||||
|
from t2;
|
||||||
|
# test partial elimination
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a,
|
||||||
|
a in (select a from v2 where a>3 and v2.SUBQ2>=0 group by v2.SUBQ1, v2.SUBQ2)
|
||||||
|
from t1;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
5 DEPENDENT SUBQUERY t21 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
# test buried subselects in group by clause
|
||||||
|
select a, a in
|
||||||
|
(
|
||||||
|
select
|
||||||
|
(
|
||||||
|
select max(c) from t20 where t20.a<=t2.a
|
||||||
|
)*2 as SUBQ1 from t2 group by SUBQ1+1
|
||||||
|
) as COL
|
||||||
|
from t1;
|
||||||
|
a COL
|
||||||
|
1 0
|
||||||
|
2 1
|
||||||
|
3 0
|
||||||
|
4 1
|
||||||
|
5 0
|
||||||
|
6 1
|
||||||
|
7 0
|
||||||
|
8 1
|
||||||
|
9 0
|
||||||
|
10 1
|
||||||
|
drop view v2;
|
||||||
|
drop table t1, t2, t20, t21, t3;
|
||||||
|
# Testcase from MDEV-32311
|
||||||
|
SELECT (
|
||||||
|
( WITH x ( x ) AS
|
||||||
|
(SELECT ( SELECT 'x' UNION SELECT 'x' ) FROM ( SELECT ( 'x' ) ) x)
|
||||||
|
SELECT x FROM x
|
||||||
|
WHERE x IN ( ( SELECT 'x' AND x GROUP BY x ) )
|
||||||
|
)
|
||||||
|
) AS SUBQ;
|
||||||
|
SUBQ
|
||||||
|
x
|
||||||
|
# MDEV-32390:
|
||||||
|
CREATE TABLE t0 ( c43 DECIMAL ( 31 ) DEFAULT ( 45 ) ) ;
|
||||||
|
INSERT INTO t0 VALUES ( 13 ) , ( 29 ) ;
|
||||||
|
ALTER TABLE t0 ADD COLUMN c24 INT AFTER c43 ;
|
||||||
|
INSERT INTO t0 VALUES ( DEFAULT , DEFAULT ) , ( DEFAULT , DEFAULT ) ;
|
||||||
|
SELECT t1 . c22 AS c9 FROM ( SELECT ( SELECT + EXISTS ( SELECT -128 AS c29 ) <<
|
||||||
|
LOCATE ( t0 . c43 , t0 . c24 <= t0 . c24 NOT BETWEEN 4642475734208631537 AND
|
||||||
|
-108 , NULLIF ( 57 , -8 ) SOUNDS LIKE TRIM( TRAILING FROM 6107036197732405580 )
|
||||||
|
) - t0 . c43 AS c57 FROM t0 LIMIT 1 ) AS c22 FROM t0 ) AS t1 HAVING TRIM( CASE
|
||||||
|
t1 . c22 WHEN -16 THEN RAND ( ) % HEX ( t1 . c22 ) - SUBSTRING_INDEX ( t1 . c22,
|
||||||
|
':A9SEZxtjN,fKN*zR' , 'V*vhJb}&c%Op,[T[S,j`F9NDsK;\'8 4;m"
|
||||||
|
P,ce}1r"3ID1DN' ) >> NULLIF ( t1 . c22 , -95 ) ELSE -2 END IS TRUE
|
||||||
|
FROM t1 . c22 >= EXISTS ( SELECT t2 . c57 AS c59 FROM ( SELECT CASE c24 WHEN
|
||||||
|
-103 THEN 85 ELSE 22 END IS TRUE AS c57 FROM t0 ) AS t2 WHERE MOD ( 64 , 46 ) =
|
||||||
|
CONVERT ( 73 , BINARY ) % RAND ( ) IS NOT NULL = -65 GROUP BY c57 , c22 , c22
|
||||||
|
WINDOW w0 AS ( PARTITION BY t2 . c57 ) ) & PI ( ) ) ;
|
||||||
|
c9
|
||||||
|
DROP TABLE t0;
|
||||||
|
# MDEV-32309
|
||||||
|
SELECT
|
||||||
|
( WITH x ( x ) AS
|
||||||
|
(
|
||||||
|
WITH x ( x ) AS ( SELECT 1 ) SELECT ( SELECT x ) FROM x
|
||||||
|
)
|
||||||
|
SELECT x FROM x WHERE x IN ( SELECT NULL GROUP BY x )
|
||||||
|
) as col1 ;
|
||||||
|
col1
|
||||||
|
NULL
|
||||||
|
# MDEV-32391
|
||||||
|
CREATE TABLE t0 ( c15 INT , c33 INT ) engine=innodb;
|
||||||
|
INSERT INTO t0 ( c15 ) WITH t1 AS ( SELECT SQRT ( 123 ) NOT
|
||||||
|
REGEXP MOD ( 91 , -121 ) = ALL ( SELECT c15 AS c33 FROM t0 ) AS c49 FROM t0 )
|
||||||
|
SELECT t1 . c49 IS UNKNOWN AS c59 FROM t1 CROSS JOIN t0 AS t2
|
||||||
|
WHERE t1 . c49 = + EXISTS ( SELECT -5839312620871436105 AS c17 GROUP BY c49 )
|
||||||
|
BETWEEN -109 AND CHAR_LENGTH ( 2694839150676403988 ) - - LOWER ( -13 ) ;
|
||||||
|
DROP TABLE t0;
|
||||||
|
# MDEV-28620
|
||||||
|
CREATE TABLE t1 ( a int);
|
||||||
|
INSERT INTO t1 VALUES (1),(2);
|
||||||
|
SELECT EXISTS
|
||||||
|
( SELECT 1 FROM t1 GROUP BY 1 IN (SELECT a FROM t1)
|
||||||
|
ORDER BY a + (SELECT 1 FROM t1 WHERE (1,2) NOT IN (SELECT 1,0))
|
||||||
|
) as SUBQ;
|
||||||
|
ERROR 21000: Subquery returns more than 1 row
|
||||||
|
DROP TABLE t1;
|
||||||
|
# MDEV-30842 Item_subselect::get_cache_parameters and UBSAN member
|
||||||
|
# access within null pointer
|
||||||
|
CREATE TABLE x (x INT) ENGINE=InnoDB;
|
||||||
|
INSERT INTO x (x) VALUES (0);
|
||||||
|
INSERT INTO x (x) VALUES (x IN (SELECT (SELECT x FROM (SELECT x FROM
|
||||||
|
(SELECT 0 IN (SELECT x=0 FROM (SELECT x FROM (SELECT (SELECT (SELECT (SELECT
|
||||||
|
(SELECT 0 AS x) FROM x AS x) IN (SELECT 0 AS x) AS x) FROM x AS x) IN
|
||||||
|
(SELECT x WHERE x=0) AS x FROM x AS x) AS x) AS x GROUP BY x) AS x FROM x) AS x)
|
||||||
|
AS x) IN (SELECT 0 AS x) AS x FROM x));
|
||||||
|
ERROR HY000: Table 'x' is specified twice, both as a target for 'INSERT' and as a separate source for data
|
||||||
|
DROP TABLE x;
|
||||||
|
# MDEV-28622: Item_subselect eliminated flag set but Item still
|
||||||
|
# evaluated/used.
|
||||||
|
CREATE TABLE t1 ( a int) ;
|
||||||
|
CREATE VIEW v1 (i) AS SELECT EXISTS(SELECT 1) FROM t1;
|
||||||
|
SELECT 1 FROM v1 WHERE i NOT IN (SELECT i = 0 FROM v1 WHERE i = -1 GROUP BY i);
|
||||||
|
1
|
||||||
|
DROP TABLE t1;
|
||||||
|
DROP VIEW v1;
|
||||||
|
CREATE TABLE t(c1 INT);
|
||||||
|
SELECT 0
|
||||||
|
WHERE 0 IN
|
||||||
|
(
|
||||||
|
SELECT 0 FROM
|
||||||
|
(
|
||||||
|
SELECT 0 IN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
(
|
||||||
|
SELECT c1 FROM t
|
||||||
|
)
|
||||||
|
) AS c
|
||||||
|
FROM t
|
||||||
|
) AS dt
|
||||||
|
WHERE c GROUP BY c
|
||||||
|
);
|
||||||
|
0
|
||||||
|
DROP TABLE t;
|
||||||
|
create table t1 (a int, b int, c int);
|
||||||
|
insert into t1 select seq, seq, seq from seq_1_to_10;
|
||||||
|
create table t2 as select * from t1;
|
||||||
|
create table t20 as select * from t1;
|
||||||
|
create table t3 as select * from t1;
|
||||||
|
create view v2 as
|
||||||
|
select
|
||||||
|
a, b, (select max(c) from t20 where t20.a<=t2.a) as SUBQ1
|
||||||
|
from t2;
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 group by v2.SUBQ1)
|
||||||
|
from t1;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
prepare s from '
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 group by v2.SUBQ1)
|
||||||
|
from t1';
|
||||||
|
execute s;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
execute s;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
execute s;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
prepare s from '
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 and SUBQ1+1 group by v2.SUBQ1)
|
||||||
|
from t1';
|
||||||
|
execute s;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
execute s;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
execute s;
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
create procedure p1()
|
||||||
|
begin
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 group by v2.SUBQ1)
|
||||||
|
from t1;
|
||||||
|
end//
|
||||||
|
create procedure p2()
|
||||||
|
begin
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 and SUBQ1+1 group by v2.SUBQ1)
|
||||||
|
from t1;
|
||||||
|
end//
|
||||||
|
call p1();
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
call p1();
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
call p2();
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
call p2();
|
||||||
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
1 PRIMARY t1 ALL NULL NULL NULL NULL 10
|
||||||
|
2 MATERIALIZED t2 ALL NULL NULL NULL NULL 10 Using where; Using temporary
|
||||||
|
4 DEPENDENT SUBQUERY t20 ALL NULL NULL NULL NULL 10 Using where
|
||||||
|
drop procedure p1;
|
||||||
|
drop procedure p2;
|
||||||
|
drop view v2;
|
||||||
|
drop table t1,t2,t3,t20;
|
||||||
|
# end of 10.4 tests
|
242
mysql-test/main/subselect_elimination.test
Normal file
242
mysql-test/main/subselect_elimination.test
Normal file
@ -0,0 +1,242 @@
|
|||||||
|
--source include/have_innodb.inc
|
||||||
|
--source include/have_sequence.inc
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-28621 group by optimization incorrectly removing subquery where
|
||||||
|
--echo # subject buried in a function
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
CREATE TABLE t1 (i int) ;
|
||||||
|
INSERT INTO t1 VALUES (1),(2),(3);
|
||||||
|
|
||||||
|
--error ER_SUBQUERY_NO_1_ROW
|
||||||
|
SELECT 1 FROM t1
|
||||||
|
WHERE i in
|
||||||
|
( SELECT a+1
|
||||||
|
FROM
|
||||||
|
(SELECT (SELECT i FROM (SELECT 1 FROM t1) dt) AS a FROM t1) dt2
|
||||||
|
GROUP BY a
|
||||||
|
);
|
||||||
|
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
create table t1 (a int, b int, c int);
|
||||||
|
insert into t1 select seq, seq, seq from seq_1_to_10;
|
||||||
|
create table t2 as select * from t1;
|
||||||
|
create table t20 as select * from t1;
|
||||||
|
create table t21 as select * from t1;
|
||||||
|
create table t3 as select * from t1;
|
||||||
|
select a, a in
|
||||||
|
(
|
||||||
|
select
|
||||||
|
(
|
||||||
|
select max(c) from t20 where t20.a<=t2.a
|
||||||
|
) as SUBQ1 from t2 group by SUBQ1+1
|
||||||
|
) as COL
|
||||||
|
from t1;
|
||||||
|
|
||||||
|
create view v2 as
|
||||||
|
select
|
||||||
|
a, b,
|
||||||
|
(select max(c) from t20 where t20.a<=t2.a) as SUBQ1,
|
||||||
|
(select max(c) from t21 where t21.a<=t2.a) as SUBQ2
|
||||||
|
from t2;
|
||||||
|
|
||||||
|
--echo # test partial elimination
|
||||||
|
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a,
|
||||||
|
a in (select a from v2 where a>3 and v2.SUBQ2>=0 group by v2.SUBQ1, v2.SUBQ2)
|
||||||
|
from t1;
|
||||||
|
|
||||||
|
--echo # test buried subselects in group by clause
|
||||||
|
|
||||||
|
select a, a in
|
||||||
|
(
|
||||||
|
select
|
||||||
|
(
|
||||||
|
select max(c) from t20 where t20.a<=t2.a
|
||||||
|
)*2 as SUBQ1 from t2 group by SUBQ1+1
|
||||||
|
) as COL
|
||||||
|
from t1;
|
||||||
|
|
||||||
|
drop view v2;
|
||||||
|
drop table t1, t2, t20, t21, t3;
|
||||||
|
|
||||||
|
--echo # Testcase from MDEV-32311
|
||||||
|
|
||||||
|
# some warning duplicated using ps-protocol
|
||||||
|
--disable_warnings
|
||||||
|
SELECT (
|
||||||
|
( WITH x ( x ) AS
|
||||||
|
(SELECT ( SELECT 'x' UNION SELECT 'x' ) FROM ( SELECT ( 'x' ) ) x)
|
||||||
|
SELECT x FROM x
|
||||||
|
WHERE x IN ( ( SELECT 'x' AND x GROUP BY x ) )
|
||||||
|
)
|
||||||
|
) AS SUBQ;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
--echo # MDEV-32390:
|
||||||
|
|
||||||
|
CREATE TABLE t0 ( c43 DECIMAL ( 31 ) DEFAULT ( 45 ) ) ;
|
||||||
|
INSERT INTO t0 VALUES ( 13 ) , ( 29 ) ;
|
||||||
|
ALTER TABLE t0 ADD COLUMN c24 INT AFTER c43 ;
|
||||||
|
INSERT INTO t0 VALUES ( DEFAULT , DEFAULT ) , ( DEFAULT , DEFAULT ) ;
|
||||||
|
SELECT t1 . c22 AS c9 FROM ( SELECT ( SELECT + EXISTS ( SELECT -128 AS c29 ) <<
|
||||||
|
LOCATE ( t0 . c43 , t0 . c24 <= t0 . c24 NOT BETWEEN 4642475734208631537 AND
|
||||||
|
-108 , NULLIF ( 57 , -8 ) SOUNDS LIKE TRIM( TRAILING FROM 6107036197732405580 )
|
||||||
|
) - t0 . c43 AS c57 FROM t0 LIMIT 1 ) AS c22 FROM t0 ) AS t1 HAVING TRIM( CASE
|
||||||
|
t1 . c22 WHEN -16 THEN RAND ( ) % HEX ( t1 . c22 ) - SUBSTRING_INDEX ( t1 . c22,
|
||||||
|
':A9SEZxtjN,fKN*zR' , 'V*vhJb}&c%Op,[T[S,j`F9NDsK;\'8 4;m"
|
||||||
|
P,ce}1r"3ID1DN' ) >> NULLIF ( t1 . c22 , -95 ) ELSE -2 END IS TRUE
|
||||||
|
FROM t1 . c22 >= EXISTS ( SELECT t2 . c57 AS c59 FROM ( SELECT CASE c24 WHEN
|
||||||
|
-103 THEN 85 ELSE 22 END IS TRUE AS c57 FROM t0 ) AS t2 WHERE MOD ( 64 , 46 ) =
|
||||||
|
CONVERT ( 73 , BINARY ) % RAND ( ) IS NOT NULL = -65 GROUP BY c57 , c22 , c22
|
||||||
|
WINDOW w0 AS ( PARTITION BY t2 . c57 ) ) & PI ( ) ) ;
|
||||||
|
|
||||||
|
DROP TABLE t0;
|
||||||
|
|
||||||
|
--echo # MDEV-32309
|
||||||
|
|
||||||
|
SELECT
|
||||||
|
( WITH x ( x ) AS
|
||||||
|
(
|
||||||
|
WITH x ( x ) AS ( SELECT 1 ) SELECT ( SELECT x ) FROM x
|
||||||
|
)
|
||||||
|
SELECT x FROM x WHERE x IN ( SELECT NULL GROUP BY x )
|
||||||
|
) as col1 ;
|
||||||
|
|
||||||
|
--echo # MDEV-32391
|
||||||
|
|
||||||
|
CREATE TABLE t0 ( c15 INT , c33 INT ) engine=innodb;
|
||||||
|
INSERT INTO t0 ( c15 ) WITH t1 AS ( SELECT SQRT ( 123 ) NOT
|
||||||
|
REGEXP MOD ( 91 , -121 ) = ALL ( SELECT c15 AS c33 FROM t0 ) AS c49 FROM t0 )
|
||||||
|
SELECT t1 . c49 IS UNKNOWN AS c59 FROM t1 CROSS JOIN t0 AS t2
|
||||||
|
WHERE t1 . c49 = + EXISTS ( SELECT -5839312620871436105 AS c17 GROUP BY c49 )
|
||||||
|
BETWEEN -109 AND CHAR_LENGTH ( 2694839150676403988 ) - - LOWER ( -13 ) ;
|
||||||
|
DROP TABLE t0;
|
||||||
|
|
||||||
|
--echo # MDEV-28620
|
||||||
|
CREATE TABLE t1 ( a int);
|
||||||
|
INSERT INTO t1 VALUES (1),(2);
|
||||||
|
|
||||||
|
--error ER_SUBQUERY_NO_1_ROW
|
||||||
|
SELECT EXISTS
|
||||||
|
( SELECT 1 FROM t1 GROUP BY 1 IN (SELECT a FROM t1)
|
||||||
|
ORDER BY a + (SELECT 1 FROM t1 WHERE (1,2) NOT IN (SELECT 1,0))
|
||||||
|
) as SUBQ;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
--echo # MDEV-30842 Item_subselect::get_cache_parameters and UBSAN member
|
||||||
|
--echo # access within null pointer
|
||||||
|
|
||||||
|
CREATE TABLE x (x INT) ENGINE=InnoDB;
|
||||||
|
INSERT INTO x (x) VALUES (0);
|
||||||
|
--error ER_UPDATE_TABLE_USED
|
||||||
|
INSERT INTO x (x) VALUES (x IN (SELECT (SELECT x FROM (SELECT x FROM
|
||||||
|
(SELECT 0 IN (SELECT x=0 FROM (SELECT x FROM (SELECT (SELECT (SELECT (SELECT
|
||||||
|
(SELECT 0 AS x) FROM x AS x) IN (SELECT 0 AS x) AS x) FROM x AS x) IN
|
||||||
|
(SELECT x WHERE x=0) AS x FROM x AS x) AS x) AS x GROUP BY x) AS x FROM x) AS x)
|
||||||
|
AS x) IN (SELECT 0 AS x) AS x FROM x));
|
||||||
|
DROP TABLE x;
|
||||||
|
|
||||||
|
--echo # MDEV-28622: Item_subselect eliminated flag set but Item still
|
||||||
|
--echo # evaluated/used.
|
||||||
|
|
||||||
|
CREATE TABLE t1 ( a int) ;
|
||||||
|
CREATE VIEW v1 (i) AS SELECT EXISTS(SELECT 1) FROM t1;
|
||||||
|
|
||||||
|
SELECT 1 FROM v1 WHERE i NOT IN (SELECT i = 0 FROM v1 WHERE i = -1 GROUP BY i);
|
||||||
|
DROP TABLE t1;
|
||||||
|
DROP VIEW v1;
|
||||||
|
|
||||||
|
CREATE TABLE t(c1 INT);
|
||||||
|
|
||||||
|
SELECT 0
|
||||||
|
WHERE 0 IN
|
||||||
|
(
|
||||||
|
SELECT 0 FROM
|
||||||
|
(
|
||||||
|
SELECT 0 IN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
(
|
||||||
|
SELECT c1 FROM t
|
||||||
|
)
|
||||||
|
) AS c
|
||||||
|
FROM t
|
||||||
|
) AS dt
|
||||||
|
WHERE c GROUP BY c
|
||||||
|
);
|
||||||
|
|
||||||
|
DROP TABLE t;
|
||||||
|
|
||||||
|
create table t1 (a int, b int, c int);
|
||||||
|
insert into t1 select seq, seq, seq from seq_1_to_10;
|
||||||
|
create table t2 as select * from t1;
|
||||||
|
create table t20 as select * from t1;
|
||||||
|
create table t3 as select * from t1;
|
||||||
|
|
||||||
|
create view v2 as
|
||||||
|
select
|
||||||
|
a, b, (select max(c) from t20 where t20.a<=t2.a) as SUBQ1
|
||||||
|
from t2;
|
||||||
|
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 group by v2.SUBQ1)
|
||||||
|
from t1;
|
||||||
|
|
||||||
|
prepare s from '
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 group by v2.SUBQ1)
|
||||||
|
from t1';
|
||||||
|
|
||||||
|
execute s;
|
||||||
|
execute s;
|
||||||
|
execute s;
|
||||||
|
|
||||||
|
prepare s from '
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 and SUBQ1+1 group by v2.SUBQ1)
|
||||||
|
from t1';
|
||||||
|
|
||||||
|
execute s;
|
||||||
|
execute s;
|
||||||
|
execute s;
|
||||||
|
|
||||||
|
delimiter //;
|
||||||
|
|
||||||
|
create procedure p1()
|
||||||
|
begin
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 group by v2.SUBQ1)
|
||||||
|
from t1;
|
||||||
|
end//
|
||||||
|
|
||||||
|
create procedure p2()
|
||||||
|
begin
|
||||||
|
explain
|
||||||
|
select
|
||||||
|
a, a in (select a from v2 where a>3 and SUBQ1+1 group by v2.SUBQ1)
|
||||||
|
from t1;
|
||||||
|
end//
|
||||||
|
|
||||||
|
delimiter ;//
|
||||||
|
|
||||||
|
call p1();
|
||||||
|
call p1();
|
||||||
|
call p2();
|
||||||
|
call p2();
|
||||||
|
drop procedure p1;
|
||||||
|
drop procedure p2;
|
||||||
|
|
||||||
|
|
||||||
|
drop view v2;
|
||||||
|
drop table t1,t2,t3,t20;
|
||||||
|
|
||||||
|
--echo # end of 10.4 tests
|
@ -1,9 +1,3 @@
|
|||||||
drop table if exists t1, t2, t3, t4;
|
|
||||||
drop view if exists v1;
|
|
||||||
drop database if exists mysqltest;
|
|
||||||
drop function if exists f1;
|
|
||||||
drop function if exists f2;
|
|
||||||
drop procedure if exists p1;
|
|
||||||
connect addconroot1, localhost, root,,;
|
connect addconroot1, localhost, root,,;
|
||||||
connect addconroot2, localhost, root,,;
|
connect addconroot2, localhost, root,,;
|
||||||
connect addconwithoutdb, localhost, root,,*NO-ONE*;
|
connect addconwithoutdb, localhost, root,,*NO-ONE*;
|
||||||
|
@ -7,15 +7,6 @@
|
|||||||
# Basic triggers test
|
# Basic triggers test
|
||||||
#
|
#
|
||||||
|
|
||||||
--disable_warnings
|
|
||||||
drop table if exists t1, t2, t3, t4;
|
|
||||||
drop view if exists v1;
|
|
||||||
drop database if exists mysqltest;
|
|
||||||
drop function if exists f1;
|
|
||||||
drop function if exists f2;
|
|
||||||
drop procedure if exists p1;
|
|
||||||
--enable_warnings
|
|
||||||
|
|
||||||
# Create additional connections used through test
|
# Create additional connections used through test
|
||||||
connect (addconroot1, localhost, root,,);
|
connect (addconroot1, localhost, root,,);
|
||||||
connect (addconroot2, localhost, root,,);
|
connect (addconroot2, localhost, root,,);
|
||||||
|
@ -310,6 +310,7 @@ CREATE TABLE t1 (a INT);
|
|||||||
CREATE TRIGGER tr1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1;
|
CREATE TRIGGER tr1_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a:=1;
|
||||||
CREATE TRIGGER tr2_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a:=2;
|
CREATE TRIGGER tr2_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a:=2;
|
||||||
CREATE TRIGGER tr1_bu BEFORE UPDATE ON t1 FOR EACH ROW SET @a:=3;
|
CREATE TRIGGER tr1_bu BEFORE UPDATE ON t1 FOR EACH ROW SET @a:=3;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
@ -372,6 +373,7 @@ CREATE TRIGGER tr2_bi BEFORE INSERT ON t1 FOR EACH ROW SET @a:=2;
|
|||||||
CREATE TRIGGER tr0_bi BEFORE INSERT ON t1 FOR EACH ROW PRECEDES tr1_bi SET @a:=0;
|
CREATE TRIGGER tr0_bi BEFORE INSERT ON t1 FOR EACH ROW PRECEDES tr1_bi SET @a:=0;
|
||||||
CREATE TRIGGER tr1_1_bi BEFORE INSERT ON t1 FOR EACH ROW FOLLOWS tr1_bi SET @a:=0;
|
CREATE TRIGGER tr1_1_bi BEFORE INSERT ON t1 FOR EACH ROW FOLLOWS tr1_bi SET @a:=0;
|
||||||
# Expected order of triggers in the dump is: tr0_bi, tr1_bi, tr1_1_bi, tr2_i.
|
# Expected order of triggers in the dump is: tr0_bi, tr1_bi, tr1_1_bi, tr2_i.
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
|
@ -1368,6 +1368,122 @@ t1 CREATE TABLE `t1` (
|
|||||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci
|
||||||
drop table t1;
|
drop table t1;
|
||||||
#
|
#
|
||||||
|
# MDEV-34069 Zero datetime reinterprets as '1970-01-01 00:00:00' on field_datetime=field_timestamp
|
||||||
|
#
|
||||||
|
SET sql_mode='';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
INSERT INTO t1 VALUES ('0000-00-00 00:00:00');
|
||||||
|
SELECT * FROM t1;
|
||||||
|
a
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
CREATE TABLE t2 (a DATETIME);
|
||||||
|
INSERT INTO t2 SELECT a FROM t1;
|
||||||
|
SELECT * FROM t2;
|
||||||
|
a
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
SET sql_mode='NO_ZERO_DATE,NO_ZERO_IN_DATE';
|
||||||
|
INSERT INTO t2 VALUES ('0000-00-00 00:00:00');
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
INSERT INTO t2 SELECT a FROM t1;
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
SELECT * FROM t2;
|
||||||
|
a
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
DROP TABLE t2, t1;
|
||||||
|
SET time_zone=DEFAULT;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
#
|
||||||
|
# MDEV-34061 unix_timestamp(coalesce(timestamp_column)) returns NULL on '1970-01-01 00:00:00.000001'
|
||||||
|
#
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP(6) NULL);
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.000001');
|
||||||
|
SELECT unix_timestamp(a) AS c1, unix_timestamp(coalesce(a)) AS c2 FROM t1;
|
||||||
|
c1 c2
|
||||||
|
0.000001 0.000001
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET time_zone=DEFAULT;
|
||||||
|
#
|
||||||
|
# MDEV-34088 The TIMESTAMP value of '1970-01-01 00:00:00' can be indirectly inserted in strict mode
|
||||||
|
#
|
||||||
|
SET sql_mode='STRICT_TRANS_TABLES,STRICT_ALL_TABLES';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
|
||||||
|
ERROR 22007: Incorrect datetime value: '1970-01-01 00:00:00' for column `test`.`t1`.`a` at row 1
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
ERROR 22007: Incorrect datetime value: '1970-01-01 00:00:00.1' for column `test`.`t1`.`a` at row 1
|
||||||
|
CREATE TABLE t2 (a TIMESTAMP(1)) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t2 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
INSERT INTO t1 SELECT a FROM t2;
|
||||||
|
ERROR 22007: Incorrect datetime value: '1970-01-01 00:00:00 +00:00' for column `test`.`t1`.`a` at row 1
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
SET sql_mode='STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
|
||||||
|
ERROR 22007: Incorrect datetime value: '1970-01-01 00:00:00' for column `test`.`t1`.`a` at row 1
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
ERROR 22007: Incorrect datetime value: '1970-01-01 00:00:00.1' for column `test`.`t1`.`a` at row 1
|
||||||
|
CREATE TABLE t2 (a TIMESTAMP(1)) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t2 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
INSERT INTO t1 SELECT a FROM t2;
|
||||||
|
ERROR 22007: Incorrect datetime value: '1970-01-01 00:00:00 +00:00' for column `test`.`t1`.`a` at row 1
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
SET sql_mode='';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
CREATE TABLE t2 (a TIMESTAMP(1)) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t2 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
INSERT INTO t1 SELECT a FROM t2;
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
DROP TABLE t2;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
a
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
SET sql_mode='NO_ZERO_DATE,NO_ZERO_IN_DATE';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
CREATE TABLE t2 (a TIMESTAMP(1)) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t2 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
INSERT INTO t1 SELECT a FROM t2;
|
||||||
|
Warnings:
|
||||||
|
Warning 1264 Out of range value for column 'a' at row 1
|
||||||
|
DROP TABLE t2;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
a
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
0000-00-00 00:00:00
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
#
|
||||||
# End of 10.5 tests
|
# End of 10.5 tests
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
@ -920,6 +920,98 @@ create table t1 (f1 timestamp, f2 timestamp);
|
|||||||
show create table t1;
|
show create table t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-34069 Zero datetime reinterprets as '1970-01-01 00:00:00' on field_datetime=field_timestamp
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET sql_mode='';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
INSERT INTO t1 VALUES ('0000-00-00 00:00:00');
|
||||||
|
SELECT * FROM t1;
|
||||||
|
CREATE TABLE t2 (a DATETIME);
|
||||||
|
INSERT INTO t2 SELECT a FROM t1;
|
||||||
|
SELECT * FROM t2;
|
||||||
|
SET sql_mode='NO_ZERO_DATE,NO_ZERO_IN_DATE';
|
||||||
|
INSERT INTO t2 VALUES ('0000-00-00 00:00:00');
|
||||||
|
INSERT INTO t2 SELECT a FROM t1;
|
||||||
|
SELECT * FROM t2;
|
||||||
|
DROP TABLE t2, t1;
|
||||||
|
SET time_zone=DEFAULT;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-34061 unix_timestamp(coalesce(timestamp_column)) returns NULL on '1970-01-01 00:00:00.000001'
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP(6) NULL);
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.000001');
|
||||||
|
SELECT unix_timestamp(a) AS c1, unix_timestamp(coalesce(a)) AS c2 FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET time_zone=DEFAULT;
|
||||||
|
|
||||||
|
--echo #
|
||||||
|
--echo # MDEV-34088 The TIMESTAMP value of '1970-01-01 00:00:00' can be indirectly inserted in strict mode
|
||||||
|
--echo #
|
||||||
|
|
||||||
|
SET sql_mode='STRICT_TRANS_TABLES,STRICT_ALL_TABLES';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
--error ER_TRUNCATED_WRONG_VALUE
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
|
||||||
|
--error ER_TRUNCATED_WRONG_VALUE
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
CREATE TABLE t2 (a TIMESTAMP(1)) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t2 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
--error ER_TRUNCATED_WRONG_VALUE
|
||||||
|
INSERT INTO t1 SELECT a FROM t2;
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
|
||||||
|
|
||||||
|
SET sql_mode='STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_ZERO_DATE,NO_ZERO_IN_DATE';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
--error ER_TRUNCATED_WRONG_VALUE
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
|
||||||
|
--error ER_TRUNCATED_WRONG_VALUE
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
CREATE TABLE t2 (a TIMESTAMP(1)) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t2 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
--error ER_TRUNCATED_WRONG_VALUE
|
||||||
|
INSERT INTO t1 SELECT a FROM t2;
|
||||||
|
DROP TABLE t2;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
|
||||||
|
SET sql_mode='';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
CREATE TABLE t2 (a TIMESTAMP(1)) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t2 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
INSERT INTO t1 SELECT a FROM t2;
|
||||||
|
DROP TABLE t2;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
|
||||||
|
SET sql_mode='NO_ZERO_DATE,NO_ZERO_IN_DATE';
|
||||||
|
SET time_zone='+00:00';
|
||||||
|
CREATE TABLE t1 (a TIMESTAMP);
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00');
|
||||||
|
INSERT INTO t1 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
CREATE TABLE t2 (a TIMESTAMP(1)) ENGINE=MyISAM;
|
||||||
|
INSERT INTO t2 VALUES ('1970-01-01 00:00:00.1');
|
||||||
|
INSERT INTO t1 SELECT a FROM t2;
|
||||||
|
DROP TABLE t2;
|
||||||
|
SELECT * FROM t1;
|
||||||
|
DROP TABLE t1;
|
||||||
|
SET sql_mode=DEFAULT;
|
||||||
|
|
||||||
--echo #
|
--echo #
|
||||||
--echo # End of 10.5 tests
|
--echo # End of 10.5 tests
|
||||||
--echo #
|
--echo #
|
||||||
|
@ -434,6 +434,10 @@ sub main {
|
|||||||
{
|
{
|
||||||
$opt_parallel= $ENV{NUMBER_OF_PROCESSORS} || 1;
|
$opt_parallel= $ENV{NUMBER_OF_PROCESSORS} || 1;
|
||||||
}
|
}
|
||||||
|
elsif (IS_MAC)
|
||||||
|
{
|
||||||
|
$opt_parallel= `sysctl -n hw.ncpu`;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
my $sys_info= My::SysInfo->new();
|
my $sys_info= My::SysInfo->new();
|
||||||
|
@ -4,14 +4,7 @@ use My::Platform;
|
|||||||
@ISA = qw(My::Suite);
|
@ISA = qw(My::Suite);
|
||||||
|
|
||||||
sub skip_combinations {
|
sub skip_combinations {
|
||||||
my @combinations;
|
my %skip;
|
||||||
|
|
||||||
# disable innodb combinations for configurations that were not built
|
|
||||||
push @combinations, 'innodb_plugin' unless $ENV{HA_INNODB_SO};
|
|
||||||
|
|
||||||
push @combinations, 'innodb' unless $::mysqld_variables{'innodb'} eq "ON";
|
|
||||||
|
|
||||||
my %skip = ( 'include/have_innodb.combinations' => [ @combinations ]);
|
|
||||||
|
|
||||||
$skip{'include/innodb_encrypt_log.combinations'} = [ 'crypt' ]
|
$skip{'include/innodb_encrypt_log.combinations'} = [ 'crypt' ]
|
||||||
unless $ENV{DEBUG_KEY_MANAGEMENT_SO};
|
unless $ENV{DEBUG_KEY_MANAGEMENT_SO};
|
||||||
|
@ -180,6 +180,7 @@ INSERT INTO `t1` VALUES
|
|||||||
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'100000',b'010010',b'011111',4,5,5,5,5,5,5,5,5,5,3,2,1),
|
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'100000',b'010010',b'011111',4,5,5,5,5,5,5,5,5,5,3,2,1),
|
||||||
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'001100',b'111111',4,5,5,5,5,5,5,5,5,5,3,2,1),
|
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'000000',b'001100',b'111111',4,5,5,5,5,5,5,5,5,5,3,2,1),
|
||||||
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
|
(NULL,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,b'111111',b'000000',b'000000',4,5,5,5,5,5,5,5,5,5,3,2,1);
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
INSERT INTO `t1` VALUES (1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x01,0x3F,0x3E,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
INSERT INTO `t1` VALUES (1,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x01,0x3F,0x3E,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
||||||
INSERT INTO `t1` VALUES (2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x02,0x00,0x3D,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
INSERT INTO `t1` VALUES (2,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x02,0x00,0x3D,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
||||||
INSERT INTO `t1` VALUES (3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x04,0x0F,0x3B,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
INSERT INTO `t1` VALUES (3,1,1,1,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0x04,0x0F,0x3B,4,5,5,5,5,5,5,5,5,5,3,2,1);
|
||||||
|
@ -2460,7 +2460,10 @@ START TRANSACTION
|
|||||||
#Q> '', -- c76
|
#Q> '', -- c76
|
||||||
#Q> #
|
#Q> #
|
||||||
#Q> 'a', -- c77
|
#Q> 'a', -- c77
|
||||||
#Q> '',
|
#Q> '', -- c78
|
||||||
|
#Q> #
|
||||||
|
#Q> 1 -- crn -- row number
|
||||||
|
#Q> )
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -2642,7 +2645,10 @@ START TRANSACTION
|
|||||||
#Q> 'longtext-ucs2', -- c76 not using maximum value here
|
#Q> 'longtext-ucs2', -- c76 not using maximum value here
|
||||||
#Q> #
|
#Q> #
|
||||||
#Q> 'c', -- c77
|
#Q> 'c', -- c77
|
||||||
#Q> 'a,b,c
|
#Q> 'a,b,c', -- c78
|
||||||
|
#Q> #
|
||||||
|
#Q> 2 -- crn -- row number
|
||||||
|
#Q> )
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -2909,7 +2915,13 @@ START TRANSACTION
|
|||||||
#Q> 'mediumtext-ucs2', -- c73
|
#Q> 'mediumtext-ucs2', -- c73
|
||||||
#Q> 'longblob', -- c74
|
#Q> 'longblob', -- c74
|
||||||
#Q> 'longtext', -- c75
|
#Q> 'longtext', -- c75
|
||||||
#Q> 'longtext
|
#Q> 'longtext-ucs2', -- c76
|
||||||
|
#Q> #
|
||||||
|
#Q> 'b', -- c77
|
||||||
|
#Q> 'b,c', -- c78
|
||||||
|
#Q> #
|
||||||
|
#Q> 4 -- crn -- row number
|
||||||
|
#Q> )
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -3250,7 +3262,21 @@ START TRANSACTION
|
|||||||
#Q> #
|
#Q> #
|
||||||
#Q> c65 = '' AND
|
#Q> c65 = '' AND
|
||||||
#Q> c66 = '' AND
|
#Q> c66 = '' AND
|
||||||
#Q> c67 =
|
#Q> c67 = '' AND
|
||||||
|
#Q> c68 = '' AND
|
||||||
|
#Q> c69 = '' AND
|
||||||
|
#Q> c70 = '' AND
|
||||||
|
#Q> c71 = '' AND
|
||||||
|
#Q> c72 = '' AND
|
||||||
|
#Q> c73 = '' AND
|
||||||
|
#Q> c74 = '' AND
|
||||||
|
#Q> c75 = '' AND
|
||||||
|
#Q> c76 = '' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'a' AND
|
||||||
|
#Q> c78 = '' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 1
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
||||||
@ -3595,7 +3621,17 @@ START TRANSACTION
|
|||||||
#Q> c68 = 'blob' AND
|
#Q> c68 = 'blob' AND
|
||||||
#Q> c69 = 'text' AND
|
#Q> c69 = 'text' AND
|
||||||
#Q> c70 = 'text-ucs2' AND
|
#Q> c70 = 'text-ucs2' AND
|
||||||
#Q> c71 = 'mediumblob
|
#Q> c71 = 'mediumblob' AND
|
||||||
|
#Q> c72 = 'mediumtext' AND
|
||||||
|
#Q> c73 = 'mediumtext-ucs2' AND
|
||||||
|
#Q> c74 = 'longblob' AND
|
||||||
|
#Q> c75 = 'longtext' AND
|
||||||
|
#Q> c76 = 'longtext-ucs2' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'c' AND
|
||||||
|
#Q> c78 = 'a,b,c' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 2
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
||||||
@ -3938,7 +3974,18 @@ START TRANSACTION
|
|||||||
#Q> c67 IS NULL AND
|
#Q> c67 IS NULL AND
|
||||||
#Q> c68 IS NULL AND
|
#Q> c68 IS NULL AND
|
||||||
#Q> c69 IS NULL AND
|
#Q> c69 IS NULL AND
|
||||||
#Q> c70 IS NULL
|
#Q> c70 IS NULL AND
|
||||||
|
#Q> c71 IS NULL AND
|
||||||
|
#Q> c72 IS NULL AND
|
||||||
|
#Q> c73 IS NULL AND
|
||||||
|
#Q> c74 IS NULL AND
|
||||||
|
#Q> c75 IS NULL AND
|
||||||
|
#Q> c76 IS NULL AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 IS NULL AND
|
||||||
|
#Q> c78 IS NULL AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 3
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
||||||
@ -4284,7 +4331,16 @@ START TRANSACTION
|
|||||||
#Q> c69 = 'text' AND
|
#Q> c69 = 'text' AND
|
||||||
#Q> c70 = 'text-ucs2' AND
|
#Q> c70 = 'text-ucs2' AND
|
||||||
#Q> c71 = 'mediumblob' AND
|
#Q> c71 = 'mediumblob' AND
|
||||||
#Q> c72 = 'me
|
#Q> c72 = 'mediumtext' AND
|
||||||
|
#Q> c73 = 'mediumtext-ucs2' AND
|
||||||
|
#Q> c74 = 'longblob' AND
|
||||||
|
#Q> c75 = 'longtext' AND
|
||||||
|
#Q> c76 = 'longtext-ucs2' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'b' AND
|
||||||
|
#Q> c78 = 'b,c' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 4
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
||||||
@ -4544,7 +4600,13 @@ START TRANSACTION
|
|||||||
#Q> c72 = 'mediumtext' AND
|
#Q> c72 = 'mediumtext' AND
|
||||||
#Q> c73 = 'mediumtext-ucs2' AND
|
#Q> c73 = 'mediumtext-ucs2' AND
|
||||||
#Q> c74 = 'longblob' AND
|
#Q> c74 = 'longblob' AND
|
||||||
#Q> c75 = '
|
#Q> c75 = 'longtext' AND
|
||||||
|
#Q> c76 = 'longtext-ucs2' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'c' AND
|
||||||
|
#Q> c78 = 'a,b,c' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 1
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -4721,7 +4783,15 @@ START TRANSACTION
|
|||||||
#Q> c70 = '' AND
|
#Q> c70 = '' AND
|
||||||
#Q> c71 = '' AND
|
#Q> c71 = '' AND
|
||||||
#Q> c72 = '' AND
|
#Q> c72 = '' AND
|
||||||
#Q> c73 = '' A
|
#Q> c73 = '' AND
|
||||||
|
#Q> c74 = '' AND
|
||||||
|
#Q> c75 = '' AND
|
||||||
|
#Q> c76 = '' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'a' AND
|
||||||
|
#Q> c78 = '' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 2
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -4901,7 +4971,13 @@ START TRANSACTION
|
|||||||
#Q> c72 = 'mediumtext' AND
|
#Q> c72 = 'mediumtext' AND
|
||||||
#Q> c73 = 'mediumtext-ucs2' AND
|
#Q> c73 = 'mediumtext-ucs2' AND
|
||||||
#Q> c74 = 'longblob' AND
|
#Q> c74 = 'longblob' AND
|
||||||
#Q> c75 = 'longtext'
|
#Q> c75 = 'longtext' AND
|
||||||
|
#Q> c76 = 'longtext-ucs2' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'b' AND
|
||||||
|
#Q> c78 = 'b,c' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 3
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -5079,7 +5155,14 @@ START TRANSACTION
|
|||||||
#Q> c71 IS NULL AND
|
#Q> c71 IS NULL AND
|
||||||
#Q> c72 IS NULL AND
|
#Q> c72 IS NULL AND
|
||||||
#Q> c73 IS NULL AND
|
#Q> c73 IS NULL AND
|
||||||
#Q> c74 IS NUL
|
#Q> c74 IS NULL AND
|
||||||
|
#Q> c75 IS NULL AND
|
||||||
|
#Q> c76 IS NULL AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 IS NULL AND
|
||||||
|
#Q> c78 IS NULL AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 4
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -5309,7 +5392,7 @@ START TRANSACTION
|
|||||||
#Q> ('2008-08-06','VARCHAR-06',6),
|
#Q> ('2008-08-06','VARCHAR-06',6),
|
||||||
#Q> ('2008-08-07','VARCHAR-07',7),
|
#Q> ('2008-08-07','VARCHAR-07',7),
|
||||||
#Q> ('2008-08-08','VARCHAR-08',8),
|
#Q> ('2008-08-08','VARCHAR-08',8),
|
||||||
#Q> ('2008-08-09','VARCH
|
#Q> ('2008-08-09','VARCHAR-09',9)
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -5733,7 +5816,7 @@ START TRANSACTION
|
|||||||
#Q> ('2008-01-06','VARCHAR-01-06',6),
|
#Q> ('2008-01-06','VARCHAR-01-06',6),
|
||||||
#Q> ('2008-01-07','VARCHAR-01-07',7),
|
#Q> ('2008-01-07','VARCHAR-01-07',7),
|
||||||
#Q> ('2008-01-08','VARCHAR-01-08',18),
|
#Q> ('2008-01-08','VARCHAR-01-08',18),
|
||||||
#Q> ('2008-01-09','VARCHAR-0
|
#Q> ('2008-01-09','VARCHAR-01-09',19)
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -5803,7 +5886,7 @@ START TRANSACTION
|
|||||||
#Q> ('2008-02-06','VARCHAR-02-06',6),
|
#Q> ('2008-02-06','VARCHAR-02-06',6),
|
||||||
#Q> ('2008-02-07','VARCHAR-02-07',7),
|
#Q> ('2008-02-07','VARCHAR-02-07',7),
|
||||||
#Q> ('2008-02-08','VARCHAR-02-08',28),
|
#Q> ('2008-02-08','VARCHAR-02-08',28),
|
||||||
#Q> ('2008-02-09','VARCHAR-0
|
#Q> ('2008-02-09','VARCHAR-02-09',29)
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -5873,7 +5956,7 @@ START TRANSACTION
|
|||||||
#Q> ('2008-03-06','VARCHAR-03-06',6),
|
#Q> ('2008-03-06','VARCHAR-03-06',6),
|
||||||
#Q> ('2008-03-07','VARCHAR-03-07',7),
|
#Q> ('2008-03-07','VARCHAR-03-07',7),
|
||||||
#Q> ('2008-03-08','VARCHAR-03-08',38),
|
#Q> ('2008-03-08','VARCHAR-03-08',38),
|
||||||
#Q> ('2008-03-09','VARCHAR-0
|
#Q> ('2008-03-09','VARCHAR-03-09',39)
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t3` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t3` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -5938,7 +6021,7 @@ START TRANSACTION
|
|||||||
#Q> c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
|
#Q> c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
|
||||||
#Q> c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
|
#Q> c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
|
||||||
#Q> c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
|
#Q> c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
|
||||||
#Q> WHERE c_1_n = c_2_n AND c_2_n = c
|
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
||||||
@ -6125,7 +6208,7 @@ START TRANSACTION
|
|||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||||
#Q> DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
|
#Q> DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
|
||||||
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_
|
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
||||||
@ -6340,7 +6423,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||||
#Q> LOAD DATA INFILE '../../std_data/loaddata5.dat'
|
#Q> LOAD DATA INFILE '../../std_data/loaddata5.dat'
|
||||||
#Q> INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
|
#Q> INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
|
||||||
#Q> SET c3 = 'Wo
|
#Q> SET c3 = 'Wow'
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
|
@ -2458,7 +2458,10 @@ START TRANSACTION
|
|||||||
#Q> '', -- c76
|
#Q> '', -- c76
|
||||||
#Q> #
|
#Q> #
|
||||||
#Q> 'a', -- c77
|
#Q> 'a', -- c77
|
||||||
#Q> '',
|
#Q> '', -- c78
|
||||||
|
#Q> #
|
||||||
|
#Q> 1 -- crn -- row number
|
||||||
|
#Q> )
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -2643,7 +2646,10 @@ START TRANSACTION
|
|||||||
#Q> 'longtext-ucs2', -- c76 not using maximum value here
|
#Q> 'longtext-ucs2', -- c76 not using maximum value here
|
||||||
#Q> #
|
#Q> #
|
||||||
#Q> 'c', -- c77
|
#Q> 'c', -- c77
|
||||||
#Q> 'a,b,c
|
#Q> 'a,b,c', -- c78
|
||||||
|
#Q> #
|
||||||
|
#Q> 2 -- crn -- row number
|
||||||
|
#Q> )
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -2912,7 +2918,13 @@ START TRANSACTION
|
|||||||
#Q> 'mediumtext-ucs2', -- c73
|
#Q> 'mediumtext-ucs2', -- c73
|
||||||
#Q> 'longblob', -- c74
|
#Q> 'longblob', -- c74
|
||||||
#Q> 'longtext', -- c75
|
#Q> 'longtext', -- c75
|
||||||
#Q> 'longtext
|
#Q> 'longtext-ucs2', -- c76
|
||||||
|
#Q> #
|
||||||
|
#Q> 'b', -- c77
|
||||||
|
#Q> 'b,c', -- c78
|
||||||
|
#Q> #
|
||||||
|
#Q> 4 -- crn -- row number
|
||||||
|
#Q> )
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -3255,7 +3267,21 @@ START TRANSACTION
|
|||||||
#Q> #
|
#Q> #
|
||||||
#Q> c65 = '' AND
|
#Q> c65 = '' AND
|
||||||
#Q> c66 = '' AND
|
#Q> c66 = '' AND
|
||||||
#Q> c67 =
|
#Q> c67 = '' AND
|
||||||
|
#Q> c68 = '' AND
|
||||||
|
#Q> c69 = '' AND
|
||||||
|
#Q> c70 = '' AND
|
||||||
|
#Q> c71 = '' AND
|
||||||
|
#Q> c72 = '' AND
|
||||||
|
#Q> c73 = '' AND
|
||||||
|
#Q> c74 = '' AND
|
||||||
|
#Q> c75 = '' AND
|
||||||
|
#Q> c76 = '' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'a' AND
|
||||||
|
#Q> c78 = '' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 1
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
||||||
@ -3602,7 +3628,17 @@ START TRANSACTION
|
|||||||
#Q> c68 = 'blob' AND
|
#Q> c68 = 'blob' AND
|
||||||
#Q> c69 = 'text' AND
|
#Q> c69 = 'text' AND
|
||||||
#Q> c70 = 'text-ucs2' AND
|
#Q> c70 = 'text-ucs2' AND
|
||||||
#Q> c71 = 'mediumblob
|
#Q> c71 = 'mediumblob' AND
|
||||||
|
#Q> c72 = 'mediumtext' AND
|
||||||
|
#Q> c73 = 'mediumtext-ucs2' AND
|
||||||
|
#Q> c74 = 'longblob' AND
|
||||||
|
#Q> c75 = 'longtext' AND
|
||||||
|
#Q> c76 = 'longtext-ucs2' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'c' AND
|
||||||
|
#Q> c78 = 'a,b,c' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 2
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
||||||
@ -3947,7 +3983,18 @@ START TRANSACTION
|
|||||||
#Q> c67 IS NULL AND
|
#Q> c67 IS NULL AND
|
||||||
#Q> c68 IS NULL AND
|
#Q> c68 IS NULL AND
|
||||||
#Q> c69 IS NULL AND
|
#Q> c69 IS NULL AND
|
||||||
#Q> c70 IS NULL
|
#Q> c70 IS NULL AND
|
||||||
|
#Q> c71 IS NULL AND
|
||||||
|
#Q> c72 IS NULL AND
|
||||||
|
#Q> c73 IS NULL AND
|
||||||
|
#Q> c74 IS NULL AND
|
||||||
|
#Q> c75 IS NULL AND
|
||||||
|
#Q> c76 IS NULL AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 IS NULL AND
|
||||||
|
#Q> c78 IS NULL AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 3
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
||||||
@ -4295,7 +4342,16 @@ START TRANSACTION
|
|||||||
#Q> c69 = 'text' AND
|
#Q> c69 = 'text' AND
|
||||||
#Q> c70 = 'text-ucs2' AND
|
#Q> c70 = 'text-ucs2' AND
|
||||||
#Q> c71 = 'mediumblob' AND
|
#Q> c71 = 'mediumblob' AND
|
||||||
#Q> c72 = 'me
|
#Q> c72 = 'mediumtext' AND
|
||||||
|
#Q> c73 = 'mediumtext-ucs2' AND
|
||||||
|
#Q> c74 = 'longblob' AND
|
||||||
|
#Q> c75 = 'longtext' AND
|
||||||
|
#Q> c76 = 'longtext-ucs2' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'b' AND
|
||||||
|
#Q> c78 = 'b,c' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 4
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Update_rows: table id # flags: STMT_END_F
|
||||||
@ -4557,7 +4613,13 @@ START TRANSACTION
|
|||||||
#Q> c72 = 'mediumtext' AND
|
#Q> c72 = 'mediumtext' AND
|
||||||
#Q> c73 = 'mediumtext-ucs2' AND
|
#Q> c73 = 'mediumtext-ucs2' AND
|
||||||
#Q> c74 = 'longblob' AND
|
#Q> c74 = 'longblob' AND
|
||||||
#Q> c75 = '
|
#Q> c75 = 'longtext' AND
|
||||||
|
#Q> c76 = 'longtext-ucs2' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'c' AND
|
||||||
|
#Q> c78 = 'a,b,c' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 1
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -4736,7 +4798,15 @@ START TRANSACTION
|
|||||||
#Q> c70 = '' AND
|
#Q> c70 = '' AND
|
||||||
#Q> c71 = '' AND
|
#Q> c71 = '' AND
|
||||||
#Q> c72 = '' AND
|
#Q> c72 = '' AND
|
||||||
#Q> c73 = '' A
|
#Q> c73 = '' AND
|
||||||
|
#Q> c74 = '' AND
|
||||||
|
#Q> c75 = '' AND
|
||||||
|
#Q> c76 = '' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'a' AND
|
||||||
|
#Q> c78 = '' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 2
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -4918,7 +4988,13 @@ START TRANSACTION
|
|||||||
#Q> c72 = 'mediumtext' AND
|
#Q> c72 = 'mediumtext' AND
|
||||||
#Q> c73 = 'mediumtext-ucs2' AND
|
#Q> c73 = 'mediumtext-ucs2' AND
|
||||||
#Q> c74 = 'longblob' AND
|
#Q> c74 = 'longblob' AND
|
||||||
#Q> c75 = 'longtext'
|
#Q> c75 = 'longtext' AND
|
||||||
|
#Q> c76 = 'longtext-ucs2' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 = 'b' AND
|
||||||
|
#Q> c78 = 'b,c' AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 3
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -5098,7 +5174,14 @@ START TRANSACTION
|
|||||||
#Q> c71 IS NULL AND
|
#Q> c71 IS NULL AND
|
||||||
#Q> c72 IS NULL AND
|
#Q> c72 IS NULL AND
|
||||||
#Q> c73 IS NULL AND
|
#Q> c73 IS NULL AND
|
||||||
#Q> c74 IS NUL
|
#Q> c74 IS NULL AND
|
||||||
|
#Q> c75 IS NULL AND
|
||||||
|
#Q> c76 IS NULL AND
|
||||||
|
#Q> #
|
||||||
|
#Q> c77 IS NULL AND
|
||||||
|
#Q> c78 IS NULL AND
|
||||||
|
#Q> #
|
||||||
|
#Q> crn = 4
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -5330,7 +5413,7 @@ START TRANSACTION
|
|||||||
#Q> ('2008-08-06','VARCHAR-06',6),
|
#Q> ('2008-08-06','VARCHAR-06',6),
|
||||||
#Q> ('2008-08-07','VARCHAR-07',7),
|
#Q> ('2008-08-07','VARCHAR-07',7),
|
||||||
#Q> ('2008-08-08','VARCHAR-08',8),
|
#Q> ('2008-08-08','VARCHAR-08',8),
|
||||||
#Q> ('2008-08-09','VARCH
|
#Q> ('2008-08-09','VARCHAR-09',9)
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -5760,7 +5843,7 @@ START TRANSACTION
|
|||||||
#Q> ('2008-01-06','VARCHAR-01-06',6),
|
#Q> ('2008-01-06','VARCHAR-01-06',6),
|
||||||
#Q> ('2008-01-07','VARCHAR-01-07',7),
|
#Q> ('2008-01-07','VARCHAR-01-07',7),
|
||||||
#Q> ('2008-01-08','VARCHAR-01-08',18),
|
#Q> ('2008-01-08','VARCHAR-01-08',18),
|
||||||
#Q> ('2008-01-09','VARCHAR-0
|
#Q> ('2008-01-09','VARCHAR-01-09',19)
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -5832,7 +5915,7 @@ START TRANSACTION
|
|||||||
#Q> ('2008-02-06','VARCHAR-02-06',6),
|
#Q> ('2008-02-06','VARCHAR-02-06',6),
|
||||||
#Q> ('2008-02-07','VARCHAR-02-07',7),
|
#Q> ('2008-02-07','VARCHAR-02-07',7),
|
||||||
#Q> ('2008-02-08','VARCHAR-02-08',28),
|
#Q> ('2008-02-08','VARCHAR-02-08',28),
|
||||||
#Q> ('2008-02-09','VARCHAR-0
|
#Q> ('2008-02-09','VARCHAR-02-09',29)
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -5904,7 +5987,7 @@ START TRANSACTION
|
|||||||
#Q> ('2008-03-06','VARCHAR-03-06',6),
|
#Q> ('2008-03-06','VARCHAR-03-06',6),
|
||||||
#Q> ('2008-03-07','VARCHAR-03-07',7),
|
#Q> ('2008-03-07','VARCHAR-03-07',7),
|
||||||
#Q> ('2008-03-08','VARCHAR-03-08',38),
|
#Q> ('2008-03-08','VARCHAR-03-08',38),
|
||||||
#Q> ('2008-03-09','VARCHAR-0
|
#Q> ('2008-03-09','VARCHAR-03-09',39)
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t3` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t3` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -5971,7 +6054,7 @@ START TRANSACTION
|
|||||||
#Q> c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
|
#Q> c_1_1 = ADDDATE(c_1_1,INTERVAL 10 YEAR),
|
||||||
#Q> c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
|
#Q> c_2_1 = ADDDATE(c_2_1,INTERVAL 20 YEAR),
|
||||||
#Q> c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
|
#Q> c_3_1 = ADDDATE(c_3_1,INTERVAL 30 YEAR)
|
||||||
#Q> WHERE c_1_n = c_2_n AND c_2_n = c
|
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
||||||
@ -6160,7 +6243,7 @@ START TRANSACTION
|
|||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||||
#Q> DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
|
#Q> DELETE FROM t1,t2,t3 USING t1 INNER JOIN t2 INNER JOIN t3
|
||||||
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_
|
#Q> WHERE c_1_n = c_2_n AND c_2_n = c_3_n
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t2` mapped to number #
|
||||||
@ -6377,7 +6460,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||||
#Q> LOAD DATA INFILE '../../std_data/loaddata5.dat'
|
#Q> LOAD DATA INFILE '../../std_data/loaddata5.dat'
|
||||||
#Q> INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
|
#Q> INTO TABLE t1 FIELDS TERMINATED BY '' ENCLOSED BY '' (c1,c2)
|
||||||
#Q> SET c3 = 'Wo
|
#Q> SET c3 = 'Wow'
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
|
@ -232,7 +232,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE test1.t1, test2.t2
|
#Q> DELETE test1.t1, test2.t2
|
||||||
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
||||||
@ -301,7 +301,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE xtest1.xt1, test2.t2
|
#Q> DELETE xtest1.xt1, test2.t2
|
||||||
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -434,7 +434,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE test1.t1, test2.t2
|
#Q> DELETE test1.t1, test2.t2
|
||||||
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
# at #
|
# at #
|
||||||
@ -855,7 +855,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE test1.t1, test2.t2
|
#Q> DELETE test1.t1, test2.t2
|
||||||
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
||||||
@ -924,7 +924,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE xtest1.xt1, test2.t2
|
#Q> DELETE xtest1.xt1, test2.t2
|
||||||
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -1057,7 +1057,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE test1.t1, test2.t2
|
#Q> DELETE test1.t1, test2.t2
|
||||||
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
# at #
|
# at #
|
||||||
|
@ -204,7 +204,7 @@ START TRANSACTION
|
|||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Annotate_rows:
|
||||||
#Q> LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1
|
#Q> LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1
|
||||||
#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n
|
#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
|
||||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Table_map: `new_test1`.`t1` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Table_map: `new_test1`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
@ -445,7 +445,7 @@ START TRANSACTION
|
|||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Annotate_rows:
|
||||||
#Q> LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1
|
#Q> LOAD DATA INFILE '../../std_data/loaddata7.dat' INTO TABLE t1
|
||||||
#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n
|
#Q> FIELDS TERMINATED BY ',' LINES TERMINATED BY '\r\n'
|
||||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Table_map: `new_test1`.`t1` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Table_map: `new_test1`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Write_rows: table id # flags: STMT_END_F
|
||||||
|
@ -236,7 +236,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE test1.t1, test2.t2
|
#Q> DELETE test1.t1, test2.t2
|
||||||
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
||||||
@ -305,7 +305,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE xtest1.xt1, test2.t2
|
#Q> DELETE xtest1.xt1, test2.t2
|
||||||
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM xtest1.xt1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE xtest1.xt1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test2`.`t2` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
#010909 4:46:40 server id # end_log_pos # Delete_rows: table id # flags: STMT_END_F
|
||||||
@ -441,7 +441,7 @@ START TRANSACTION
|
|||||||
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
#010909 4:46:40 server id # end_log_pos # Annotate_rows:
|
||||||
#Q> DELETE test1.t1, test2.t2
|
#Q> DELETE test1.t1, test2.t2
|
||||||
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
#Q> FROM test1.t1 INNER JOIN test2.t2 INNER JOIN test3.t3
|
||||||
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3
|
#Q> WHERE test1.t1.a=test2.t2.a AND test2.t2.a=test3.t3.a
|
||||||
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
#010909 4:46:40 server id # end_log_pos # Table_map: `test1`.`t1` mapped to number #
|
||||||
# at #
|
# at #
|
||||||
# at #
|
# at #
|
||||||
|
@ -24,6 +24,7 @@ b1 VARCHAR(64) AS (LPAD(b0,10)) PERSISTENT
|
|||||||
CREATE VIEW v2 AS SELECT
|
CREATE VIEW v2 AS SELECT
|
||||||
LTRIM(now()) AS a0,
|
LTRIM(now()) AS a0,
|
||||||
LPAD(now(),10) AS b0;
|
LPAD(now(),10) AS b0;
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
|
@ -34,6 +34,7 @@ PROCEDURE p1;
|
|||||||
FUNCTION f1 RETURN INT;
|
FUNCTION f1 RETURN INT;
|
||||||
END;
|
END;
|
||||||
$$
|
$$
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
|
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||||
|
@ -2243,6 +2243,7 @@ connection master;
|
|||||||
CREATE TABLE t1(id VARCHAR(20) NOT NULL, PRIMARY KEY(id)) ENGINE=FEDERATED
|
CREATE TABLE t1(id VARCHAR(20) NOT NULL, PRIMARY KEY(id)) ENGINE=FEDERATED
|
||||||
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1';
|
CONNECTION='mysql://root@127.0.0.1:SLAVE_PORT/test/t1';
|
||||||
# Dump table t1 using mysqldump tool
|
# Dump table t1 using mysqldump tool
|
||||||
|
/*!999999\- enable the sandbox mode */
|
||||||
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
/*!40101 SET @saved_cs_client = @@character_set_client */;
|
||||||
/*!40101 SET character_set_client = utf8 */;
|
/*!40101 SET character_set_client = utf8 */;
|
||||||
CREATE TABLE `t1` (
|
CREATE TABLE `t1` (
|
||||||
|
@ -16,12 +16,10 @@ galera_bf_kill_debug : timeout after 900 seconds
|
|||||||
galera_ssl_upgrade : [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 130: Incorrect file format 'gtid_slave_pos'
|
galera_ssl_upgrade : [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 130: Incorrect file format 'gtid_slave_pos'
|
||||||
galera_insert_bulk : MDEV-30536 no expected deadlock in galera_insert_bulk test
|
galera_insert_bulk : MDEV-30536 no expected deadlock in galera_insert_bulk test
|
||||||
galera_sequences : MDEV-32561 WSREP FSM failure: no such a transition REPLICATING -> COMMITTED
|
galera_sequences : MDEV-32561 WSREP FSM failure: no such a transition REPLICATING -> COMMITTED
|
||||||
versioning_trx_id : MDEV-18590 : galera.versioning_trx_id: Test failure: mysqltest: Result content mismatch
|
|
||||||
galera_concurrent_ctas : MDEV-32779 galera_concurrent_ctas: assertion in the galera::ReplicatorSMM::finish_cert()
|
galera_concurrent_ctas : MDEV-32779 galera_concurrent_ctas: assertion in the galera::ReplicatorSMM::finish_cert()
|
||||||
galera_as_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
|
galera_as_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
|
||||||
galera_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
|
galera_slave_replay : MDEV-32780 galera_as_slave_replay: assertion in the wsrep::transaction::before_rollback()
|
||||||
galera_sst_mysqldump_with_key : MDEV-32782 galera_sst_mysqldump_with_key test failed
|
galera_sst_mysqldump_with_key : MDEV-32782 galera_sst_mysqldump_with_key test failed
|
||||||
galera_var_ignore_apply_errors : MENT-1997 galera_var_ignore_apply_errors test freezes
|
galera_var_ignore_apply_errors : MENT-1997 galera_var_ignore_apply_errors test freezes
|
||||||
MW-402 : temporarily disabled at the request of Codership
|
|
||||||
galera_desync_overlapped : MDEV-21538 galera_desync_overlapped MTR failed: Result content mismatch
|
galera_desync_overlapped : MDEV-21538 galera_desync_overlapped MTR failed: Result content mismatch
|
||||||
galera_create_table_as_select : MDEV-33952 fails sporadically
|
galera_create_table_as_select : MDEV-33952 fails sporadically
|
||||||
|
@ -21,6 +21,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.1.#gale
|
|||||||
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
|
wsrep_node_address='127.0.0.1:@mysqld.1.#galera_port'
|
||||||
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.1.port
|
||||||
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.1.#sst_port'
|
||||||
|
auto-increment-offset=1
|
||||||
|
|
||||||
[mysqld.2]
|
[mysqld.2]
|
||||||
wsrep-on=1
|
wsrep-on=1
|
||||||
@ -32,6 +33,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.2.#gale
|
|||||||
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
|
wsrep_node_address='127.0.0.1:@mysqld.2.#galera_port'
|
||||||
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.2.port
|
||||||
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.2.#sst_port'
|
||||||
|
auto-increment-offset=2
|
||||||
|
|
||||||
[mysqld.3]
|
[mysqld.3]
|
||||||
wsrep-on=1
|
wsrep-on=1
|
||||||
@ -43,6 +45,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.3.#gale
|
|||||||
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
|
wsrep_node_address='127.0.0.1:@mysqld.3.#galera_port'
|
||||||
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.3.port
|
||||||
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.3.#sst_port'
|
||||||
|
auto-increment-offset=3
|
||||||
|
|
||||||
[mysqld.4]
|
[mysqld.4]
|
||||||
wsrep-on=1
|
wsrep-on=1
|
||||||
@ -54,6 +57,7 @@ wsrep_provider_options='repl.causal_read_timeout=PT90S;base_port=@mysqld.4.#gale
|
|||||||
wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port'
|
wsrep_node_address='127.0.0.1:@mysqld.4.#galera_port'
|
||||||
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
|
wsrep_node_incoming_address=127.0.0.1:@mysqld.4.port
|
||||||
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
|
wsrep_sst_receive_address='127.0.0.1:@mysqld.4.#sst_port'
|
||||||
|
auto-increment-offset=4
|
||||||
|
|
||||||
[ENV]
|
[ENV]
|
||||||
NODE_MYPORT_1= @mysqld.1.port
|
NODE_MYPORT_1= @mysqld.1.port
|
||||||
|
@ -16,17 +16,15 @@ connection node_1a;
|
|||||||
SET SESSION wsrep_on = 0;
|
SET SESSION wsrep_on = 0;
|
||||||
SET SESSION wsrep_on = 1;
|
SET SESSION wsrep_on = 1;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
|
connection node_1a;
|
||||||
|
SET SESSION DEBUG_SYNC = "RESET";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SELECT * FROM p;
|
SELECT * FROM p;
|
||||||
id f2
|
id f2
|
||||||
|
@ -12,22 +12,20 @@ START TRANSACTION;
|
|||||||
DELETE FROM p WHERE f1 = 1;
|
DELETE FROM p WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
INSERT INTO c VALUES (1, 1);
|
INSERT INTO c VALUES (1, 1);
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
connection node_2;
|
connection node_2;
|
||||||
@ -54,22 +52,20 @@ START TRANSACTION;
|
|||||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
UPDATE c SET f2 = 1 WHERE f1 = 1;
|
UPDATE c SET f2 = 1 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SELECT * FROM p;
|
SELECT * FROM p;
|
||||||
@ -94,22 +90,20 @@ START TRANSACTION;
|
|||||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
DELETE FROM c WHERE f1 = 1;
|
DELETE FROM c WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SELECT * FROM p;
|
SELECT * FROM p;
|
||||||
@ -130,22 +124,20 @@ START TRANSACTION;
|
|||||||
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
UPDATE p SET f2 = 1 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
INSERT INTO c VALUES (1, 0);;
|
INSERT INTO c VALUES (1, 0);;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
connection node_2;
|
connection node_2;
|
||||||
@ -170,22 +162,20 @@ START TRANSACTION;
|
|||||||
DELETE FROM p WHERE f1 = 1;
|
DELETE FROM p WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
UPDATE c SET f2 = 1 WHERE f1 = 1;
|
UPDATE c SET f2 = 1 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
connection node_2;
|
connection node_2;
|
||||||
@ -215,22 +205,20 @@ START TRANSACTION;
|
|||||||
INSERT INTO cf (f1, p_id) VALUES (10, 1);
|
INSERT INTO cf (f1, p_id) VALUES (10, 1);
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
INSERT INTO cf (f1, p_id) VALUES (20, 1);
|
INSERT INTO cf (f1, p_id) VALUES (20, 1);
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SELECT * FROM pf;
|
SELECT * FROM pf;
|
||||||
@ -255,22 +243,20 @@ START TRANSACTION;
|
|||||||
UPDATE pg SET f2 = 1 WHERE f1 = 1;
|
UPDATE pg SET f2 = 1 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
INSERT INTO cg VALUES (1, 1, 0);
|
INSERT INTO cg VALUES (1, 1, 0);
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SELECT * FROM pg;
|
SELECT * FROM pg;
|
||||||
|
@ -15,22 +15,20 @@ START TRANSACTION;
|
|||||||
UPDATE c SET f2=1 where f1=1;
|
UPDATE c SET f2=1 where f1=1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
DELETE FROM p WHERE f1 = 1;
|
DELETE FROM p WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
connection node_2;
|
connection node_2;
|
||||||
@ -55,22 +53,20 @@ START TRANSACTION;
|
|||||||
UPDATE c SET f2=2 where f1=1;
|
UPDATE c SET f2=2 where f1=1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
UPDATE p set f1=11 WHERE f1 = 1;
|
UPDATE p set f1=11 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
connection node_2;
|
connection node_2;
|
||||||
@ -97,22 +93,20 @@ START TRANSACTION;
|
|||||||
UPDATE c SET p_id=2 where f1=1;
|
UPDATE c SET p_id=2 where f1=1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
UPDATE p set f1=11 WHERE f1 = 1;
|
UPDATE p set f1=11 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
connection node_2;
|
connection node_2;
|
||||||
@ -130,22 +124,20 @@ START TRANSACTION;
|
|||||||
UPDATE p set f1=21 WHERE f1 = 11;
|
UPDATE p set f1=21 WHERE f1 = 11;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
UPDATE c SET p_id=2 where f1=1;
|
UPDATE c SET p_id=2 where f1=1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
connection node_2;
|
connection node_2;
|
||||||
@ -176,22 +168,20 @@ START TRANSACTION;
|
|||||||
UPDATE p2 SET f2=2 where f1=1;
|
UPDATE p2 SET f2=2 where f1=1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
DELETE FROM p1 WHERE f1 = 1;
|
DELETE FROM p1 WHERE f1 = 1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
connection node_2;
|
connection node_2;
|
||||||
SELECT * FROM p1;
|
SELECT * FROM p1;
|
||||||
@ -223,22 +213,20 @@ START TRANSACTION;
|
|||||||
DELETE FROM p2 WHERE f1=1;
|
DELETE FROM p2 WHERE f1=1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_sync_wait = 0;
|
SET SESSION wsrep_sync_wait = 0;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,apply_monitor_slave_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "d,sync.wsrep_apply_cb";
|
||||||
connection node_2;
|
connection node_2;
|
||||||
DELETE FROM p1 WHERE f1=1;
|
DELETE FROM p1 WHERE f1=1;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR sync.wsrep_apply_cb_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
|
SET DEBUG_SYNC = "wsrep_after_certification SIGNAL after_certification_reached WAIT_FOR continue_after_certification";
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
SET SESSION DEBUG_SYNC = "now WAIT_FOR after_certification_reached";
|
||||||
SET SESSION wsrep_on = 1;
|
SET DEBUG_SYNC = 'now SIGNAL continue_after_certification';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET DEBUG_SYNC = 'now SIGNAL signal.wsrep_apply_cb';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
SET GLOBAL DEBUG_DBUG = "";
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET DEBUG_SYNC = 'RESET';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
connection node_2;
|
connection node_2;
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,7 +1,5 @@
|
|||||||
connection node_2;
|
connection node_2;
|
||||||
connection node_1;
|
connection node_1;
|
||||||
connection node_1;
|
|
||||||
connection node_2;
|
|
||||||
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
|
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
|
||||||
connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4;
|
connect node_4, 127.0.0.1, root, , test, $NODE_MYPORT_4;
|
||||||
connection node_1;
|
connection node_1;
|
||||||
@ -55,6 +53,7 @@ expect_0
|
|||||||
SELECT COUNT(*) AS expect_1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
|
SELECT COUNT(*) AS expect_1 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't2';
|
||||||
expect_1
|
expect_1
|
||||||
1
|
1
|
||||||
|
CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
|
||||||
connection node_4;
|
connection node_4;
|
||||||
SELECT COUNT(*) AS expect_0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
|
SELECT COUNT(*) AS expect_0 FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 't1';
|
||||||
expect_0
|
expect_0
|
||||||
@ -64,3 +63,5 @@ expect_1
|
|||||||
1
|
1
|
||||||
CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
|
CALL mtr.add_suppression("WSREP: Vote 0 \\(success\\) on .* is inconsistent with group. Leaving cluster.");
|
||||||
DROP TABLE t2;
|
DROP TABLE t2;
|
||||||
|
disconnect node_3;
|
||||||
|
disconnect node_4;
|
||||||
|
@ -21,14 +21,10 @@ connection node_1a;
|
|||||||
SET SESSION wsrep_on = 0;
|
SET SESSION wsrep_on = 0;
|
||||||
SET SESSION wsrep_on = 1;
|
SET SESSION wsrep_on = 1;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
@ -64,14 +60,10 @@ connection node_1a;
|
|||||||
SET SESSION wsrep_on = 0;
|
SET SESSION wsrep_on = 0;
|
||||||
SET SESSION wsrep_on = 1;
|
SET SESSION wsrep_on = 1;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
@ -112,14 +104,10 @@ connection node_1a;
|
|||||||
SET SESSION wsrep_on = 0;
|
SET SESSION wsrep_on = 0;
|
||||||
SET SESSION wsrep_on = 1;
|
SET SESSION wsrep_on = 1;
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=d,local_monitor_master_enter_sync';
|
|
||||||
connection node_1;
|
connection node_1;
|
||||||
COMMIT;
|
COMMIT;
|
||||||
connection node_1a;
|
connection node_1a;
|
||||||
SET SESSION wsrep_on = 0;
|
|
||||||
SET SESSION wsrep_on = 1;
|
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
SET GLOBAL wsrep_provider_options = 'signal=apply_monitor_slave_enter_sync';
|
||||||
SET GLOBAL wsrep_provider_options = 'signal=local_monitor_master_enter_sync';
|
|
||||||
SET GLOBAL wsrep_provider_options = 'dbug=';
|
SET GLOBAL wsrep_provider_options = 'dbug=';
|
||||||
connection node_1;
|
connection node_1;
|
||||||
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
|
||||||
|
@ -17,7 +17,7 @@ a
|
|||||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||||
count(*)
|
count(*)
|
||||||
0
|
0
|
||||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||||
count(*)
|
count(*)
|
||||||
0
|
0
|
||||||
connection node_3;
|
connection node_3;
|
||||||
@ -34,7 +34,7 @@ a
|
|||||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||||
count(*)
|
count(*)
|
||||||
0
|
0
|
||||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||||
count(*)
|
count(*)
|
||||||
0
|
0
|
||||||
connection node_1;
|
connection node_1;
|
||||||
@ -50,7 +50,7 @@ a
|
|||||||
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
select count(*) from mysql.transaction_registry where begin_timestamp='0-0-0';
|
||||||
count(*)
|
count(*)
|
||||||
0
|
0
|
||||||
select count(*) from mysql.transaction_registry where begin_timestamp>=commit_timestamp;
|
select count(*) from mysql.transaction_registry where begin_timestamp>commit_timestamp;
|
||||||
count(*)
|
count(*)
|
||||||
0
|
0
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user