System Versioning 1.0 pre8
Merge branch '10.3' into trunk
This commit is contained in:
commit
c59c1a0736
1
.gitignore
vendored
1
.gitignore
vendored
@ -193,6 +193,7 @@ storage/myisam/sp_test
|
||||
storage/rocksdb/ldb
|
||||
storage/rocksdb/mysql_ldb
|
||||
storage/rocksdb/sst_dump
|
||||
storage/rocksdb/rdb_source_revision.h
|
||||
storage/tokudb/PerconaFT/buildheader/db.h
|
||||
storage/tokudb/PerconaFT/buildheader/make_tdb
|
||||
storage/tokudb/PerconaFT/buildheader/runcat.sh
|
||||
|
@ -14,6 +14,10 @@ if [[ "${TRAVIS_OS_NAME}" == 'linux' ]]; then
|
||||
export CXX CC=${CXX/++/}
|
||||
elif [[ "${CXX}" == 'g++' ]]; then
|
||||
CMAKE_OPT=""
|
||||
if [[ "${MYSQL_TEST_SUITES}" == 'rpl' ]]; then
|
||||
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_TOKUDB_STORAGE_ENGINE=TRUE"
|
||||
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_MROONGA_STORAGE_ENGINE=TRUE"
|
||||
fi
|
||||
export CXX=g++-${GCC_VERSION}
|
||||
export CC=gcc-${GCC_VERSION}
|
||||
fi
|
||||
@ -33,6 +37,9 @@ else
|
||||
if which ccache ; then
|
||||
CMAKE_OPT="${CMAKE_OPT} -DCMAKE_C_COMPILER_LAUNCHER=ccache -DCMAKE_CXX_COMPILER_LAUNCHER=ccache"
|
||||
fi
|
||||
if [[ "${MYSQL_TEST_SUITES}" == 'rpl' ]]; then
|
||||
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_TOKUDB_STORAGE_ENGINE=ON"
|
||||
fi
|
||||
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_MROONGA_STORAGE_ENGINE=ON"
|
||||
if [[ "${TYPE}" == "Debug" ]]; then
|
||||
CMAKE_OPT="${CMAKE_OPT} -DWITHOUT_TOKUDB_STORAGE_ENGINE=ON"
|
||||
|
@ -103,7 +103,7 @@
|
||||
- Statements:
|
||||
The Lex in THD is replaced by a new Lex structure and the statement,
|
||||
is parsed as usual. A sp_instr_stmt is created, containing the new
|
||||
Lex, and added to added to the instructions in sphead.
|
||||
Lex, and added to the instructions in sphead.
|
||||
Afterwards, the procedure's Lex is restored in THD.
|
||||
- SET var:
|
||||
Setting a local variable generates a sp_instr_set instruction,
|
||||
@ -169,7 +169,7 @@
|
||||
|
||||
- Parsing CREATE FUNCTION ...
|
||||
|
||||
Creating a functions is essensially the same thing as for a PROCEDURE,
|
||||
Creating a functions is essentially the same thing as for a PROCEDURE,
|
||||
with the addition that a FUNCTION has a return type and a RETURN
|
||||
statement, but no OUT or INOUT parameters.
|
||||
|
||||
@ -189,7 +189,7 @@
|
||||
additional requirement. They will be called in expressions with the same
|
||||
syntax as UDFs, so UDFs and stored FUNCTIONs share the namespace. Thus,
|
||||
we must make sure that we do not have UDFs and FUNCTIONs with the same
|
||||
name (even if they are storded in different places).
|
||||
name (even if they are stored in different places).
|
||||
|
||||
This means that we can reparse the procedure as many time as we want.
|
||||
The first time, the resulting Lex is used to store the procedure in
|
||||
@ -225,7 +225,7 @@
|
||||
|
||||
sql_parse.cc:mysql_execute_command() then uses sp.cc:sp_find() to
|
||||
get the sp_head for the procedure (which may have been read from the
|
||||
database or feetched from the in-memory cache) and calls the sp_head's
|
||||
database or fetched from the in-memory cache) and calls the sp_head's
|
||||
method execute().
|
||||
Note: It's important that substatements called by the procedure do not
|
||||
do send_ok(). Fortunately, there is a flag in THD->net to disable
|
||||
@ -545,7 +545,7 @@
|
||||
Cons: Uses more memory, each SP read from table once per thread.
|
||||
|
||||
Unfortunately, we cannot use alternative 1 for the time being, as most
|
||||
of the datastructures to be cached (lex and items) are not reentrant
|
||||
of the data structures to be cached (lex and items) are not reentrant
|
||||
and thread-safe. (Things are modifed at execution, we have THD pointers
|
||||
stored everywhere, etc.)
|
||||
This leaves us with alternative 2, one cache per thread; or actually
|
||||
|
2
VERSION
2
VERSION
@ -1,4 +1,4 @@
|
||||
MYSQL_VERSION_MAJOR=10
|
||||
MYSQL_VERSION_MINOR=3
|
||||
MYSQL_VERSION_PATCH=3
|
||||
MYSQL_VERSION_PATCH=4
|
||||
SERVER_MATURITY=beta
|
||||
|
17
appveyor.yml
Normal file
17
appveyor.yml
Normal file
@ -0,0 +1,17 @@
|
||||
version: 10.2-{build}
|
||||
before_build:
|
||||
- md %APPVEYOR_BUILD_FOLDER%\win_build
|
||||
- cd %APPVEYOR_BUILD_FOLDER%\win_build
|
||||
- cmake .. -G "Visual Studio 15 2017" -DBISON_EXECUTABLE=C:\cygwin\bin\bison
|
||||
- dir
|
||||
build:
|
||||
project: win_build\MySQL.sln
|
||||
parallel: true
|
||||
verbosity: minimal
|
||||
configuration:
|
||||
- Debug
|
||||
test:
|
||||
test_script:
|
||||
- cd %APPVEYOR_BUILD_FOLDER%\win_build\mysql-test
|
||||
- perl mysql-test-run.pl --force --max-test-fail=20 --parallel=6 --testcase-timeout=4 --skip-test-list=unstable-tests --suite=main,innodb,plugins,mariabackup
|
||||
image: Visual Studio 2017
|
@ -98,6 +98,7 @@ enum options_client
|
||||
OPT_REPORT_PROGRESS,
|
||||
OPT_SKIP_ANNOTATE_ROWS_EVENTS,
|
||||
OPT_SSL_CRL, OPT_SSL_CRLPATH,
|
||||
OPT_PRINT_ROW_COUNT, OPT_PRINT_ROW_EVENT_POSITIONS,
|
||||
OPT_MAX_CLIENT_OPTION /* should be always the last */
|
||||
};
|
||||
|
||||
|
@ -1795,8 +1795,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
break;
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case OPT_SERVER_ARG:
|
||||
|
@ -299,8 +299,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
#endif
|
||||
break;
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
@ -89,7 +89,8 @@ static char *result_file_name= 0;
|
||||
static const char *output_prefix= "";
|
||||
|
||||
#ifndef DBUG_OFF
|
||||
static const char* default_dbug_option = "d:t:o,/tmp/mysqlbinlog.trace";
|
||||
static const char *default_dbug_option = "d:t:o,/tmp/mysqlbinlog.trace";
|
||||
const char *current_dbug_option= default_dbug_option;
|
||||
#endif
|
||||
static const char *load_groups[]=
|
||||
{ "mysqlbinlog", "client", "client-server", "client-mariadb", 0 };
|
||||
@ -109,6 +110,8 @@ static char *opt_base64_output_mode_str= NullS;
|
||||
static char* database= 0;
|
||||
static char* table= 0;
|
||||
static my_bool force_opt= 0, short_form= 0, remote_opt= 0;
|
||||
static my_bool print_row_count= 0, print_row_event_positions= 0;
|
||||
static my_bool print_row_count_used= 0, print_row_event_positions_used= 0;
|
||||
static my_bool debug_info_flag, debug_check_flag;
|
||||
static my_bool force_if_open_opt= 1;
|
||||
static my_bool opt_raw_mode= 0, opt_stop_never= 0;
|
||||
@ -224,14 +227,16 @@ void keep_annotate_event(Annotate_rows_log_event* event)
|
||||
annotate_event= event;
|
||||
}
|
||||
|
||||
void print_annotate_event(PRINT_EVENT_INFO *print_event_info)
|
||||
bool print_annotate_event(PRINT_EVENT_INFO *print_event_info)
|
||||
{
|
||||
bool error= 0;
|
||||
if (annotate_event)
|
||||
{
|
||||
annotate_event->print(result_file, print_event_info);
|
||||
error= annotate_event->print(result_file, print_event_info);
|
||||
delete annotate_event; // the event should not be printed more than once
|
||||
annotate_event= 0;
|
||||
}
|
||||
return error;
|
||||
}
|
||||
|
||||
static Exit_status dump_local_log_entries(PRINT_EVENT_INFO *, const char*);
|
||||
@ -795,7 +800,7 @@ print_use_stmt(PRINT_EVENT_INFO* pinfo, const Query_log_event *ev)
|
||||
static void
|
||||
print_skip_replication_statement(PRINT_EVENT_INFO *pinfo, const Log_event *ev)
|
||||
{
|
||||
int cur_val;
|
||||
bool cur_val;
|
||||
|
||||
cur_val= (ev->flags & LOG_EVENT_SKIP_REPLICATION_F) != 0;
|
||||
if (cur_val == pinfo->skip_replication)
|
||||
@ -847,8 +852,9 @@ write_event_header_and_base64(Log_event *ev, FILE *result_file,
|
||||
DBUG_ENTER("write_event_header_and_base64");
|
||||
|
||||
/* Write header and base64 output to cache */
|
||||
ev->print_header(head, print_event_info, FALSE);
|
||||
ev->print_base64(body, print_event_info, FALSE);
|
||||
if (ev->print_header(head, print_event_info, FALSE) ||
|
||||
ev->print_base64(body, print_event_info, FALSE))
|
||||
DBUG_RETURN(ERROR_STOP);
|
||||
|
||||
/* Read data from cache and write to result file */
|
||||
if (copy_event_cache_to_file_and_reinit(head, result_file) ||
|
||||
@ -870,24 +876,20 @@ static bool print_base64(PRINT_EVENT_INFO *print_event_info, Log_event *ev)
|
||||
passed --short-form, because --short-form disables printing
|
||||
row events.
|
||||
*/
|
||||
|
||||
if (!print_event_info->printed_fd_event && !short_form &&
|
||||
opt_base64_output_mode != BASE64_OUTPUT_DECODE_ROWS)
|
||||
opt_base64_output_mode != BASE64_OUTPUT_DECODE_ROWS &&
|
||||
opt_base64_output_mode != BASE64_OUTPUT_NEVER)
|
||||
{
|
||||
const char* type_str= ev->get_type_str();
|
||||
if (opt_base64_output_mode == BASE64_OUTPUT_NEVER)
|
||||
error("--base64-output=never specified, but binlog contains a "
|
||||
"%s event which must be printed in base64.",
|
||||
type_str);
|
||||
else
|
||||
error("malformed binlog: it does not contain any "
|
||||
"Format_description_log_event. I now found a %s event, which "
|
||||
error("malformed binlog: it does not contain any "
|
||||
"Format_description_log_event. Found a %s event, which "
|
||||
"is not safe to process without a "
|
||||
"Format_description_log_event.",
|
||||
type_str);
|
||||
return 1;
|
||||
}
|
||||
ev->print(result_file, print_event_info);
|
||||
return print_event_info->head_cache.error == -1;
|
||||
return ev->print(result_file, print_event_info);
|
||||
}
|
||||
|
||||
|
||||
@ -897,6 +899,8 @@ static bool print_row_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
Table_map_log_event *ignored_map=
|
||||
print_event_info->m_table_map_ignored.get_table(table_id);
|
||||
bool skip_event= (ignored_map != NULL);
|
||||
char ll_buff[21];
|
||||
bool result= 0;
|
||||
|
||||
if (opt_flashback)
|
||||
{
|
||||
@ -969,19 +973,18 @@ static bool print_row_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
return 0;
|
||||
|
||||
if (!opt_flashback)
|
||||
return print_base64(print_event_info, ev);
|
||||
result= print_base64(print_event_info, ev);
|
||||
else
|
||||
{
|
||||
if (is_stmt_end)
|
||||
{
|
||||
bool res= false;
|
||||
Log_event *e= NULL;
|
||||
|
||||
// Print the row_event from the last one to the first one
|
||||
for (uint i= events_in_stmt.elements; i > 0; --i)
|
||||
{
|
||||
e= *(dynamic_element(&events_in_stmt, i - 1, Log_event**));
|
||||
res= res || print_base64(print_event_info, e);
|
||||
result= result || print_base64(print_event_info, e);
|
||||
}
|
||||
// Copy all output into the Log_event
|
||||
ev->output_buf.copy(e->output_buf);
|
||||
@ -992,12 +995,17 @@ static bool print_row_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
delete e;
|
||||
}
|
||||
reset_dynamic(&events_in_stmt);
|
||||
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
if (is_stmt_end && !result)
|
||||
{
|
||||
if (print_event_info->print_row_count)
|
||||
fprintf(result_file, "# Number of rows: %s\n",
|
||||
llstr(print_event_info->row_events, ll_buff));
|
||||
print_event_info->row_events= 0;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@ -1028,7 +1036,6 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
Log_event_type ev_type= ev->get_type_code();
|
||||
my_bool destroy_evt= TRUE;
|
||||
DBUG_ENTER("process_event");
|
||||
print_event_info->short_form= short_form;
|
||||
Exit_status retval= OK_CONTINUE;
|
||||
IO_CACHE *const head= &print_event_info->head_cache;
|
||||
|
||||
@ -1074,7 +1081,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
retval= OK_STOP;
|
||||
goto end;
|
||||
}
|
||||
if (!short_form && !opt_flashback)
|
||||
if (print_row_event_positions)
|
||||
fprintf(result_file, "# at %s\n",llstr(pos,ll_buff));
|
||||
|
||||
if (!opt_hexdump)
|
||||
@ -1115,7 +1122,8 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
else
|
||||
{
|
||||
print_skip_replication_statement(print_event_info, ev);
|
||||
ev->print(result_file, print_event_info);
|
||||
if (ev->print(result_file, print_event_info))
|
||||
goto err;
|
||||
}
|
||||
if (head->error == -1)
|
||||
goto err;
|
||||
@ -1150,8 +1158,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
else
|
||||
{
|
||||
print_skip_replication_statement(print_event_info, ev);
|
||||
ce->print(result_file, print_event_info, TRUE);
|
||||
if (head->error == -1)
|
||||
if (ce->print(result_file, print_event_info, TRUE))
|
||||
goto err;
|
||||
}
|
||||
// If this binlog is not 3.23 ; why this test??
|
||||
@ -1174,8 +1181,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
the subsequent call load_processor.process fails, because the
|
||||
output of Append_block_log_event::print is only a comment.
|
||||
*/
|
||||
ev->print(result_file, print_event_info);
|
||||
if (head->error == -1)
|
||||
if (ev->print(result_file, print_event_info))
|
||||
goto err;
|
||||
if ((retval= load_processor.process((Append_block_log_event*) ev)) !=
|
||||
OK_CONTINUE)
|
||||
@ -1184,8 +1190,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
|
||||
case EXEC_LOAD_EVENT:
|
||||
{
|
||||
ev->print(result_file, print_event_info);
|
||||
if (head->error == -1)
|
||||
if (ev->print(result_file, print_event_info))
|
||||
goto err;
|
||||
Execute_load_log_event *exv= (Execute_load_log_event*)ev;
|
||||
Create_file_log_event *ce= load_processor.grab_event(exv->file_id);
|
||||
@ -1196,15 +1201,16 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
*/
|
||||
if (ce)
|
||||
{
|
||||
bool error;
|
||||
/*
|
||||
We must not convert earlier, since the file is used by
|
||||
my_open() in Load_log_processor::append().
|
||||
*/
|
||||
convert_path_to_forward_slashes((char*) ce->fname);
|
||||
ce->print(result_file, print_event_info, TRUE);
|
||||
error= ce->print(result_file, print_event_info, TRUE);
|
||||
my_free((void*)ce->fname);
|
||||
delete ce;
|
||||
if (head->error == -1)
|
||||
if (error)
|
||||
goto err;
|
||||
}
|
||||
else
|
||||
@ -1215,10 +1221,10 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
case FORMAT_DESCRIPTION_EVENT:
|
||||
delete glob_description_event;
|
||||
glob_description_event= (Format_description_log_event*) ev;
|
||||
destroy_evt= 0;
|
||||
print_event_info->common_header_len=
|
||||
glob_description_event->common_header_len;
|
||||
ev->print(result_file, print_event_info);
|
||||
if (head->error == -1)
|
||||
if (ev->print(result_file, print_event_info))
|
||||
goto err;
|
||||
if (!remote_opt)
|
||||
{
|
||||
@ -1248,8 +1254,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
}
|
||||
break;
|
||||
case BEGIN_LOAD_QUERY_EVENT:
|
||||
ev->print(result_file, print_event_info);
|
||||
if (head->error == -1)
|
||||
if (ev->print(result_file, print_event_info))
|
||||
goto err;
|
||||
if ((retval= load_processor.process((Begin_load_query_log_event*) ev)) !=
|
||||
OK_CONTINUE)
|
||||
@ -1267,11 +1272,9 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
{
|
||||
convert_path_to_forward_slashes(fname);
|
||||
print_skip_replication_statement(print_event_info, ev);
|
||||
exlq->print(result_file, print_event_info, fname);
|
||||
if (head->error == -1)
|
||||
if (exlq->print(result_file, print_event_info, fname))
|
||||
{
|
||||
if (fname)
|
||||
my_free(fname);
|
||||
my_free(fname);
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
@ -1279,9 +1282,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
warning("Ignoring Execute_load_query since there is no "
|
||||
"Begin_load_query event for file_id: %u", exlq->file_id);
|
||||
}
|
||||
|
||||
if (fname)
|
||||
my_free(fname);
|
||||
my_free(fname);
|
||||
break;
|
||||
}
|
||||
case ANNOTATE_ROWS_EVENT:
|
||||
@ -1427,7 +1428,8 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
print the kept Annotate event (if there is any).
|
||||
print_annotate_event() also deletes the kept Annotate event.
|
||||
*/
|
||||
print_annotate_event(print_event_info);
|
||||
if (print_annotate_event(print_event_info))
|
||||
goto err;
|
||||
|
||||
size_t len_to= 0;
|
||||
const char* db_to= binlog_filter->get_rewrite_db(map->get_db_name(), &len_to);
|
||||
@ -1457,10 +1459,18 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
{
|
||||
Rows_log_event *e= (Rows_log_event*) ev;
|
||||
bool is_stmt_end= e->get_flags(Rows_log_event::STMT_END_F);
|
||||
if (!print_event_info->found_row_event)
|
||||
{
|
||||
print_event_info->found_row_event= 1;
|
||||
print_event_info->row_events= 0;
|
||||
}
|
||||
if (print_row_event(print_event_info, ev, e->get_table_id(),
|
||||
e->get_flags(Rows_log_event::STMT_END_F)))
|
||||
goto err;
|
||||
if (!is_stmt_end)
|
||||
DBUG_PRINT("info", ("is_stmt_end: %d", (int) is_stmt_end));
|
||||
if (is_stmt_end)
|
||||
print_event_info->found_row_event= 0;
|
||||
else if (opt_flashback)
|
||||
destroy_evt= FALSE;
|
||||
break;
|
||||
}
|
||||
@ -1473,7 +1483,8 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
if (print_row_event(print_event_info, ev, e->get_table_id(),
|
||||
e->get_flags(Old_rows_log_event::STMT_END_F)))
|
||||
goto err;
|
||||
if (!is_stmt_end)
|
||||
DBUG_PRINT("info", ("is_stmt_end: %d", (int) is_stmt_end));
|
||||
if (!is_stmt_end && opt_flashback)
|
||||
destroy_evt= FALSE;
|
||||
break;
|
||||
}
|
||||
@ -1482,8 +1493,7 @@ Exit_status process_event(PRINT_EVENT_INFO *print_event_info, Log_event *ev,
|
||||
/* fall through */
|
||||
default:
|
||||
print_skip_replication_statement(print_event_info, ev);
|
||||
ev->print(result_file, print_event_info);
|
||||
if (head->error == -1)
|
||||
if (ev->print(result_file, print_event_info))
|
||||
goto err;
|
||||
}
|
||||
}
|
||||
@ -1494,7 +1504,8 @@ err:
|
||||
retval= ERROR_STOP;
|
||||
end:
|
||||
rec_count++;
|
||||
|
||||
|
||||
DBUG_PRINT("info", ("end event processing"));
|
||||
/*
|
||||
Destroy the log_event object.
|
||||
MariaDB MWL#36: mainline does this:
|
||||
@ -1539,6 +1550,7 @@ end:
|
||||
if (destroy_evt) /* destroy it later if not set (ignored table map) */
|
||||
delete ev;
|
||||
}
|
||||
DBUG_PRINT("exit",("return: %d", retval));
|
||||
DBUG_RETURN(retval);
|
||||
}
|
||||
|
||||
@ -1550,14 +1562,15 @@ static struct my_option my_options[] =
|
||||
{"base64-output", OPT_BASE64_OUTPUT_MODE,
|
||||
/* 'unspec' is not mentioned because it is just a placeholder. */
|
||||
"Determine when the output statements should be base64-encoded BINLOG "
|
||||
"statements: 'never' disables it and works only for binlogs without "
|
||||
"row-based events; 'decode-rows' decodes row events into commented SQL "
|
||||
"statements if the --verbose option is also given; 'auto' prints base64 "
|
||||
"only when necessary (i.e., for row-based events and format description "
|
||||
"events); 'always' prints base64 whenever possible. 'always' is "
|
||||
"deprecated, will be removed in a future version, and should not be used "
|
||||
"in a production system. --base64-output with no 'name' argument is "
|
||||
"equivalent to --base64-output=always and is also deprecated. If no "
|
||||
"statements: 'never' doesn't print binlog row events and should not be "
|
||||
"used when directing output to a MariaDB master; "
|
||||
"'decode-rows' decodes row events into commented SQL statements if the "
|
||||
"--verbose option is also given; "
|
||||
"'auto' prints base64 only when necessary (i.e., for row-based events and "
|
||||
"format description events); "
|
||||
"'always' prints base64 whenever possible. "
|
||||
"--base64-output with no 'name' argument is equivalent to "
|
||||
"--base64-output=always and is also deprecated. If no "
|
||||
"--base64-output[=name] option is given at all, the default is 'auto'.",
|
||||
&opt_base64_output_mode_str, &opt_base64_output_mode_str,
|
||||
0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
@ -1574,8 +1587,8 @@ static struct my_option my_options[] =
|
||||
&database, &database, 0, GET_STR_ALLOC, REQUIRED_ARG,
|
||||
0, 0, 0, 0, 0, 0},
|
||||
#ifndef DBUG_OFF
|
||||
{"debug", '#', "Output debug log.", &default_dbug_option,
|
||||
&default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
{"debug", '#', "Output debug log.", ¤t_dbug_option,
|
||||
¤t_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"debug-check", OPT_DEBUG_CHECK, "Check memory and open file usage at exit .",
|
||||
&debug_check_flag, &debug_check_flag, 0,
|
||||
@ -1657,6 +1670,14 @@ static struct my_option my_options[] =
|
||||
&flashback_review_tablename, &flashback_review_tablename,
|
||||
0, GET_STR_ALLOC, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"print-row-count", OPT_PRINT_ROW_COUNT,
|
||||
"Print row counts for each row events",
|
||||
&print_row_count, &print_row_count, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0,
|
||||
0, 0},
|
||||
{"print-row-event-positions", OPT_PRINT_ROW_EVENT_POSITIONS,
|
||||
"Print row event positions",
|
||||
&print_row_event_positions, &print_row_event_positions, 0, GET_BOOL,
|
||||
NO_ARG, 1, 0, 0, 0, 0, 0},
|
||||
{"server-id", 0,
|
||||
"Extract only binlog entries created by the server having the given id.",
|
||||
&server_id, &server_id, 0, GET_ULONG,
|
||||
@ -1670,10 +1691,11 @@ static struct my_option my_options[] =
|
||||
&shared_memory_base_name,
|
||||
0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
|
||||
#endif
|
||||
{"short-form", 's', "Just show regular queries: no extra info and no "
|
||||
"row-based events. This is for testing only, and should not be used in "
|
||||
"production systems. If you want to suppress base64-output, consider "
|
||||
"using --base64-output=never instead.",
|
||||
{"short-form", 's', "Just show regular queries: no extra info, no "
|
||||
"row-based events and no row counts. This is mainly for testing only, "
|
||||
"and should not be used to feed to the MariaDB server. "
|
||||
"If you want to just suppress base64-output, you can instead "
|
||||
"use --base64-output=never",
|
||||
&short_form, &short_form, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0,
|
||||
0, 0},
|
||||
{"socket", 'S', "The socket file to use for connection.",
|
||||
@ -1775,9 +1797,12 @@ Example: rewrite-db='from->to'.",
|
||||
*/
|
||||
static void error_or_warning(const char *format, va_list args, const char *msg)
|
||||
{
|
||||
if (result_file)
|
||||
fflush(result_file);
|
||||
fprintf(stderr, "%s: ", msg);
|
||||
vfprintf(stderr, format, args);
|
||||
fprintf(stderr, "\n");
|
||||
fflush(stderr);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1830,6 +1855,7 @@ static void warning(const char *format,...)
|
||||
*/
|
||||
static void cleanup()
|
||||
{
|
||||
DBUG_ENTER("cleanup");
|
||||
my_free(pass);
|
||||
my_free(database);
|
||||
my_free(table);
|
||||
@ -1843,12 +1869,13 @@ static void cleanup()
|
||||
delete glob_description_event;
|
||||
if (mysql)
|
||||
mysql_close(mysql);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
|
||||
static void print_version()
|
||||
{
|
||||
printf("%s Ver 3.3 for %s at %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE);
|
||||
printf("%s Ver 3.4 for %s at %s\n", my_progname, SYSTEM_TYPE, MACHINE_TYPE);
|
||||
}
|
||||
|
||||
|
||||
@ -1899,7 +1926,10 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
switch (optid) {
|
||||
#ifndef DBUG_OFF
|
||||
case '#':
|
||||
DBUG_PUSH(argument ? argument : default_dbug_option);
|
||||
if (!argument)
|
||||
argument= (char*) default_dbug_option;
|
||||
current_dbug_option= argument;
|
||||
DBUG_PUSH(argument);
|
||||
break;
|
||||
#endif
|
||||
#include <sslopt-case.h>
|
||||
@ -1931,8 +1961,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
one_table= 1;
|
||||
break;
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
#ifdef WHEN_FLASHBACK_REVIEW_READY
|
||||
case opt_flashback_review:
|
||||
@ -1950,8 +1984,15 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
opt_base64_output_mode= BASE64_OUTPUT_ALWAYS;
|
||||
else
|
||||
{
|
||||
opt_base64_output_mode= (enum_base64_output_mode)
|
||||
(find_type_or_exit(argument, &base64_output_mode_typelib, opt->name)-1);
|
||||
int val;
|
||||
|
||||
if ((val= find_type_with_warning(argument, &base64_output_mode_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
opt_base64_output_mode= (enum_base64_output_mode) (val - 1);
|
||||
}
|
||||
break;
|
||||
case OPT_REWRITE_DB: // db_from->db_to
|
||||
@ -2001,6 +2042,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
binlog_filter->add_db_rewrite(key, val);
|
||||
break;
|
||||
}
|
||||
case OPT_PRINT_ROW_COUNT:
|
||||
print_row_count_used= 1;
|
||||
break;
|
||||
case OPT_PRINT_ROW_EVENT_POSITIONS:
|
||||
print_row_event_positions_used= 1;
|
||||
break;
|
||||
case 'v':
|
||||
if (argument == disabled_my_option)
|
||||
verbose= 0;
|
||||
@ -2133,11 +2180,30 @@ static Exit_status dump_log_entries(const char* logname)
|
||||
fprintf(result_file, "DELIMITER /*!*/;\n");
|
||||
strmov(print_event_info.delimiter, "/*!*/;");
|
||||
|
||||
print_event_info.verbose= short_form ? 0 : verbose;
|
||||
if (short_form)
|
||||
{
|
||||
if (!print_row_event_positions_used)
|
||||
print_row_event_positions= 0;
|
||||
if (!print_row_count_used)
|
||||
print_row_count = 0;
|
||||
}
|
||||
if (opt_flashback)
|
||||
{
|
||||
if (!print_row_event_positions_used)
|
||||
print_row_event_positions= 0;
|
||||
}
|
||||
|
||||
print_event_info.verbose= short_form ? 0 : verbose;
|
||||
print_event_info.short_form= short_form;
|
||||
print_event_info.print_row_count= print_row_count;
|
||||
print_event_info.file= result_file;
|
||||
fflush(result_file);
|
||||
rc= (remote_opt ? dump_remote_log_entries(&print_event_info, logname) :
|
||||
dump_local_log_entries(&print_event_info, logname));
|
||||
|
||||
if (rc == ERROR_STOP)
|
||||
return rc;
|
||||
|
||||
/* Set delimiter back to semicolon */
|
||||
if (!opt_raw_mode && !opt_flashback)
|
||||
fprintf(result_file, "DELIMITER ;\n");
|
||||
@ -2208,6 +2274,8 @@ static Exit_status check_master_version()
|
||||
}
|
||||
|
||||
delete glob_description_event;
|
||||
glob_description_event= NULL;
|
||||
|
||||
switch (version) {
|
||||
case 3:
|
||||
glob_description_event= new Format_description_log_event(1);
|
||||
@ -2226,7 +2294,6 @@ static Exit_status check_master_version()
|
||||
glob_description_event= new Format_description_log_event(3);
|
||||
break;
|
||||
default:
|
||||
glob_description_event= NULL;
|
||||
error("Could not find server version: "
|
||||
"Master reported unrecognized MySQL version '%s'.", row[0]);
|
||||
goto err;
|
||||
@ -2467,6 +2534,7 @@ static Exit_status handle_event_raw_mode(PRINT_EVENT_INFO *print_event_info,
|
||||
error("Could not write into log file '%s'", out_file_name);
|
||||
DBUG_RETURN(ERROR_STOP);
|
||||
}
|
||||
print_event_info->file= result_file;
|
||||
|
||||
delete glob_description_event;
|
||||
glob_description_event= (Format_description_log_event*) ev;
|
||||
@ -2965,13 +3033,6 @@ int main(int argc, char** argv)
|
||||
|
||||
if (opt_base64_output_mode == BASE64_OUTPUT_UNSPEC)
|
||||
opt_base64_output_mode= BASE64_OUTPUT_AUTO;
|
||||
if (opt_base64_output_mode == BASE64_OUTPUT_ALWAYS)
|
||||
warning("The --base64-output=always flag and the --base64-output flag "
|
||||
"(with '=MODE' omitted), are deprecated. "
|
||||
"The output generated when these flags are used cannot be "
|
||||
"parsed by mysql 5.6.0 and later. "
|
||||
"The flags will be removed in a future version. "
|
||||
"Please use --base64-output=auto instead.");
|
||||
|
||||
my_set_max_open_files(open_files_limit);
|
||||
|
||||
@ -3084,7 +3145,7 @@ int main(int argc, char** argv)
|
||||
If enable flashback, need to print the events from the end to the
|
||||
beginning
|
||||
*/
|
||||
if (opt_flashback)
|
||||
if (opt_flashback && retval != ERROR_STOP)
|
||||
{
|
||||
for (uint i= binlog_events.elements; i > 0; --i)
|
||||
{
|
||||
@ -3099,12 +3160,15 @@ int main(int argc, char** argv)
|
||||
}
|
||||
|
||||
/* Set delimiter back to semicolon */
|
||||
if (!stop_event_string.is_empty())
|
||||
fprintf(result_file, "%s", stop_event_string.ptr());
|
||||
if (!opt_raw_mode && opt_flashback)
|
||||
fprintf(result_file, "DELIMITER ;\n");
|
||||
if (retval != ERROR_STOP)
|
||||
{
|
||||
if (!stop_event_string.is_empty())
|
||||
fprintf(result_file, "%s", stop_event_string.ptr());
|
||||
if (!opt_raw_mode && opt_flashback)
|
||||
fprintf(result_file, "DELIMITER ;\n");
|
||||
}
|
||||
|
||||
if (!opt_raw_mode)
|
||||
if (retval != ERROR_STOP && !opt_raw_mode)
|
||||
{
|
||||
/*
|
||||
Issue a ROLLBACK in case the last printed binlog was crashed and had half
|
||||
|
@ -367,8 +367,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
print_version(); exit(0);
|
||||
break;
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -961,8 +961,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
break;
|
||||
}
|
||||
case (int) OPT_MYSQL_PROTOCOL:
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
return 0;
|
||||
|
@ -249,8 +249,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
break;
|
||||
#endif
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
case '#':
|
||||
DBUG_PUSH(argument ? argument : "d:t:o");
|
||||
|
@ -330,8 +330,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
#endif
|
||||
break;
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
case '#':
|
||||
DBUG_PUSH(argument ? argument : "d:t:o");
|
||||
|
@ -779,8 +779,12 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)),
|
||||
#endif
|
||||
break;
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
break;
|
||||
case '#':
|
||||
DBUG_PUSH(argument ? argument : default_dbug_option);
|
||||
|
@ -701,6 +701,8 @@ public:
|
||||
void write(DYNAMIC_STRING* ds)
|
||||
{
|
||||
DBUG_ENTER("LogFile::write");
|
||||
DBUG_PRINT("enter", ("length: %u", (uint) ds->length));
|
||||
|
||||
DBUG_ASSERT(m_file);
|
||||
|
||||
if (ds->length == 0)
|
||||
@ -6959,6 +6961,7 @@ int read_command(struct st_command** command_ptr)
|
||||
if (parser.current_line < parser.read_lines)
|
||||
{
|
||||
get_dynamic(&q_lines, command_ptr, parser.current_line) ;
|
||||
DBUG_PRINT("info", ("query: %s", (*command_ptr)->query));
|
||||
DBUG_RETURN(0);
|
||||
}
|
||||
if (!(*command_ptr= command=
|
||||
@ -7320,8 +7323,12 @@ get_one_option(int optid, const struct my_option *opt, char *argument)
|
||||
exit(0);
|
||||
case OPT_MYSQL_PROTOCOL:
|
||||
#ifndef EMBEDDED_LIBRARY
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
#endif
|
||||
break;
|
||||
case '?':
|
||||
|
@ -128,6 +128,8 @@ IF(UNIX)
|
||||
CHECK_INCLUDE_FILES(libaio.h HAVE_LIBAIO_H)
|
||||
CHECK_LIBRARY_EXISTS(aio io_queue_init "" HAVE_LIBAIO)
|
||||
IF(NOT HAVE_LIBAIO_H OR NOT HAVE_LIBAIO)
|
||||
UNSET(HAVE_LIBAIO_H CACHE)
|
||||
UNSET(HAVE_LIBAIO CACHE)
|
||||
MESSAGE(FATAL_ERROR "
|
||||
aio is required on Linux, you need to install the required library:
|
||||
|
||||
|
@ -162,6 +162,8 @@ SET(INSTALL_MYSQLDATADIR_RPM "/var/lib/mysql")
|
||||
|
||||
SET(INSTALL_UNIX_ADDRDIR_RPM "${INSTALL_MYSQLDATADIR_RPM}/mysql.sock")
|
||||
SET(INSTALL_SYSTEMD_UNITDIR_RPM "/usr/lib/systemd/system")
|
||||
SET(INSTALL_SYSTEMD_SYSUSERSDIR_RPM "/usr/lib/sysusers.d")
|
||||
SET(INSTALL_SYSTEMD_TMPFILESDIR_RPM "/usr/lib/tmpfiles.d")
|
||||
|
||||
#
|
||||
# DEB layout
|
||||
@ -191,6 +193,8 @@ SET(INSTALL_MYSQLDATADIR_DEB "/var/lib/mysql")
|
||||
|
||||
SET(INSTALL_UNIX_ADDRDIR_DEB "/var/run/mysqld/mysqld.sock")
|
||||
SET(INSTALL_SYSTEMD_UNITDIR_DEB "/lib/systemd/system")
|
||||
SET(INSTALL_SYSTEMD_SYSUSERSDIR_DEB "/usr/lib/sysusers.d")
|
||||
SET(INSTALL_SYSTEMD_TMPFILESDIR_DEB "/usr/lib/tmpfiles.d")
|
||||
|
||||
#
|
||||
# SVR4 layout
|
||||
@ -232,7 +236,7 @@ SET(OLD_INSTALL_LAYOUT ${INSTALL_LAYOUT} CACHE INTERNAL "")
|
||||
# layout is chosen)
|
||||
FOREACH(var BIN SBIN LIB MYSQLSHARE SHARE PLUGIN INCLUDE SCRIPT DOC MAN SYSCONF SYSCONF2
|
||||
INFO MYSQLTEST SQLBENCH DOCREADME SUPPORTFILES MYSQLDATA UNIX_ADDR
|
||||
SYSTEMD_UNIT)
|
||||
SYSTEMD_UNIT SYSTEMD_SYSUSERS SYSTEMD_TMPFILES)
|
||||
SET(INSTALL_${var}DIR ${INSTALL_${var}DIR_${INSTALL_LAYOUT}}
|
||||
CACHE STRING "${var} installation directory" ${FORCE})
|
||||
MARK_AS_ADVANCED(INSTALL_${var}DIR)
|
||||
|
@ -55,6 +55,9 @@ ENDIF()
|
||||
CONFIGURE_FILE(${CMAKE_BINARY_DIR}/include/source_revision.h
|
||||
${PACKAGE_DIR}/include/source_revision.h COPYONLY)
|
||||
|
||||
CONFIGURE_FILE(${CMAKE_BINARY_DIR}/storage/rocksdb/rdb_source_revision.h
|
||||
${PACKAGE_DIR}/storage/rocksdb/rdb_source_revision.h COPYONLY)
|
||||
|
||||
IF(NOT GIT_EXECUTABLE)
|
||||
MESSAGE(STATUS "git not found or source dir is not a repo, use CPack")
|
||||
|
||||
|
@ -230,7 +230,7 @@ MACRO(MYSQL_ADD_PLUGIN)
|
||||
SET(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} PARENT_SCOPE)
|
||||
|
||||
IF (NOT ARG_CLIENT)
|
||||
SET(CPACK_RPM_${ARG_COMPONENT}_PACKAGE_REQUIRES "MariaDB${ver}" PARENT_SCOPE)
|
||||
SET(CPACK_RPM_${ARG_COMPONENT}_PACKAGE_REQUIRES "MariaDB-server${ver}" PARENT_SCOPE)
|
||||
ENDIF()
|
||||
# workarounds for cmake issues #13248 and #12864:
|
||||
SET(CPACK_RPM_${ARG_COMPONENT}_PACKAGE_PROVIDES "cmake_bug_13248" PARENT_SCOPE)
|
||||
|
@ -129,10 +129,6 @@ MACRO (MYSQL_CHECK_SSL)
|
||||
IF(OPENSSL_FOUND)
|
||||
SET(OPENSSL_LIBRARY ${OPENSSL_SSL_LIBRARY})
|
||||
INCLUDE(CheckSymbolExists)
|
||||
SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
|
||||
CHECK_SYMBOL_EXISTS(SHA512_DIGEST_LENGTH "openssl/sha.h"
|
||||
HAVE_SHA512_DIGEST_LENGTH)
|
||||
SET(CMAKE_REQUIRED_INCLUDES)
|
||||
SET(SSL_SOURCES "")
|
||||
SET(SSL_LIBRARIES ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
|
||||
IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")
|
||||
@ -151,6 +147,7 @@ MACRO (MYSQL_CHECK_SSL)
|
||||
SET(SSL_INTERNAL_INCLUDE_DIRS "")
|
||||
SET(SSL_DEFINES "-DHAVE_OPENSSL")
|
||||
|
||||
SET(CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
|
||||
SET(CMAKE_REQUIRED_LIBRARIES ${SSL_LIBRARIES})
|
||||
CHECK_SYMBOL_EXISTS(ERR_remove_thread_state "openssl/err.h"
|
||||
HAVE_ERR_remove_thread_state)
|
||||
@ -158,6 +155,8 @@ MACRO (MYSQL_CHECK_SSL)
|
||||
HAVE_EncryptAes128Ctr)
|
||||
CHECK_SYMBOL_EXISTS(EVP_aes_128_gcm "openssl/evp.h"
|
||||
HAVE_EncryptAes128Gcm)
|
||||
SET(CMAKE_REQUIRED_INCLUDES)
|
||||
SET(CMAKE_REQUIRED_LIBRARIES)
|
||||
ELSE()
|
||||
IF(WITH_SSL STREQUAL "system")
|
||||
MESSAGE(SEND_ERROR "Cannot find appropriate system libraries for SSL. Use WITH_SSL=bundled to enable SSL support")
|
||||
|
16
dbug/dbug.c
16
dbug/dbug.c
@ -128,7 +128,6 @@
|
||||
#define SANITY_CHECK_ON (1U << 12) /* Check memory on every DBUG_ENTER/RETURN */
|
||||
#define TRACE_ON (1U << 31) /* Trace enabled. MUST be the highest bit!*/
|
||||
|
||||
#define sf_sanity() (0)
|
||||
#define TRACING (cs->stack->flags & TRACE_ON)
|
||||
#define DEBUGGING (cs->stack->flags & DEBUG_ON)
|
||||
|
||||
@ -272,6 +271,11 @@ static void PushState(CODE_STATE *cs);
|
||||
static void FreeState (CODE_STATE *cs, int free_state);
|
||||
/* Test for tracing enabled */
|
||||
static int DoTrace(CODE_STATE *cs);
|
||||
static int default_my_dbug_sanity(void);
|
||||
|
||||
int (*dbug_sanity)(void)= default_my_dbug_sanity;
|
||||
|
||||
|
||||
/*
|
||||
return values of DoTrace.
|
||||
Can also be used as bitmask: ret & DO_TRACE
|
||||
@ -1121,7 +1125,7 @@ void _db_enter_(const char *_func_, const char *_file_,
|
||||
if (!TRACING) break;
|
||||
/* fall through */
|
||||
case DO_TRACE:
|
||||
if ((cs->stack->flags & SANITY_CHECK_ON) && sf_sanity())
|
||||
if ((cs->stack->flags & SANITY_CHECK_ON) && (*dbug_sanity)())
|
||||
cs->stack->flags &= ~SANITY_CHECK_ON;
|
||||
if (TRACING)
|
||||
{
|
||||
@ -1190,7 +1194,7 @@ void _db_return_(struct _db_stack_frame_ *_stack_frame_)
|
||||
if (DoTrace(cs) & DO_TRACE)
|
||||
{
|
||||
int org_cs_locked;
|
||||
if ((cs->stack->flags & SANITY_CHECK_ON) && sf_sanity())
|
||||
if ((cs->stack->flags & SANITY_CHECK_ON) && (*dbug_sanity)())
|
||||
cs->stack->flags &= ~SANITY_CHECK_ON;
|
||||
if (TRACING)
|
||||
{
|
||||
@ -2248,6 +2252,12 @@ const char* _db_get_func_(void)
|
||||
return cs->func;
|
||||
}
|
||||
|
||||
|
||||
static int default_my_dbug_sanity(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
/*
|
||||
|
4
debian/autobake-deb.sh
vendored
4
debian/autobake-deb.sh
vendored
@ -80,11 +80,11 @@ GCCVERSION=$(gcc -dumpversion | sed -e 's/\.\([0-9][0-9]\)/\1/g' -e 's/\.\([0-9]
|
||||
# x86 32 bit.
|
||||
if [[ $GCCVERSION -lt 40800 ]] || [[ $(arch) =~ i[346]86 ]] || [[ $TRAVIS ]]
|
||||
then
|
||||
sed '/Package: mariadb-plugin-rocksdb/,+11d' -i debian/control
|
||||
sed '/Package: mariadb-plugin-rocksdb/,+13d' -i debian/control
|
||||
fi
|
||||
if [[ $GCCVERSION -lt 40800 ]] || [[ $TRAVIS ]]
|
||||
then
|
||||
sed '/Package: mariadb-plugin-aws-key-management-10.2/,+13d' -i debian/control
|
||||
sed '/Package: mariadb-plugin-aws-key-management-10.3/,+15d' -i debian/control
|
||||
fi
|
||||
|
||||
|
||||
|
27
debian/control
vendored
27
debian/control
vendored
@ -452,7 +452,7 @@ Description: MariaDB database client (metapackage depending on the latest versio
|
||||
Package: mariadb-plugin-connect
|
||||
Architecture: any
|
||||
Depends: libxml2,
|
||||
mariadb-server-10.3,
|
||||
mariadb-server-10.3 (= ${binary:Version}),
|
||||
unixodbc,
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
@ -470,7 +470,9 @@ Description: Connect storage engine for MariaDB
|
||||
|
||||
Package: mariadb-plugin-rocksdb
|
||||
Architecture: any
|
||||
Depends: mariadb-server-10.3, ${misc:Depends}, ${shlibs:Depends}
|
||||
Depends: mariadb-server-10.3 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: mariadb-rocksdb-engine-10.2,
|
||||
mariadb-rocksdb-engine-10.3
|
||||
Replaces: mariadb-rocksdb-engine-10.2,
|
||||
@ -482,7 +484,10 @@ Description: RocksDB storage engine for MariaDB
|
||||
|
||||
Package: mariadb-plugin-oqgraph
|
||||
Architecture: any
|
||||
Depends: libjudydebian1, mariadb-server-10.3, ${misc:Depends}, ${shlibs:Depends}
|
||||
Depends: libjudydebian1,
|
||||
mariadb-server-10.3 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: mariadb-oqgraph-engine-10.1,
|
||||
mariadb-oqgraph-engine-10.2,
|
||||
mariadb-oqgraph-engine-10.3
|
||||
@ -496,7 +501,9 @@ Description: OQGraph storage engine for MariaDB
|
||||
|
||||
Package: mariadb-plugin-tokudb
|
||||
Architecture: any
|
||||
Depends: mariadb-server-10.3, ${misc:Depends}, ${shlibs:Depends}
|
||||
Depends: mariadb-server-10.3 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: mariadb-server-10.0,
|
||||
mariadb-server-10.1,
|
||||
mariadb-server-10.2,
|
||||
@ -513,7 +520,9 @@ Description: TokuDB storage engine for MariaDB
|
||||
|
||||
Package: mariadb-plugin-mroonga
|
||||
Architecture: any
|
||||
Depends: mariadb-server-10.3, ${misc:Depends}, ${shlibs:Depends}
|
||||
Depends: mariadb-server-10.3 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: mariadb-server-10.0,
|
||||
mariadb-server-10.1,
|
||||
mariadb-server-10.2,
|
||||
@ -529,7 +538,9 @@ Description: Mroonga storage engine for MariaDB
|
||||
|
||||
Package: mariadb-plugin-spider
|
||||
Architecture: any
|
||||
Depends: mariadb-server-10.3, ${misc:Depends}, ${shlibs:Depends}
|
||||
Depends: mariadb-server-10.3 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: mariadb-server-10.0,
|
||||
mariadb-server-10.1,
|
||||
mariadb-server-10.2,
|
||||
@ -546,7 +557,9 @@ Description: Spider storage engine for MariaDB
|
||||
|
||||
Package: mariadb-plugin-cassandra
|
||||
Architecture: any
|
||||
Depends: mariadb-server-10.3, ${misc:Depends}, ${shlibs:Depends}
|
||||
Depends: mariadb-server-10.3 (= ${binary:Version}),
|
||||
${misc:Depends},
|
||||
${shlibs:Depends}
|
||||
Breaks: mariadb-server-10.0,
|
||||
mariadb-server-10.1,
|
||||
mariadb-server-10.2,
|
||||
|
19
debian/rules
vendored
19
debian/rules
vendored
@ -45,11 +45,6 @@ else
|
||||
TESTSUITE_FAIL_CMD:=exit 1
|
||||
endif
|
||||
|
||||
# Skip TokuDB if arch is not amd64
|
||||
ifneq ($(ARCH), amd64)
|
||||
CMAKEFLAGS += -DWITHOUT_TOKUDB=true
|
||||
endif
|
||||
|
||||
# Add support for verbose builds
|
||||
MAKEFLAGS += VERBOSE=1
|
||||
|
||||
@ -119,19 +114,15 @@ override_dh_auto_install:
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
|
||||
# If TokuDB plugin was not built skip the package
|
||||
[ -f $(BUILDDIR)/storage/tokudb/ha_tokudb.so ] || sed -i -e "/Package: mariadb-plugin-tokudb/,+16d" debian/control
|
||||
|
||||
# If Mroonga plugin was not built skip the package
|
||||
[ -f $(BUILDDIR)/storage/mroonga/ha_mroonga.so ] || sed -i -e "/Package: mariadb-plugin-mroonga/,+15d" debian/control
|
||||
# Skip TokuDB if arch is not amd64
|
||||
ifneq ($(ARCH), amd64)
|
||||
sed -i -e "/Package: mariadb-plugin-tokudb/,+18d" debian/control
|
||||
endif
|
||||
|
||||
# If libthrift-dev was available (manually installed, as it is
|
||||
# not in Debian) and ha_cassandra.so was thus built, create package,
|
||||
# otherwise skip it.
|
||||
[ -f $(BUILDDIR)/storage/cassandra/ha_cassandra.so ] || sed -i -e "/Package: mariadb-plugin-cassandra/,+18d" debian/control
|
||||
|
||||
# If Spider plugin was not built skip the package
|
||||
[ -f $(BUILDDIR)/storage/spider/ha_spider.so ] || sed -i -e "/Package: mariadb-plugin-spider/,+16d" debian/control
|
||||
[ -f $(BUILDDIR)/storage/cassandra/ha_cassandra.so ] || sed -i -e "/Package: mariadb-plugin-cassandra/,+20d" debian/control
|
||||
|
||||
# Copy systemd files to a location available for dh_installinit
|
||||
cp $(BUILDDIR)/support-files/mariadb.service debian/mariadb-server-10.3.mariadb.service
|
||||
|
@ -1422,8 +1422,12 @@ xb_get_one_option(int optid,
|
||||
case OPT_PROTOCOL:
|
||||
if (argument)
|
||||
{
|
||||
opt_protocol= find_type_or_exit(argument, &sql_protocol_typelib,
|
||||
opt->name);
|
||||
if ((opt_protocol= find_type_with_warning(argument, &sql_protocol_typelib,
|
||||
opt->name)) <= 0)
|
||||
{
|
||||
sf_leaking_memory= 1; /* no memory leak reports here */
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
break;
|
||||
#include "sslopt-case.h"
|
||||
|
@ -64,15 +64,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
my_str_malloc(), my_str_realloc() and my_str_free() are assigned to
|
||||
implementations in strings/alloc.c, but can be overridden in
|
||||
the calling program.
|
||||
*/
|
||||
extern void *(*my_str_malloc)(size_t);
|
||||
extern void *(*my_str_realloc)(void *, size_t);
|
||||
extern void (*my_str_free)(void *);
|
||||
|
||||
#ifdef DBUG_OFF
|
||||
#if defined(HAVE_STPCPY) && MY_GNUC_PREREQ(3, 4) && !defined(__INTEL_COMPILER)
|
||||
#define strmov(A,B) __builtin_stpcpy((A),(B))
|
||||
|
@ -63,6 +63,7 @@ extern void _db_flush_(void);
|
||||
extern void dbug_swap_code_state(void **code_state_store);
|
||||
extern void dbug_free_code_state(void **code_state_store);
|
||||
extern const char* _db_get_func_(void);
|
||||
extern int (*dbug_sanity)(void);
|
||||
|
||||
#define DBUG_LEAVE do { \
|
||||
_db_stack_frame_.line= __LINE__; \
|
||||
|
@ -157,6 +157,7 @@ char *guess_malloc_library();
|
||||
/* If we have our own safemalloc (for debugging) */
|
||||
#if defined(SAFEMALLOC)
|
||||
void sf_report_leaked_memory(my_thread_id id);
|
||||
int sf_sanity();
|
||||
extern my_thread_id (*sf_malloc_dbug_id)(void);
|
||||
#define SAFEMALLOC_REPORT_MEMORY(X) sf_report_leaked_memory(X)
|
||||
#else
|
||||
@ -550,12 +551,13 @@ static inline int my_b_get(IO_CACHE *info)
|
||||
return _my_b_get(info);
|
||||
}
|
||||
|
||||
/* my_b_write_byte dosn't have any err-check */
|
||||
static inline void my_b_write_byte(IO_CACHE *info, uchar chr)
|
||||
static inline my_bool my_b_write_byte(IO_CACHE *info, uchar chr)
|
||||
{
|
||||
if (info->write_pos >= info->write_end)
|
||||
my_b_flush_io_cache(info, 1);
|
||||
if (my_b_flush_io_cache(info, 1))
|
||||
return 1;
|
||||
*info->write_pos++= chr;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -823,9 +825,9 @@ extern int end_io_cache(IO_CACHE *info);
|
||||
extern void my_b_seek(IO_CACHE *info,my_off_t pos);
|
||||
extern size_t my_b_gets(IO_CACHE *info, char *to, size_t max_length);
|
||||
extern my_off_t my_b_filelength(IO_CACHE *info);
|
||||
extern size_t my_b_write_backtick_quote(IO_CACHE *info, const char *str,
|
||||
size_t len);
|
||||
extern size_t my_b_printf(IO_CACHE *info, const char* fmt, ...);
|
||||
extern my_bool my_b_write_backtick_quote(IO_CACHE *info, const char *str,
|
||||
size_t len);
|
||||
extern my_bool my_b_printf(IO_CACHE *info, const char* fmt, ...);
|
||||
extern size_t my_b_vprintf(IO_CACHE *info, const char* fmt, va_list ap);
|
||||
extern my_bool open_cached_file(IO_CACHE *cache,const char *dir,
|
||||
const char *prefix, size_t cache_size,
|
||||
|
@ -252,8 +252,6 @@ typedef struct st_typelib {
|
||||
extern my_ulonglong find_typeset(char *x, TYPELIB *typelib,int *error_position);
|
||||
extern int find_type_with_warning(const char *x, TYPELIB *typelib,
|
||||
const char *option);
|
||||
extern int find_type_or_exit(const char *x, TYPELIB *typelib,
|
||||
const char *option);
|
||||
extern int find_type(const char *x, const TYPELIB *typelib, unsigned int flags);
|
||||
extern void make_type(char *to,unsigned int nr,TYPELIB *typelib);
|
||||
extern const char *get_type(TYPELIB *typelib,unsigned int nr);
|
||||
|
@ -30,8 +30,6 @@ typedef struct st_typelib { /* Different types saved here */
|
||||
extern my_ulonglong find_typeset(char *x, TYPELIB *typelib,int *error_position);
|
||||
extern int find_type_with_warning(const char *x, TYPELIB *typelib,
|
||||
const char *option);
|
||||
extern int find_type_or_exit(const char *x, TYPELIB *typelib,
|
||||
const char *option);
|
||||
#define FIND_TYPE_BASIC 0
|
||||
/** makes @c find_type() require the whole name, no prefix */
|
||||
#define FIND_TYPE_NO_PREFIX (1U << 0)
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 7e53ab369815590ff92913b581d43eb7786f2fe2
|
||||
Subproject commit fe129ed39f33ba2b430aac91473baee84de88b12
|
@ -119,6 +119,7 @@ SET(SQL_EMBEDDED_SOURCES emb_qcache.cc libmysqld.c lib_sql.cc
|
||||
../sql/session_tracker.cc
|
||||
../sql/proxy_protocol.cc
|
||||
../sql/sql_tvc.cc ../sql/sql_tvc.h
|
||||
../sql/opt_split.cc
|
||||
../sql/item_vers.cc
|
||||
../sql/vtmd.cc
|
||||
${GEN_SOURCES}
|
||||
|
@ -121,6 +121,9 @@ mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
|
||||
my_free(mysql->options.my_cnf_file);
|
||||
my_free(mysql->options.my_cnf_group);
|
||||
mysql->options.my_cnf_file=mysql->options.my_cnf_group=0;
|
||||
|
||||
if (mysql->options.protocol == UINT_MAX32)
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!db || !db[0])
|
||||
|
186
man/mysqladmin.1
186
man/mysqladmin.1
@ -1,6 +1,6 @@
|
||||
'\" t
|
||||
.\"
|
||||
.TH "\FBMYSQLADMIN\FR" "1" "9 May 2017" "MariaDB 10\&.3" "MariaDB Database System"
|
||||
.TH "\FBMYSQLADMIN\FR" "1" "28 December 2017" "MariaDB 10\&.3" "MariaDB Database System"
|
||||
.\" -----------------------------------------------------------------
|
||||
.\" * set default formatting
|
||||
.\" -----------------------------------------------------------------
|
||||
@ -106,6 +106,97 @@ Display the server status variables and their values\&.
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-all\-statistics
|
||||
.sp
|
||||
Flush all statistics tables\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-all\-status
|
||||
.sp
|
||||
Flush all status and statistics\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-binary\-log
|
||||
.sp
|
||||
Flush the binary log\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-client\-statistics
|
||||
.sp
|
||||
Flush client statistics\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-engine\-log
|
||||
.sp
|
||||
Flush engine log\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-error\-log
|
||||
.sp
|
||||
Flush error log\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-general\-log
|
||||
.sp
|
||||
Flush general query log\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-hosts
|
||||
.sp
|
||||
Flush all information in the host cache\&.
|
||||
@ -119,6 +210,19 @@ Flush all information in the host cache\&.
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-index\-statistics
|
||||
.sp
|
||||
Flush index statistics\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-logs
|
||||
.sp
|
||||
Flush all logs\&.
|
||||
@ -146,6 +250,32 @@ reload)\&.
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-relay\-log
|
||||
.sp
|
||||
Flush relay log\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-slow\-log
|
||||
.sp
|
||||
Flush slow query log\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-status
|
||||
.sp
|
||||
Clear status variables\&.
|
||||
@ -159,6 +289,19 @@ Clear status variables\&.
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-table\-statistics
|
||||
.sp
|
||||
Flush table statistics\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-tables
|
||||
.sp
|
||||
Flush all tables\&.
|
||||
@ -185,6 +328,19 @@ Flush the thread cache\&.
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
flush\-user\-resources
|
||||
.sp
|
||||
Flush user resources\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
kill \fIid\fR,\fIid\fR,\&.\&.\&.
|
||||
.sp
|
||||
Kill server threads\&. If multiple thread ID values are given, there must be no spaces in the list\&.
|
||||
@ -344,6 +500,19 @@ Stop the server\&.
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
start\-all\-slaves
|
||||
.sp
|
||||
Start all slaves\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
start\-slave
|
||||
.sp
|
||||
Start replication on a slave server\&.
|
||||
@ -370,6 +539,19 @@ Display a short server status message\&.
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
stop\-all\-slaves
|
||||
.sp
|
||||
Stop all slaves\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
.ie n \{\
|
||||
\h'-04'\(bu\h'+03'\c
|
||||
.\}
|
||||
.el \{\
|
||||
.sp -1
|
||||
.IP \(bu 2.3
|
||||
.\}
|
||||
stop\-slave
|
||||
.sp
|
||||
Stop replication on a slave server\&.
|
||||
@ -821,7 +1003,7 @@ Connect to the MariaDB server on the given host\&.
|
||||
\fB\-\-local\fR,
|
||||
\fB\-l\fR
|
||||
.sp
|
||||
Suppress the SQL command(s) from being written to the binary log by enabling sql_log_bin=0 for the session\&.
|
||||
Suppress the SQL command(s) from being written to the binary log by using FLUSH LOCAL or enabling sql_log_bin=0 for the session\&.
|
||||
.RE
|
||||
.sp
|
||||
.RS 4
|
||||
|
@ -1,420 +0,0 @@
|
||||
--source include/have_innodb.inc
|
||||
--source include/not_embedded.inc
|
||||
|
||||
eval SET GLOBAL innodb_file_per_table=$file_per_table;
|
||||
eval SET GLOBAL innodb_file_format=$file_format;
|
||||
|
||||
#
|
||||
# This test is the same as innodb_gis_rollback
|
||||
#
|
||||
|
||||
eval CREATE TABLE t1 (
|
||||
id bigint(12) unsigned NOT NULL auto_increment,
|
||||
c2 varchar(15) collate utf8_bin DEFAULT NULL,
|
||||
c1 varchar(15) collate utf8_bin DEFAULT NULL,
|
||||
c3 varchar(10) collate utf8_bin DEFAULT NULL,
|
||||
spatial_point point NOT NULL,
|
||||
PRIMARY KEY(id),
|
||||
SPATIAL KEY (spatial_point)
|
||||
) ROW_FORMAT=$row_format ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
|
||||
('y', 's', 'j', ST_GeomFromText('POINT(167 74)')),
|
||||
('r', 'n', 'd', ST_GeomFromText('POINT(215 118)')),
|
||||
('g', 'n', 'e', ST_GeomFromText('POINT(203 98)')),
|
||||
('h', 'd', 'd', ST_GeomFromText('POINT(54 193)')),
|
||||
('r', 'x', 'y', ST_GeomFromText('POINT(47 69)')),
|
||||
('t', 'q', 'r', ST_GeomFromText('POINT(109 42)')),
|
||||
('a', 'z', 'd', ST_GeomFromText('POINT(0 154)')),
|
||||
('x', 'v', 'o', ST_GeomFromText('POINT(174 131)')),
|
||||
('b', 'r', 'a', ST_GeomFromText('POINT(114 253)')),
|
||||
('x', 'z', 'i', ST_GeomFromText('POINT(163 21)')),
|
||||
('w', 'p', 'i', ST_GeomFromText('POINT(42 102)')),
|
||||
('g', 'j', 'j', ST_GeomFromText('POINT(170 133)')),
|
||||
('m', 'g', 'n', ST_GeomFromText('POINT(28 22)')),
|
||||
('b', 'z', 'h', ST_GeomFromText('POINT(174 28)')),
|
||||
('q', 'k', 'f', ST_GeomFromText('POINT(233 73)')),
|
||||
('w', 'w', 'a', ST_GeomFromText('POINT(124 200)')),
|
||||
('t', 'j', 'w', ST_GeomFromText('POINT(252 101)')),
|
||||
('d', 'r', 'd', ST_GeomFromText('POINT(98 18)')),
|
||||
('w', 'o', 'y', ST_GeomFromText('POINT(165 31)')),
|
||||
('y', 'h', 't', ST_GeomFromText('POINT(14 220)')),
|
||||
('d', 'p', 'u', ST_GeomFromText('POINT(223 196)')),
|
||||
('g', 'y', 'g', ST_GeomFromText('POINT(207 96)')),
|
||||
('x', 'm', 'n', ST_GeomFromText('POINT(214 3)')),
|
||||
('g', 'v', 'e', ST_GeomFromText('POINT(140 205)')),
|
||||
('g', 'm', 'm', ST_GeomFromText('POINT(10 236)')),
|
||||
('i', 'r', 'j', ST_GeomFromText('POINT(137 228)')),
|
||||
('w', 's', 'p', ST_GeomFromText('POINT(115 6)')),
|
||||
('o', 'n', 'k', ST_GeomFromText('POINT(158 129)')),
|
||||
('j', 'h', 'l', ST_GeomFromText('POINT(129 72)')),
|
||||
('f', 'x', 'l', ST_GeomFromText('POINT(139 207)')),
|
||||
('u', 'd', 'n', ST_GeomFromText('POINT(125 109)')),
|
||||
('b', 'a', 'z', ST_GeomFromText('POINT(30 32)')),
|
||||
('m', 'h', 'o', ST_GeomFromText('POINT(251 251)')),
|
||||
('f', 'r', 'd', ST_GeomFromText('POINT(243 211)')),
|
||||
('b', 'd', 'r', ST_GeomFromText('POINT(232 80)')),
|
||||
('g', 'k', 'v', ST_GeomFromText('POINT(15 100)')),
|
||||
('i', 'f', 'c', ST_GeomFromText('POINT(109 66)')),
|
||||
('r', 't', 'j', ST_GeomFromText('POINT(178 6)')),
|
||||
('y', 'n', 'f', ST_GeomFromText('POINT(233 211)')),
|
||||
('f', 'y', 'm', ST_GeomFromText('POINT(99 16)')),
|
||||
('z', 'q', 'l', ST_GeomFromText('POINT(39 49)')),
|
||||
('j', 'c', 'r', ST_GeomFromText('POINT(75 187)')),
|
||||
('c', 'y', 'y', ST_GeomFromText('POINT(246 253)')),
|
||||
('w', 'u', 'd', ST_GeomFromText('POINT(56 190)')),
|
||||
('n', 'q', 'm', ST_GeomFromText('POINT(73 149)')),
|
||||
('d', 'y', 'a', ST_GeomFromText('POINT(134 6)')),
|
||||
('z', 's', 'w', ST_GeomFromText('POINT(216 225)')),
|
||||
('d', 'u', 'k', ST_GeomFromText('POINT(132 70)')),
|
||||
('f', 'v', 't', ST_GeomFromText('POINT(187 141)')),
|
||||
('r', 'r', 'a', ST_GeomFromText('POINT(152 39)')),
|
||||
('y', 'p', 'o', ST_GeomFromText('POINT(45 27)')),
|
||||
('p', 'n', 'm', ST_GeomFromText('POINT(228 148)')),
|
||||
('e', 'g', 'e', ST_GeomFromText('POINT(88 81)')),
|
||||
('m', 'a', 'h', ST_GeomFromText('POINT(35 29)')),
|
||||
('m', 'h', 'f', ST_GeomFromText('POINT(30 71)')),
|
||||
('h', 'k', 'i', ST_GeomFromText('POINT(244 78)')),
|
||||
('z', 'v', 'd', ST_GeomFromText('POINT(241 38)')),
|
||||
('q', 'l', 'j', ST_GeomFromText('POINT(13 71)')),
|
||||
('s', 'p', 'g', ST_GeomFromText('POINT(108 38)')),
|
||||
('q', 's', 'j', ST_GeomFromText('POINT(92 101)')),
|
||||
('l', 'h', 'g', ST_GeomFromText('POINT(120 78)')),
|
||||
('w', 't', 'b', ST_GeomFromText('POINT(193 109)')),
|
||||
('b', 's', 's', ST_GeomFromText('POINT(223 211)')),
|
||||
('w', 'w', 'y', ST_GeomFromText('POINT(122 42)')),
|
||||
('q', 'c', 'c', ST_GeomFromText('POINT(104 102)')),
|
||||
('w', 'g', 'n', ST_GeomFromText('POINT(213 120)')),
|
||||
('p', 'q', 'a', ST_GeomFromText('POINT(247 148)')),
|
||||
('c', 'z', 'e', ST_GeomFromText('POINT(18 106)')),
|
||||
('z', 'u', 'n', ST_GeomFromText('POINT(70 133)')),
|
||||
('j', 'n', 'x', ST_GeomFromText('POINT(232 13)')),
|
||||
('e', 'h', 'f', ST_GeomFromText('POINT(22 135)')),
|
||||
('w', 'l', 'f', ST_GeomFromText('POINT(9 180)')),
|
||||
('a', 'v', 'q', ST_GeomFromText('POINT(163 228)')),
|
||||
('i', 'z', 'o', ST_GeomFromText('POINT(180 100)')),
|
||||
('e', 'c', 'l', ST_GeomFromText('POINT(182 231)')),
|
||||
('c', 'k', 'o', ST_GeomFromText('POINT(19 60)')),
|
||||
('q', 'f', 'p', ST_GeomFromText('POINT(79 95)')),
|
||||
('m', 'd', 'r', ST_GeomFromText('POINT(3 127)')),
|
||||
('m', 'e', 't', ST_GeomFromText('POINT(136 154)')),
|
||||
('w', 'w', 'w', ST_GeomFromText('POINT(102 15)')),
|
||||
('l', 'n', 'q', ST_GeomFromText('POINT(71 196)')),
|
||||
('p', 'k', 'c', ST_GeomFromText('POINT(47 139)')),
|
||||
('j', 'o', 'r', ST_GeomFromText('POINT(177 128)')),
|
||||
('j', 'q', 'a', ST_GeomFromText('POINT(170 6)')),
|
||||
('b', 'a', 'o', ST_GeomFromText('POINT(63 211)')),
|
||||
('g', 's', 'o', ST_GeomFromText('POINT(144 251)')),
|
||||
('w', 'u', 'w', ST_GeomFromText('POINT(221 214)')),
|
||||
('g', 'a', 'm', ST_GeomFromText('POINT(14 102)')),
|
||||
('u', 'q', 'z', ST_GeomFromText('POINT(86 200)')),
|
||||
('k', 'a', 'm', ST_GeomFromText('POINT(144 222)')),
|
||||
('j', 'u', 'r', ST_GeomFromText('POINT(216 142)')),
|
||||
('q', 'k', 'v', ST_GeomFromText('POINT(121 236)')),
|
||||
('p', 'o', 'r', ST_GeomFromText('POINT(108 102)')),
|
||||
('b', 'd', 'x', ST_GeomFromText('POINT(127 198)')),
|
||||
('k', 's', 'a', ST_GeomFromText('POINT(2 150)')),
|
||||
('f', 'm', 'f', ST_GeomFromText('POINT(160 191)')),
|
||||
('q', 'y', 'x', ST_GeomFromText('POINT(98 111)')),
|
||||
('o', 'f', 'm', ST_GeomFromText('POINT(232 218)')),
|
||||
('c', 'w', 'j', ST_GeomFromText('POINT(156 165)')),
|
||||
('s', 'q', 'v', ST_GeomFromText('POINT(98 161)'));
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
|
||||
('f', 'y', 'p', ST_GeomFromText('POINT(109 235)')),
|
||||
('b', 'e', 'v', ST_GeomFromText('POINT(20 48)')),
|
||||
('i', 'u', 'f', ST_GeomFromText('POINT(15 55)')),
|
||||
('o', 'r', 'z', ST_GeomFromText('POINT(105 64)')),
|
||||
('a', 'p', 'a', ST_GeomFromText('POINT(142 236)')),
|
||||
('g', 'i', 'k', ST_GeomFromText('POINT(10 49)')),
|
||||
('x', 'z', 'x', ST_GeomFromText('POINT(192 200)')),
|
||||
('c', 'v', 'r', ST_GeomFromText('POINT(94 168)')),
|
||||
('y', 'z', 'e', ST_GeomFromText('POINT(141 51)')),
|
||||
('h', 'm', 'd', ST_GeomFromText('POINT(35 251)')),
|
||||
('v', 'm', 'q', ST_GeomFromText('POINT(44 90)')),
|
||||
('j', 'l', 'z', ST_GeomFromText('POINT(67 237)')),
|
||||
('i', 'v', 'a', ST_GeomFromText('POINT(75 14)')),
|
||||
('b', 'q', 't', ST_GeomFromText('POINT(153 33)')),
|
||||
('e', 'm', 'a', ST_GeomFromText('POINT(247 49)')),
|
||||
('l', 'y', 'g', ST_GeomFromText('POINT(56 203)')),
|
||||
('v', 'o', 'r', ST_GeomFromText('POINT(90 54)')),
|
||||
('r', 'n', 'd', ST_GeomFromText('POINT(135 83)')),
|
||||
('j', 't', 'u', ST_GeomFromText('POINT(174 239)')),
|
||||
('u', 'n', 'g', ST_GeomFromText('POINT(104 191)')),
|
||||
('p', 'q', 'y', ST_GeomFromText('POINT(63 171)')),
|
||||
('o', 'q', 'p', ST_GeomFromText('POINT(192 103)')),
|
||||
('f', 'x', 'e', ST_GeomFromText('POINT(244 30)')),
|
||||
('n', 'x', 'c', ST_GeomFromText('POINT(92 103)')),
|
||||
('r', 'q', 'z', ST_GeomFromText('POINT(166 20)')),
|
||||
('s', 'a', 'j', ST_GeomFromText('POINT(137 205)')),
|
||||
('z', 't', 't', ST_GeomFromText('POINT(99 134)')),
|
||||
('o', 'm', 'j', ST_GeomFromText('POINT(217 3)')),
|
||||
('n', 'h', 'j', ST_GeomFromText('POINT(211 17)')),
|
||||
('v', 'v', 'a', ST_GeomFromText('POINT(41 137)')),
|
||||
('q', 'o', 'j', ST_GeomFromText('POINT(5 92)')),
|
||||
('z', 'y', 'e', ST_GeomFromText('POINT(175 212)')),
|
||||
('j', 'z', 'h', ST_GeomFromText('POINT(224 194)')),
|
||||
('a', 'g', 'm', ST_GeomFromText('POINT(31 119)')),
|
||||
('p', 'c', 'f', ST_GeomFromText('POINT(17 221)')),
|
||||
('t', 'h', 'k', ST_GeomFromText('POINT(26 203)')),
|
||||
('u', 'w', 'p', ST_GeomFromText('POINT(47 185)')),
|
||||
('z', 'a', 'c', ST_GeomFromText('POINT(61 133)')),
|
||||
('u', 'k', 'a', ST_GeomFromText('POINT(210 115)')),
|
||||
('k', 'f', 'h', ST_GeomFromText('POINT(125 113)')),
|
||||
('t', 'v', 'y', ST_GeomFromText('POINT(12 239)')),
|
||||
('u', 'v', 'd', ST_GeomFromText('POINT(90 24)')),
|
||||
('m', 'y', 'w', ST_GeomFromText('POINT(25 243)')),
|
||||
('d', 'n', 'g', ST_GeomFromText('POINT(122 92)')),
|
||||
('z', 'm', 'f', ST_GeomFromText('POINT(235 110)')),
|
||||
('q', 'd', 'f', ST_GeomFromText('POINT(233 217)')),
|
||||
('a', 'v', 'u', ST_GeomFromText('POINT(69 59)')),
|
||||
('x', 'k', 'p', ST_GeomFromText('POINT(240 14)')),
|
||||
('i', 'v', 'r', ST_GeomFromText('POINT(154 42)')),
|
||||
('w', 'h', 'l', ST_GeomFromText('POINT(178 156)')),
|
||||
('d', 'h', 'n', ST_GeomFromText('POINT(65 157)')),
|
||||
('c', 'k', 'z', ST_GeomFromText('POINT(62 33)')),
|
||||
('e', 'l', 'w', ST_GeomFromText('POINT(162 1)')),
|
||||
('r', 'f', 'i', ST_GeomFromText('POINT(127 71)')),
|
||||
('q', 'm', 'c', ST_GeomFromText('POINT(63 118)')),
|
||||
('c', 'h', 'u', ST_GeomFromText('POINT(205 203)')),
|
||||
('d', 't', 'p', ST_GeomFromText('POINT(234 87)')),
|
||||
('s', 'g', 'h', ST_GeomFromText('POINT(149 34)')),
|
||||
('o', 'b', 'q', ST_GeomFromText('POINT(159 179)')),
|
||||
('k', 'u', 'f', ST_GeomFromText('POINT(202 254)')),
|
||||
('u', 'f', 'g', ST_GeomFromText('POINT(70 15)')),
|
||||
('x', 's', 'b', ST_GeomFromText('POINT(25 181)')),
|
||||
('s', 'c', 'g', ST_GeomFromText('POINT(252 17)')),
|
||||
('a', 'c', 'f', ST_GeomFromText('POINT(89 67)')),
|
||||
('r', 'e', 'q', ST_GeomFromText('POINT(55 54)')),
|
||||
('f', 'i', 'k', ST_GeomFromText('POINT(178 230)')),
|
||||
('p', 'e', 'l', ST_GeomFromText('POINT(198 28)')),
|
||||
('w', 'o', 'd', ST_GeomFromText('POINT(204 189)')),
|
||||
('c', 'a', 'g', ST_GeomFromText('POINT(230 178)')),
|
||||
('r', 'o', 'e', ST_GeomFromText('POINT(61 116)')),
|
||||
('w', 'a', 'a', ST_GeomFromText('POINT(178 237)')),
|
||||
('v', 'd', 'e', ST_GeomFromText('POINT(70 85)')),
|
||||
('k', 'c', 'e', ST_GeomFromText('POINT(147 118)')),
|
||||
('d', 'q', 't', ST_GeomFromText('POINT(218 77)')),
|
||||
('k', 'g', 'f', ST_GeomFromText('POINT(192 113)')),
|
||||
('w', 'n', 'e', ST_GeomFromText('POINT(92 124)')),
|
||||
('r', 'm', 'q', ST_GeomFromText('POINT(130 65)')),
|
||||
('o', 'r', 'r', ST_GeomFromText('POINT(174 233)')),
|
||||
('k', 'n', 't', ST_GeomFromText('POINT(175 147)')),
|
||||
('q', 'm', 'r', ST_GeomFromText('POINT(18 208)')),
|
||||
('l', 'd', 'i', ST_GeomFromText('POINT(13 104)')),
|
||||
('w', 'o', 'y', ST_GeomFromText('POINT(207 39)')),
|
||||
('p', 'u', 'o', ST_GeomFromText('POINT(114 31)')),
|
||||
('y', 'a', 'p', ST_GeomFromText('POINT(106 59)')),
|
||||
('a', 'x', 'z', ST_GeomFromText('POINT(17 57)')),
|
||||
('v', 'h', 'x', ST_GeomFromText('POINT(170 13)')),
|
||||
('t', 's', 'u', ST_GeomFromText('POINT(84 18)')),
|
||||
('z', 'z', 'f', ST_GeomFromText('POINT(250 197)')),
|
||||
('l', 'z', 't', ST_GeomFromText('POINT(59 80)')),
|
||||
('j', 'g', 's', ST_GeomFromText('POINT(54 26)')),
|
||||
('g', 'v', 'm', ST_GeomFromText('POINT(89 98)')),
|
||||
('q', 'v', 'b', ST_GeomFromText('POINT(39 240)')),
|
||||
('x', 'k', 'v', ST_GeomFromText('POINT(246 207)')),
|
||||
('k', 'u', 'i', ST_GeomFromText('POINT(105 111)')),
|
||||
('w', 'z', 's', ST_GeomFromText('POINT(235 8)')),
|
||||
('d', 'd', 'd', ST_GeomFromText('POINT(105 4)')),
|
||||
('c', 'z', 'q', ST_GeomFromText('POINT(13 140)')),
|
||||
('m', 'k', 'i', ST_GeomFromText('POINT(208 120)')),
|
||||
('g', 'a', 'g', ST_GeomFromText('POINT(9 182)')),
|
||||
('z', 'j', 'r', ST_GeomFromText('POINT(149 153)')),
|
||||
('h', 'f', 'g', ST_GeomFromText('POINT(81 236)')),
|
||||
('m', 'e', 'q', ST_GeomFromText('POINT(209 215)')),
|
||||
('c', 'h', 'y', ST_GeomFromText('POINT(235 70)')),
|
||||
('i', 'e', 'g', ST_GeomFromText('POINT(138 26)')),
|
||||
('m', 't', 'u', ST_GeomFromText('POINT(119 237)')),
|
||||
('o', 'w', 's', ST_GeomFromText('POINT(193 166)')),
|
||||
('f', 'm', 'q', ST_GeomFromText('POINT(85 96)')),
|
||||
('x', 'l', 'x', ST_GeomFromText('POINT(58 115)')),
|
||||
('x', 'q', 'u', ST_GeomFromText('POINT(108 210)')),
|
||||
('b', 'h', 'i', ST_GeomFromText('POINT(250 139)')),
|
||||
('y', 'd', 'x', ST_GeomFromText('POINT(199 135)')),
|
||||
('w', 'h', 'p', ST_GeomFromText('POINT(247 233)')),
|
||||
('p', 'z', 't', ST_GeomFromText('POINT(148 249)')),
|
||||
('q', 'a', 'u', ST_GeomFromText('POINT(174 78)')),
|
||||
('v', 't', 'm', ST_GeomFromText('POINT(70 228)')),
|
||||
('t', 'n', 'f', ST_GeomFromText('POINT(123 2)')),
|
||||
('x', 't', 'b', ST_GeomFromText('POINT(35 50)')),
|
||||
('r', 'j', 'f', ST_GeomFromText('POINT(200 51)')),
|
||||
('s', 'q', 'o', ST_GeomFromText('POINT(23 184)')),
|
||||
('u', 'v', 'z', ST_GeomFromText('POINT(7 113)')),
|
||||
('v', 'u', 'l', ST_GeomFromText('POINT(145 190)')),
|
||||
('o', 'k', 'i', ST_GeomFromText('POINT(161 122)')),
|
||||
('l', 'y', 'e', ST_GeomFromText('POINT(17 232)')),
|
||||
('t', 'b', 'e', ST_GeomFromText('POINT(120 50)')),
|
||||
('e', 's', 'u', ST_GeomFromText('POINT(254 1)')),
|
||||
('d', 'd', 'u', ST_GeomFromText('POINT(167 140)')),
|
||||
('o', 'b', 'x', ST_GeomFromText('POINT(186 237)')),
|
||||
('m', 's', 's', ST_GeomFromText('POINT(172 149)')),
|
||||
('t', 'y', 'a', ST_GeomFromText('POINT(149 85)')),
|
||||
('x', 't', 'r', ST_GeomFromText('POINT(10 165)')),
|
||||
('g', 'c', 'e', ST_GeomFromText('POINT(95 165)')),
|
||||
('e', 'e', 'z', ST_GeomFromText('POINT(98 65)')),
|
||||
('f', 'v', 'i', ST_GeomFromText('POINT(149 144)')),
|
||||
('o', 'p', 'm', ST_GeomFromText('POINT(233 67)')),
|
||||
('t', 'u', 'b', ST_GeomFromText('POINT(109 215)')),
|
||||
('o', 'o', 'b', ST_GeomFromText('POINT(130 48)')),
|
||||
('e', 'm', 'h', ST_GeomFromText('POINT(88 189)')),
|
||||
('e', 'v', 'y', ST_GeomFromText('POINT(55 29)')),
|
||||
('e', 't', 'm', ST_GeomFromText('POINT(129 55)')),
|
||||
('p', 'p', 'i', ST_GeomFromText('POINT(126 222)')),
|
||||
('c', 'i', 'c', ST_GeomFromText('POINT(19 158)')),
|
||||
('c', 'b', 's', ST_GeomFromText('POINT(13 19)')),
|
||||
('u', 'y', 'a', ST_GeomFromText('POINT(114 5)')),
|
||||
('a', 'o', 'f', ST_GeomFromText('POINT(227 232)')),
|
||||
('t', 'c', 'z', ST_GeomFromText('POINT(63 62)')),
|
||||
('d', 'o', 'k', ST_GeomFromText('POINT(48 228)')),
|
||||
('x', 'c', 'e', ST_GeomFromText('POINT(204 2)')),
|
||||
('e', 'e', 'g', ST_GeomFromText('POINT(125 43)')),
|
||||
('o', 'r', 'f', ST_GeomFromText('POINT(171 140)'));
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
|
||||
('b', 'c', 'e', ST_GeomFromText('POINT(41 137)')),
|
||||
('p', 'y', 'k', ST_GeomFromText('POINT(50 22)')),
|
||||
('s', 'c', 'h', ST_GeomFromText('POINT(208 173)')),
|
||||
('x', 'u', 'l', ST_GeomFromText('POINT(199 175)')),
|
||||
('s', 'r', 'h', ST_GeomFromText('POINT(85 192)')),
|
||||
('j', 'k', 'u', ST_GeomFromText('POINT(18 25)')),
|
||||
('p', 'w', 'h', ST_GeomFromText('POINT(152 197)')),
|
||||
('e', 'd', 'c', ST_GeomFromText('POINT(229 3)')),
|
||||
('o', 'x', 'k', ST_GeomFromText('POINT(187 155)')),
|
||||
('o', 'b', 'k', ST_GeomFromText('POINT(208 150)')),
|
||||
('d', 'a', 'j', ST_GeomFromText('POINT(70 87)')),
|
||||
('f', 'e', 'k', ST_GeomFromText('POINT(156 96)')),
|
||||
('u', 'y', 'p', ST_GeomFromText('POINT(239 193)')),
|
||||
('n', 'v', 'p', ST_GeomFromText('POINT(223 98)')),
|
||||
('z', 'j', 'r', ST_GeomFromText('POINT(87 89)')),
|
||||
('h', 'x', 'x', ST_GeomFromText('POINT(92 0)')),
|
||||
('r', 'v', 'r', ST_GeomFromText('POINT(159 139)')),
|
||||
('v', 'g', 'g', ST_GeomFromText('POINT(16 229)')),
|
||||
('z', 'k', 'u', ST_GeomFromText('POINT(99 52)')),
|
||||
('p', 'p', 'o', ST_GeomFromText('POINT(105 125)')),
|
||||
('w', 'h', 'y', ST_GeomFromText('POINT(105 154)')),
|
||||
('v', 'y', 'z', ST_GeomFromText('POINT(134 238)')),
|
||||
('x', 'o', 'o', ST_GeomFromText('POINT(178 88)')),
|
||||
('z', 'w', 'd', ST_GeomFromText('POINT(123 60)')),
|
||||
('q', 'f', 'u', ST_GeomFromText('POINT(64 90)')),
|
||||
('s', 'n', 't', ST_GeomFromText('POINT(50 138)')),
|
||||
('v', 'p', 't', ST_GeomFromText('POINT(114 91)')),
|
||||
('a', 'o', 'n', ST_GeomFromText('POINT(78 43)')),
|
||||
('k', 'u', 'd', ST_GeomFromText('POINT(185 161)')),
|
||||
('w', 'd', 'n', ST_GeomFromText('POINT(25 92)')),
|
||||
('k', 'w', 'a', ST_GeomFromText('POINT(59 238)')),
|
||||
('t', 'c', 'f', ST_GeomFromText('POINT(65 87)')),
|
||||
('g', 's', 'p', ST_GeomFromText('POINT(238 126)')),
|
||||
('d', 'n', 'y', ST_GeomFromText('POINT(107 173)')),
|
||||
('l', 'a', 'w', ST_GeomFromText('POINT(125 152)')),
|
||||
('m', 'd', 'j', ST_GeomFromText('POINT(146 53)')),
|
||||
('q', 'm', 'c', ST_GeomFromText('POINT(217 187)')),
|
||||
('i', 'r', 'r', ST_GeomFromText('POINT(6 113)')),
|
||||
('e', 'j', 'b', ST_GeomFromText('POINT(37 83)')),
|
||||
('w', 'w', 'h', ST_GeomFromText('POINT(83 199)')),
|
||||
('k', 'b', 's', ST_GeomFromText('POINT(170 64)')),
|
||||
('s', 'b', 'c', ST_GeomFromText('POINT(163 130)')),
|
||||
('c', 'h', 'a', ST_GeomFromText('POINT(141 3)')),
|
||||
('k', 'j', 'u', ST_GeomFromText('POINT(143 76)')),
|
||||
('r', 'h', 'o', ST_GeomFromText('POINT(243 92)')),
|
||||
('i', 'd', 'b', ST_GeomFromText('POINT(205 13)')),
|
||||
('r', 'y', 'q', ST_GeomFromText('POINT(138 8)')),
|
||||
('m', 'o', 'i', ST_GeomFromText('POINT(36 45)')),
|
||||
('v', 'g', 'm', ST_GeomFromText('POINT(0 40)')),
|
||||
('f', 'e', 'i', ST_GeomFromText('POINT(76 6)')),
|
||||
('c', 'q', 'q', ST_GeomFromText('POINT(115 248)')),
|
||||
('x', 'c', 'i', ST_GeomFromText('POINT(29 74)')),
|
||||
('l', 's', 't', ST_GeomFromText('POINT(83 18)')),
|
||||
('t', 't', 'a', ST_GeomFromText('POINT(26 168)')),
|
||||
('u', 'n', 'x', ST_GeomFromText('POINT(200 110)')),
|
||||
('j', 'b', 'd', ST_GeomFromText('POINT(216 136)')),
|
||||
('s', 'p', 'w', ST_GeomFromText('POINT(38 156)')),
|
||||
('f', 'b', 'v', ST_GeomFromText('POINT(29 186)')),
|
||||
('v', 'e', 'r', ST_GeomFromText('POINT(149 40)')),
|
||||
('v', 't', 'm', ST_GeomFromText('POINT(184 24)')),
|
||||
('y', 'g', 'a', ST_GeomFromText('POINT(219 105)')),
|
||||
('s', 'f', 'i', ST_GeomFromText('POINT(114 130)')),
|
||||
('e', 'q', 'h', ST_GeomFromText('POINT(203 135)')),
|
||||
('h', 'g', 'b', ST_GeomFromText('POINT(9 208)')),
|
||||
('o', 'l', 'r', ST_GeomFromText('POINT(245 79)')),
|
||||
('s', 's', 'v', ST_GeomFromText('POINT(238 198)')),
|
||||
('w', 'w', 'z', ST_GeomFromText('POINT(209 232)')),
|
||||
('v', 'd', 'n', ST_GeomFromText('POINT(30 193)')),
|
||||
('q', 'w', 'k', ST_GeomFromText('POINT(133 18)')),
|
||||
('o', 'h', 'o', ST_GeomFromText('POINT(42 140)')),
|
||||
('f', 'f', 'h', ST_GeomFromText('POINT(145 1)')),
|
||||
('u', 's', 'r', ST_GeomFromText('POINT(70 62)')),
|
||||
('x', 'n', 'q', ST_GeomFromText('POINT(33 86)')),
|
||||
('u', 'p', 'v', ST_GeomFromText('POINT(232 220)')),
|
||||
('z', 'e', 'a', ST_GeomFromText('POINT(130 69)')),
|
||||
('r', 'u', 'z', ST_GeomFromText('POINT(243 241)')),
|
||||
('b', 'n', 't', ST_GeomFromText('POINT(120 12)')),
|
||||
('u', 'f', 's', ST_GeomFromText('POINT(190 212)')),
|
||||
('a', 'd', 'q', ST_GeomFromText('POINT(235 191)')),
|
||||
('f', 'q', 'm', ST_GeomFromText('POINT(176 2)')),
|
||||
('n', 'c', 's', ST_GeomFromText('POINT(218 163)')),
|
||||
('e', 'm', 'h', ST_GeomFromText('POINT(163 108)')),
|
||||
('c', 'f', 'l', ST_GeomFromText('POINT(220 115)')),
|
||||
('c', 'v', 'q', ST_GeomFromText('POINT(66 45)')),
|
||||
('w', 'v', 'x', ST_GeomFromText('POINT(251 220)')),
|
||||
('f', 'w', 'z', ST_GeomFromText('POINT(146 149)')),
|
||||
('h', 'n', 'h', ST_GeomFromText('POINT(148 128)')),
|
||||
('y', 'k', 'v', ST_GeomFromText('POINT(28 110)')),
|
||||
('c', 'x', 'q', ST_GeomFromText('POINT(13 13)')),
|
||||
('e', 'd', 's', ST_GeomFromText('POINT(91 190)')),
|
||||
('c', 'w', 'c', ST_GeomFromText('POINT(10 231)')),
|
||||
('u', 'j', 'n', ST_GeomFromText('POINT(250 21)')),
|
||||
('w', 'n', 'x', ST_GeomFromText('POINT(141 69)')),
|
||||
('f', 'p', 'y', ST_GeomFromText('POINT(228 246)')),
|
||||
('d', 'q', 'f', ST_GeomFromText('POINT(194 22)')),
|
||||
('d', 'z', 'l', ST_GeomFromText('POINT(233 181)')),
|
||||
('c', 'a', 'q', ST_GeomFromText('POINT(183 96)')),
|
||||
('m', 'i', 'd', ST_GeomFromText('POINT(117 226)')),
|
||||
('z', 'y', 'y', ST_GeomFromText('POINT(62 81)')),
|
||||
('g', 'v', 'm', ST_GeomFromText('POINT(66 158)'));
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
# following INSERTion will result in a node split
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
|
||||
('f', 'x', 'p', ST_GeomFromText('POINT(92 181)'));
|
||||
|
||||
# Test rollback, this will result above split being rolled back, btr_compress
|
||||
# gets called
|
||||
ROLLBACK;
|
||||
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES
|
||||
('f', 'x', 'p', ST_GeomFromText('POINT(92 181)'));
|
||||
|
||||
# create overlap on the bounding box in parent
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES ('n', 'x', 'p', ST_GeomFromText('POINT(0 1280)'));
|
||||
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_poINT) VALUES ('n', 'x', 'p', ST_GeomFromText('POINT(45 1280)'));
|
||||
|
||||
# Add a row in the cross section of the 2 bounding box
|
||||
INSERT INTO t1 VALUES (1280, 'n', 'x', 'p', ST_GeomFromText('POINT(44 253)'));
|
||||
|
||||
# Delete this new poINT
|
||||
DELETE FROM t1 WHERE id = 1280;
|
||||
|
||||
INSERT INTO t1 VALUES (1280, 'n', 'x', 'p', ST_GeomFromText('POINT(44 253)'));
|
||||
|
||||
START TRANSACTION;
|
||||
DELETE FROM t1 WHERE id = 1280;
|
||||
ROLLBACK;
|
||||
|
||||
# Test MBR increase
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('m', 'u', 'p', ST_GeomFromText('POINT(1192 1181)'));
|
||||
ROLLBACK;
|
||||
|
||||
SELECT COUNT(*) FROM t1;
|
||||
UPDATE t1 SET spatial_point = ST_GeomFromText('POINT(123 456)') WHERE id < 2000;
|
||||
SET @g1 = ST_GeomFromText('Polygon((123 456, 123 678, 456 678,456 456,123 456))');
|
||||
DELETE FROM t1 WHERE MBRContains(@g1, t1.spatial_point);
|
||||
SELECT COUNT(*) FROM t1;
|
||||
|
||||
DROP TABLE t1;
|
||||
|
||||
SET GLOBAL innodb_file_per_table=default;
|
||||
SET GLOBAL innodb_file_format=default;
|
||||
|
File diff suppressed because one or more lines are too long
8
mysql-test/include/innodb_row_format.combinations
Normal file
8
mysql-test/include/innodb_row_format.combinations
Normal file
@ -0,0 +1,8 @@
|
||||
[redundant]
|
||||
innodb_default_row_format=redundant
|
||||
|
||||
[compact]
|
||||
innodb_default_row_format=compact
|
||||
|
||||
[dynamic]
|
||||
innodb_default_row_format=dynamic
|
4
mysql-test/include/innodb_row_format.inc
Normal file
4
mysql-test/include/innodb_row_format.inc
Normal file
@ -0,0 +1,4 @@
|
||||
# The goal of including this file is to enable innodb_default_row_format
|
||||
# combinations (see include/innodb_row_format.combinations)
|
||||
|
||||
--source include/have_innodb.inc
|
@ -1,16 +1,11 @@
|
||||
# truncate a giving file, all contents of the file are be cleared
|
||||
|
||||
if (!$file)
|
||||
if (!$TRUNCATE_FILE)
|
||||
{
|
||||
--echo Please assign a file name to $file!!
|
||||
exit;
|
||||
die TRUNCATE_FILE is not set;
|
||||
}
|
||||
|
||||
let TRUNCATE_FILE= $file;
|
||||
|
||||
perl;
|
||||
use Env;
|
||||
Env::import('TRUNCATE_FILE');
|
||||
open FILE, '>', $TRUNCATE_FILE || die "Can not open file $file";
|
||||
open FILE, '>', $ENV{TRUNCATE_FILE} or die "open(>$ENV{TRUNCATE_FILE}): $!";
|
||||
close FILE;
|
||||
EOF
|
||||
|
@ -1,60 +0,0 @@
|
||||
# include/wait_innodb_all_purged.inc
|
||||
#
|
||||
# SUMMARY
|
||||
#
|
||||
# Waits until purged all undo records of innodb, or operation times out.
|
||||
#
|
||||
# USAGE
|
||||
#
|
||||
# --source include/wait_innodb_all_purged.inc
|
||||
#
|
||||
--source include/have_innodb.inc
|
||||
--source include/have_debug.inc
|
||||
|
||||
--disable_query_log
|
||||
|
||||
let $wait_counter_init= 300;
|
||||
if ($wait_timeout)
|
||||
{
|
||||
let $wait_counter_init= `SELECT $wait_timeout * 10`;
|
||||
}
|
||||
# Reset $wait_timeout so that its value won't be used on subsequent
|
||||
# calls, and default will be used instead.
|
||||
let $wait_timeout= 0;
|
||||
|
||||
let $wait_counter= $wait_counter_init;
|
||||
|
||||
# Keep track of how many times the wait condition is tested
|
||||
let $wait_condition_reps= 0;
|
||||
let $prev_trx_age= 0;
|
||||
while ($wait_counter)
|
||||
{
|
||||
--disable_warnings
|
||||
let $trx_age = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS
|
||||
WHERE VARIABLE_NAME = 'INNODB_PURGE_TRX_ID_AGE';`;
|
||||
--enable_warnings
|
||||
|
||||
if ($trx_age != $prev_trx_age)
|
||||
{
|
||||
let $wait_counter= $wait_counter_init;
|
||||
let $prev_trx_age= $trx_age;
|
||||
}
|
||||
|
||||
let $success= `SELECT $trx_age < 1`;
|
||||
inc $wait_condition_reps;
|
||||
if ($success)
|
||||
{
|
||||
let $wait_counter= 0;
|
||||
}
|
||||
if (!$success)
|
||||
{
|
||||
real_sleep 0.1;
|
||||
dec $wait_counter;
|
||||
}
|
||||
}
|
||||
if (!$success)
|
||||
{
|
||||
echo Timeout in wait_innodb_all_purged.inc for INNODB_PURGE_TRX_ID_AGE = $trx_age;
|
||||
}
|
||||
|
||||
--enable_query_log
|
@ -1,3 +1,4 @@
|
||||
reset master;
|
||||
CREATE OR REPLACE DATABASE d1;
|
||||
CREATE OR REPLACE DATABASE d1;
|
||||
DROP DATABASE d1;
|
||||
|
@ -458,3 +458,23 @@ CREATE OR REPLACE TABLE t1 AS SELECT f1();
|
||||
UNLOCK TABLES;
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-11071 - Assertion `thd->transaction.stmt.is_empty()' failed in
|
||||
# Locked_tables_list::unlock_locked_tables
|
||||
#
|
||||
CREATE TEMPORARY TABLE t1(a INT) ENGINE=InnoDB;
|
||||
CREATE TEMPORARY TABLE t2(a INT);
|
||||
CREATE TABLE t3(a INT);
|
||||
LOCK TABLE t2 WRITE;
|
||||
SELECT * FROM t2;
|
||||
a
|
||||
CREATE OR REPLACE TEMPORARY TABLE t1(a INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
|
||||
ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
|
||||
SELECT * FROM t3;
|
||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
||||
CREATE OR REPLACE TEMPORARY TABLE t2(a INT) ENGINE=InnoDB ROW_FORMAT=COMPRESSED;
|
||||
ERROR HY000: CREATE TEMPORARY TABLE is not allowed with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.
|
||||
SELECT * FROM t3;
|
||||
ERROR HY000: Table 't3' was not locked with LOCK TABLES
|
||||
UNLOCK TABLES;
|
||||
DROP TABLE t3;
|
||||
|
@ -1147,3 +1147,121 @@ SELECT * FROM cte_test;
|
||||
a
|
||||
1
|
||||
DROP VIEW cte_test;
|
||||
#
|
||||
# mdev-14755 : PS for query using CTE in select with subquery
|
||||
#
|
||||
create table t1 (a int);
|
||||
insert into t1 values
|
||||
(7), (2), (8), (1), (3), (2), (7), (5), (4), (7), (9), (8);
|
||||
with cte as
|
||||
(select a from t1 where a between 4 and 7 group by a)
|
||||
(select a from cte where exists( select a from t1 where cte.a=t1.a ))
|
||||
union
|
||||
(select a from t1 where a < 2);
|
||||
a
|
||||
7
|
||||
5
|
||||
4
|
||||
1
|
||||
prepare stmt from "with cte as
|
||||
(select a from t1 where a between 4 and 7 group by a)
|
||||
(select a from cte where exists( select a from t1 where cte.a=t1.a ))
|
||||
union
|
||||
(select a from t1 where a < 2)";
|
||||
execute stmt;
|
||||
a
|
||||
7
|
||||
5
|
||||
4
|
||||
1
|
||||
execute stmt;
|
||||
a
|
||||
7
|
||||
5
|
||||
4
|
||||
1
|
||||
deallocate prepare stmt;
|
||||
with cte as
|
||||
(select a from t1 where a between 4 and 7 group by a)
|
||||
(select a from t1 where a < 2)
|
||||
union
|
||||
(select a from cte where exists( select a from t1 where cte.a=t1.a ));
|
||||
a
|
||||
1
|
||||
7
|
||||
5
|
||||
4
|
||||
prepare stmt from "with cte as
|
||||
(select a from t1 where a between 4 and 7 group by a)
|
||||
(select a from t1 where a < 2)
|
||||
union
|
||||
(select a from cte where exists( select a from t1 where cte.a=t1.a ))";
|
||||
execute stmt;
|
||||
a
|
||||
1
|
||||
7
|
||||
5
|
||||
4
|
||||
execute stmt;
|
||||
a
|
||||
1
|
||||
7
|
||||
5
|
||||
4
|
||||
deallocate prepare stmt;
|
||||
with cte as
|
||||
(select a from t1 where a between 4 and 7)
|
||||
(select a from t1 where a < 2)
|
||||
union
|
||||
(select a from cte where exists( select a from t1 where cte.a=t1.a ));
|
||||
a
|
||||
1
|
||||
7
|
||||
5
|
||||
4
|
||||
prepare stmt from "with cte as
|
||||
(select a from t1 where a between 4 and 7)
|
||||
(select a from t1 where a < 2)
|
||||
union
|
||||
(select a from cte where exists( select a from t1 where cte.a=t1.a ))";
|
||||
execute stmt;
|
||||
a
|
||||
1
|
||||
7
|
||||
5
|
||||
4
|
||||
execute stmt;
|
||||
a
|
||||
1
|
||||
7
|
||||
5
|
||||
4
|
||||
deallocate prepare stmt;
|
||||
with cte as
|
||||
(select a from t1 where a between 4 and 7)
|
||||
(select a from cte
|
||||
where exists( select a from t1 where t1.a < 2 and cte.a=t1.a ))
|
||||
union
|
||||
(select a from cte where exists( select a from t1 where cte.a=t1.a ));
|
||||
a
|
||||
7
|
||||
5
|
||||
4
|
||||
prepare stmt from "with cte as
|
||||
(select a from t1 where a between 4 and 7)
|
||||
(select a from cte
|
||||
where exists( select a from t1 where t1.a < 2 and cte.a=t1.a ))
|
||||
union
|
||||
(select a from cte where exists( select a from t1 where cte.a=t1.a ))";
|
||||
execute stmt;
|
||||
a
|
||||
7
|
||||
5
|
||||
4
|
||||
execute stmt;
|
||||
a
|
||||
7
|
||||
5
|
||||
4
|
||||
deallocate prepare stmt;
|
||||
drop table t1;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -1584,3 +1584,63 @@ EXPLAIN
|
||||
}
|
||||
}
|
||||
drop table t0,t1;
|
||||
#
|
||||
# MDEV-10844: EXPLAIN FORMAT=JSON doesn't show order direction for filesort
|
||||
#
|
||||
create table t1 (a int, b int);
|
||||
insert into t1 values (1,2),(3,4),(2,3);
|
||||
explain format=json select * from t1 order by a, b desc;
|
||||
EXPLAIN
|
||||
{
|
||||
"query_block": {
|
||||
"select_id": 1,
|
||||
"read_sorted_file": {
|
||||
"filesort": {
|
||||
"sort_key": "t1.a, t1.b desc",
|
||||
"table": {
|
||||
"table_name": "t1",
|
||||
"access_type": "ALL",
|
||||
"rows": 3,
|
||||
"filtered": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
explain format=json select * from t1 order by a desc, b desc;
|
||||
EXPLAIN
|
||||
{
|
||||
"query_block": {
|
||||
"select_id": 1,
|
||||
"read_sorted_file": {
|
||||
"filesort": {
|
||||
"sort_key": "t1.a desc, t1.b desc",
|
||||
"table": {
|
||||
"table_name": "t1",
|
||||
"access_type": "ALL",
|
||||
"rows": 3,
|
||||
"filtered": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
explain format=json select * from t1 order by a desc, b ;
|
||||
EXPLAIN
|
||||
{
|
||||
"query_block": {
|
||||
"select_id": 1,
|
||||
"read_sorted_file": {
|
||||
"filesort": {
|
||||
"sort_key": "t1.a desc, t1.b",
|
||||
"table": {
|
||||
"table_name": "t1",
|
||||
"access_type": "ALL",
|
||||
"rows": 3,
|
||||
"filtered": 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
drop table t1;
|
||||
|
@ -731,6 +731,11 @@ Warning 4042 Syntax error in JSON path in argument 3 to function 'json_contains_
|
||||
select JSON_VALID(0x36f0c8dccd83c5eac156da);
|
||||
JSON_VALID(0x36f0c8dccd83c5eac156da)
|
||||
0
|
||||
create table t1(a double not null);
|
||||
insert into t1 values (2),(1);
|
||||
select 1 from t1 where json_extract(a,'$','$[81]');
|
||||
1
|
||||
drop table t1;
|
||||
#
|
||||
# Start of 10.3 tests
|
||||
#
|
||||
|
@ -1523,6 +1523,21 @@ str str1 b c
|
||||
::10.0.5.9 ::10.0.5.9 1 0
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# MDEV-14613: Assertion `fixed == 0' failed in Item_func::fix_fields
|
||||
#
|
||||
CREATE TABLE `t1` (
|
||||
`numgtfmt` char(10) COLLATE utf8_bin NOT NULL
|
||||
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
create view v1(numgtfmt)
|
||||
as
|
||||
select 'x' from t1
|
||||
union
|
||||
select 'x' from t1 ;
|
||||
SELECT * FROM v1 WHERE numgtfmt = NAME_CONST('wnumgtfmt',_utf8'QEDITIONS' COLLATE 'utf8_bin');
|
||||
numgtfmt
|
||||
DROP VIEW v1;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 10.2 tests
|
||||
#
|
||||
#
|
||||
|
@ -221,21 +221,11 @@ NULL
|
||||
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Start of 5.3 tests
|
||||
#
|
||||
#
|
||||
# MDEV-4512 Valgrind warnings in my_long10_to_str_8bit on INTERVAL and DATE_ADD with incorrect types
|
||||
#
|
||||
CREATE TABLE t1 (pk INT PRIMARY KEY);
|
||||
INSERT INTO t1 VALUES (10),(11);
|
||||
SELECT INTERVAL( 9, 1, DATE_ADD( pk, INTERVAL pk MINUTE_SECOND ), 9, 8, 3, 5, 2, 1 ) FROM t1;
|
||||
INTERVAL( 9, 1, DATE_ADD( pk, INTERVAL pk MINUTE_SECOND ), 9, 8, 3, 5, 2, 1 )
|
||||
8
|
||||
8
|
||||
Warnings:
|
||||
Warning 1292 Incorrect datetime value: '10' for column 'pk' at row 1
|
||||
Warning 1292 Incorrect datetime value: '11' for column 'pk' at row 2
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# End of 5.3 tests
|
||||
# MDEV-14596 Crash in INTERVAL(ROW(..),ROW(..))
|
||||
#
|
||||
SELECT INTERVAL(ROW(1,1),ROW(1,2));
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT INTERVAL(1,ROW(1,2));
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
SELECT INTERVAL(ROW(1,2),1);
|
||||
ERROR 21000: Operand should contain 1 column(s)
|
||||
|
@ -1,9 +1,8 @@
|
||||
DROP TABLE IF EXISTS t1, t2;
|
||||
CREATE TABLE t1 (
|
||||
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
g GEOMETRY NOT NULL,
|
||||
SPATIAL KEY(g)
|
||||
) ENGINE=MyISAM;
|
||||
);
|
||||
SHOW CREATE TABLE t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
@ -183,9 +182,9 @@ fid AsText(g)
|
||||
2 LINESTRING(149 149,151 151)
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t2 (
|
||||
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
g GEOMETRY NOT NULL
|
||||
) ENGINE=MyISAM;
|
||||
);
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 10 * 10 - 9), Point(10 * 10, 10 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 9 * 10 - 9), Point(10 * 10, 9 * 10)));
|
||||
INSERT INTO t2 (g) VALUES (LineString(Point(10 * 10 - 9, 8 * 10 - 9), Point(10 * 10, 8 * 10)));
|
||||
@ -298,11 +297,11 @@ t2 CREATE TABLE `t2` (
|
||||
SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
EXPLAIN SELECT fid, AsText(g) FROM t2 WHERE Within(g,
|
||||
EXPLAIN SELECT fid, AsText(g) FROM t2 WHERE Within(g,
|
||||
GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))'));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 range g g 34 NULL 4 Using where
|
||||
SELECT fid, AsText(g) FROM t2 WHERE Within(g,
|
||||
SELECT fid, AsText(g) FROM t2 WHERE Within(g,
|
||||
GeomFromText('Polygon((40 40,60 40,60 60,40 60,40 40))'));
|
||||
fid AsText(g)
|
||||
46 LINESTRING(51 41,60 50)
|
||||
@ -710,9 +709,6 @@ SELECT count(*) FROM t2;
|
||||
count(*)
|
||||
100
|
||||
DROP TABLE t2;
|
||||
drop table if exists t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 'test.t1'
|
||||
CREATE TABLE t1 (a geometry NOT NULL, SPATIAL (a));
|
||||
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
|
||||
INSERT INTO t1 VALUES (GeomFromText("LINESTRING(100 100, 200 200, 300 300)"));
|
||||
@ -751,10 +747,10 @@ Table Op Msg_type Msg_text
|
||||
test.t1 analyze status OK
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
fid INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
||||
g GEOMETRY NOT NULL,
|
||||
SPATIAL KEY(g)
|
||||
) ENGINE=MyISAM;
|
||||
);
|
||||
INSERT INTO t1 (g) VALUES (GeomFromText('LineString(1 2, 2 3)')),(GeomFromText('LineString(1 2, 2 4)'));
|
||||
drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
@ -762,9 +758,9 @@ line GEOMETRY NOT NULL,
|
||||
kind ENUM('po', 'pp', 'rr', 'dr', 'rd', 'ts', 'cl') NOT NULL DEFAULT 'po',
|
||||
name VARCHAR(32),
|
||||
SPATIAL KEY (line)
|
||||
) engine=myisam;
|
||||
);
|
||||
ALTER TABLE t1 DISABLE KEYS;
|
||||
INSERT INTO t1 (name, kind, line) VALUES
|
||||
INSERT INTO t1 (name, kind, line) VALUES
|
||||
("Aadaouane", "pp", GeomFromText("POINT(32.816667 35.983333)")),
|
||||
("Aadassiye", "pp", GeomFromText("POINT(35.816667 36.216667)")),
|
||||
("Aadbel", "pp", GeomFromText("POINT(34.533333 36.100000)")),
|
||||
@ -803,7 +799,7 @@ CREATE TABLE t2 (geom GEOMETRY NOT NULL, SPATIAL KEY gk(geom));
|
||||
INSERT IGNORE INTO t2 SELECT GeomFromText(st) FROM t1;
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
drop table t1, t2;
|
||||
CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`)) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
CREATE TABLE t1 (`geometry` geometry NOT NULL default '',SPATIAL KEY `gndx` (`geometry`)) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 (geometry) VALUES
|
||||
(PolygonFromText('POLYGON((-18.6086111000 -66.9327777000, -18.6055555000
|
||||
-66.8158332999, -18.7186111000 -66.8102777000, -18.7211111000 -66.9269443999,
|
||||
@ -819,7 +815,7 @@ drop table t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 geometry NOT NULL default '',
|
||||
SPATIAL KEY i1 (c1)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 (c1) VALUES (
|
||||
PolygonFromText('POLYGON((-18.6086111000 -66.9327777000,
|
||||
-18.6055555000 -66.8158332999,
|
||||
@ -833,7 +829,7 @@ DROP TABLE t1;
|
||||
CREATE TABLE t1 (
|
||||
c1 geometry NOT NULL default '',
|
||||
SPATIAL KEY i1 (c1)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
|
||||
) DEFAULT CHARSET=latin1;
|
||||
INSERT INTO t1 (c1) VALUES (
|
||||
PolygonFromText('POLYGON((-18.6086111000 -66.9327777000,
|
||||
-18.6055555000 -66.8158332999,
|
||||
@ -874,7 +870,7 @@ c3 varchar(10) collate utf8_bin default NULL,
|
||||
spatial_point point NOT NULL,
|
||||
PRIMARY KEY(id),
|
||||
SPATIAL KEY (spatial_point)
|
||||
)ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
) DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
|
||||
INSERT INTO t1 (c2, c1, c3, spatial_point) VALUES
|
||||
('y', 's', 'j', GeomFromText('POINT(167 74)')),
|
||||
('r', 'n', 'd', GeomFromText('POINT(215 118)')),
|
||||
@ -1544,11 +1540,11 @@ HANDLER t1 CLOSE;
|
||||
DROP TABLE t1;
|
||||
End of 5.0 tests.
|
||||
#
|
||||
# Bug #57323/11764487: myisam corruption with insert ignore
|
||||
# Bug #57323/11764487: myisam corruption with insert ignore
|
||||
# and invalid spatial data
|
||||
#
|
||||
CREATE TABLE t1(a POINT NOT NULL, b GEOMETRY NOT NULL,
|
||||
SPATIAL KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
|
||||
SPATIAL KEY(a), SPATIAL KEY(b));
|
||||
INSERT INTO t1 VALUES(GEOMFROMTEXT("point (0 0)"), GEOMFROMTEXT("point (1 1)"));
|
||||
INSERT IGNORE INTO t1 SET a=GEOMFROMTEXT("point (-6 0)"), b=GEOMFROMTEXT("error");
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
@ -1559,7 +1555,7 @@ ASTEXT(a) ASTEXT(b)
|
||||
POINT(0 0) POINT(1 1)
|
||||
DROP TABLE t1;
|
||||
CREATE TABLE t1(a INT NOT NULL, b GEOMETRY NOT NULL,
|
||||
KEY(a), SPATIAL KEY(b)) ENGINE=MyISAM;
|
||||
KEY(a), SPATIAL KEY(b));
|
||||
INSERT INTO t1 VALUES(0, GEOMFROMTEXT("point (1 1)"));
|
||||
INSERT IGNORE INTO t1 SET a=0, b=GEOMFROMTEXT("error");
|
||||
ERROR 22003: Cannot get geometry object from data you send to the GEOMETRY field
|
||||
@ -1573,7 +1569,7 @@ End of 5.1 tests
|
||||
CREATE TABLE t1 (
|
||||
l LINESTRING NOT NULL,
|
||||
SPATIAL KEY(l)
|
||||
) ENGINE = myisam;
|
||||
);
|
||||
INSERT INTO t1 VALUES(GeomFromText('LINESTRING(0 0, 1 1)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('LINESTRING(1 1, 2 2)'));
|
||||
INSERT INTO t1 VALUES(GeomFromText('LINESTRING(2 2, 3 3)'));
|
||||
@ -1596,7 +1592,7 @@ DROP TABLE t1;
|
||||
#
|
||||
# MDEV-8239 Reverse spatial operations OP(const, field) do not get optimized
|
||||
#
|
||||
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a)) ENGINE=MyISAM;
|
||||
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a));
|
||||
INSERT INTO t1 VALUES (Point(1,2)),(Point(1,3));
|
||||
EXPLAIN SELECT * FROM t1 WHERE MBRINTERSECTS(a,Point(1,2));
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
@ -1614,7 +1610,7 @@ DROP TABLE t1;
|
||||
#
|
||||
# MDEV-8610 "WHERE CONTAINS(indexed_geometry_column,1)" causes full table scan
|
||||
#
|
||||
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a)) ENGINE=MyISAM;
|
||||
CREATE TABLE t1 (a GEOMETRY NOT NULL, SPATIAL KEY(a));
|
||||
INSERT INTO t1 VALUES (Point(1,1)),(Point(2,2)),(Point(3,3));
|
||||
EXPLAIN SELECT * FROM t1 WHERE CONTAINS(a,1);
|
||||
ERROR HY000: Illegal parameter data type int for operation 'st_contains'
|
||||
|
@ -2667,6 +2667,31 @@ create table t2 (c1 int, c2 int);
|
||||
select t1.c1 as c1, t2.c2 as c1 from t1, t2 where t1.c1 < 20 and t2.c2 > 5 group by t1.c1, t2.c2 having t1.c1 < 3;
|
||||
c1 c1
|
||||
drop table t1, t2;
|
||||
SET @old_sort_buff_size = @@sort_buffer_size;
|
||||
SET @@sort_buffer_size=256*1024;
|
||||
CREATE TABLE t1 (c INT) ENGINE=MyISAM;
|
||||
INSERT INTO t1 VALUES
|
||||
(2011),(1977),(1982),(2027),(2023),(NULL),(NULL),(2004),(1974),(2032),
|
||||
(1993),(NULL),(1995),(2034),(NULL),(2009),(1900),(NULL),(2025),(1900),
|
||||
(2033),(1900),(2012),(NULL),(2009),(1992),(1974),(1974),(2012),(2028),
|
||||
(2007),(2012),(1900),(1983),(1900),(2010),(1987),(1994),(1981),(2032),
|
||||
(2010),(1989),(2014),(1900),(1900),(1976),(1978),(2007),(2030),(NULL),
|
||||
(2002),(1997),(1900),(NULL),(2000),(2027),(1975),(2026),(1975),(2026),
|
||||
(2029),(1977),(1900),(1900),(2031),(1993),(1986),(2012),(1979),(2013),
|
||||
(1994),(2014),(2025),(2006),(1971),(1974),(2021),(2011),(NULL),(1991),
|
||||
(2001),(1977),(2023),(2012),(1900),(1978),(1998),(NULL),(1988),(1999),
|
||||
(2017),(2008),(1976),(1900),(2005),(2030),(2023),(1900),(1978),(1990),
|
||||
(1978),(1987),(2030),(1900),(2034),(2006),(2015),(2001),(2019),(2024),
|
||||
(2030),(1989),(1997),(2007),(2023),(1994),(1971),(2011),(2011),(2015),
|
||||
(1984),(1978),(1979),(1989),(2008),(2030);
|
||||
SELECT ExtractValue('<a></a>','/a') AS f1, SPACE(c) AS f2 FROM t1 GROUP BY f1, f2 WITH ROLLUP;
|
||||
f1 f2
|
||||
NULL
|
||||
|
||||
NULL
|
||||
NULL NULL
|
||||
SET @@sort_buffer_size = @old_sort_buff_size;
|
||||
DROP TABLE t1;
|
||||
#
|
||||
# Bug #58782
|
||||
# Missing rows with SELECT .. WHERE .. IN subquery
|
||||
|
@ -696,6 +696,21 @@ id column_1
|
||||
expected -- 1 row(s) returned not ER_BAD_FIELD_ERROR
|
||||
drop table t1;
|
||||
#
|
||||
# mdev-14368: grouping query with alias for aggregate function in HAVING
|
||||
# when sql_mode = 'ONLY_FULL_GROUP_BY'
|
||||
set @save_sql_mode= @@sql_mode;
|
||||
set sql_mode = 'ONLY_FULL_GROUP_BY';
|
||||
create table t1(a int);
|
||||
insert t1 values (4),(1),(2),(1), (3),(4);
|
||||
SELECT a, COUNT(a) as ct FROM t1 GROUP BY a HAVING ct>0;
|
||||
a ct
|
||||
1 2
|
||||
2 1
|
||||
3 1
|
||||
4 2
|
||||
set sql_mode=@save_sql_mode;
|
||||
drop table t1;
|
||||
#
|
||||
# Bug mdev-5160: two-way join with HAVING over the second table
|
||||
#
|
||||
CREATE TABLE t1 (c1 varchar(6)) ENGINE=MyISAM;
|
||||
|
@ -2431,5 +2431,18 @@ Warnings:
|
||||
Note 1003 select `test`.`t1`.`col1` AS `col1`,`test`.`t2`.`col1` AS `col1`,`test`.`t2`.`col3` AS `col3` from `test`.`t1` left join `test`.`t2` on(`test`.`t2`.`col2` = `test`.`t1`.`col1`) where `f1`(`test`.`t2`.`col3`,0) = 0
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-10397: Server crashes in key_copy with join_cache_level > 2 and join on BIT fields
|
||||
#
|
||||
CREATE TABLE t1 (b1 BIT NOT NULL);
|
||||
INSERT INTO t1 VALUES (0),(1);
|
||||
CREATE TABLE t2 (b2 BIT NOT NULL);
|
||||
INSERT INTO t2 VALUES (0),(1);
|
||||
SET SESSION JOIN_CACHE_LEVEL = 3;
|
||||
SELECT t1.b1+'0' , t2.b2 + '0' FROM t1 LEFT JOIN t2 ON b1 = b2;
|
||||
t1.b1+'0' t2.b2 + '0'
|
||||
0 0
|
||||
1 1
|
||||
DROP TABLE t1, t2;
|
||||
# end of 5.5 tests
|
||||
SET optimizer_switch=@save_optimizer_switch;
|
||||
|
@ -2442,6 +2442,19 @@ Warnings:
|
||||
Note 1003 select `test`.`t1`.`col1` AS `col1`,`test`.`t2`.`col1` AS `col1`,`test`.`t2`.`col3` AS `col3` from `test`.`t1` left join `test`.`t2` on(`test`.`t2`.`col2` = `test`.`t1`.`col1`) where `f1`(`test`.`t2`.`col3`,0) = 0
|
||||
DROP FUNCTION f1;
|
||||
DROP TABLE t1,t2;
|
||||
#
|
||||
# MDEV-10397: Server crashes in key_copy with join_cache_level > 2 and join on BIT fields
|
||||
#
|
||||
CREATE TABLE t1 (b1 BIT NOT NULL);
|
||||
INSERT INTO t1 VALUES (0),(1);
|
||||
CREATE TABLE t2 (b2 BIT NOT NULL);
|
||||
INSERT INTO t2 VALUES (0),(1);
|
||||
SET SESSION JOIN_CACHE_LEVEL = 3;
|
||||
SELECT t1.b1+'0' , t2.b2 + '0' FROM t1 LEFT JOIN t2 ON b1 = b2;
|
||||
t1.b1+'0' t2.b2 + '0'
|
||||
0 0
|
||||
1 1
|
||||
DROP TABLE t1, t2;
|
||||
# end of 5.5 tests
|
||||
SET optimizer_switch=@save_optimizer_switch;
|
||||
set join_cache_level=default;
|
||||
|
@ -879,9 +879,7 @@ ROLLBACK /* added by mysqlbinlog */;
|
||||
End of 5.0 tests
|
||||
End of 5.1 tests
|
||||
# Expect deprecation warning.
|
||||
WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
|
||||
# Expect deprecation warning again.
|
||||
WARNING: The --base64-output=always flag and the --base64-output flag (with '=MODE' omitted), are deprecated. The output generated when these flags are used cannot be parsed by mysql 5.6.0 and later. The flags will be removed in a future version. Please use --base64-output=auto instead.
|
||||
RESET MASTER;
|
||||
CREATE DATABASE test1;
|
||||
USE test1;
|
||||
|
@ -73,6 +73,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at 967
|
||||
#<date> server id 1 end_log_pos 1040 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -101,6 +102,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
|
||||
# Number of rows: 1
|
||||
# at 1281
|
||||
#<date> server id 1 end_log_pos 1354 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -129,6 +131,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at 1596
|
||||
#<date> server id 1 end_log_pos 1669 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -157,6 +160,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at 1909
|
||||
#<date> server id 1 end_log_pos 1982 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -218,6 +222,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 4
|
||||
# at 2225
|
||||
#<date> server id 1 end_log_pos 2298 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -298,6 +303,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at 2561
|
||||
#<date> server id 1 end_log_pos 2634 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -359,6 +365,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 4
|
||||
# at 2861
|
||||
#<date> server id 1 end_log_pos 2934 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -420,6 +427,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 4
|
||||
# at 3154
|
||||
#<date> server id 1 end_log_pos 3227 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
|
@ -71,6 +71,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at 1015
|
||||
#<date> server id 1 end_log_pos 1088 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -99,6 +100,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9=NULL /* STRING(1) meta=65025 nullable=1 is_null=1 */
|
||||
# Number of rows: 1
|
||||
# at 1330
|
||||
#<date> server id 1 end_log_pos 1403 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -127,6 +129,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at 1646
|
||||
#<date> server id 1 end_log_pos 1719 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -155,6 +158,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at 1962
|
||||
#<date> server id 1 end_log_pos 2035 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -216,6 +220,7 @@ BEGIN
|
||||
### @7=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @8=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @9='A' /* STRING(1) meta=65025 nullable=1 is_null=0 */
|
||||
# Number of rows: 4
|
||||
# at 2354
|
||||
#<date> server id 1 end_log_pos 2427 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -251,6 +256,7 @@ BEGIN
|
||||
### @5=NULL /* INT meta=0 nullable=1 is_null=1 */
|
||||
### SET
|
||||
### @5=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at 2665
|
||||
#<date> server id 1 end_log_pos 2738 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -280,6 +286,7 @@ BEGIN
|
||||
### DELETE FROM `test`.`t1`
|
||||
### WHERE
|
||||
### @1=13 /* INT meta=0 nullable=0 is_null=0 */
|
||||
# Number of rows: 4
|
||||
# at 2927
|
||||
#<date> server id 1 end_log_pos 3000 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
@ -309,6 +316,7 @@ BEGIN
|
||||
### DELETE FROM `test`.`t2`
|
||||
### WHERE
|
||||
### @1=13 /* INT meta=0 nullable=0 is_null=0 */
|
||||
# Number of rows: 4
|
||||
# at 3189
|
||||
#<date> server id 1 end_log_pos 3262 CRC32 XXX Query thread_id=5 exec_time=x error_code=0
|
||||
SET TIMESTAMP=X/*!*/;
|
||||
|
@ -336,10 +336,6 @@ The following options may be given as the first argument:
|
||||
Specifies a directory to add to the ignore list when
|
||||
collecting database names from the datadir. Put a blank
|
||||
argument to reset the list accumulated so far.
|
||||
--in-subquery-conversion-threshold[=#]
|
||||
The minimum number of scalar elements in the value list
|
||||
of IN predicate that triggers its conversion to IN
|
||||
subquery
|
||||
--init-connect=name Command(s) that are executed for each new connection
|
||||
(unless the user has SUPER privilege)
|
||||
--init-file=name Read SQL commands from this file at startup
|
||||
@ -669,7 +665,7 @@ The following options may be given as the first argument:
|
||||
join_cache_hashed, join_cache_bka,
|
||||
optimize_join_buffer_size, table_elimination,
|
||||
extended_keys, exists_to_in, orderby_uses_equalities,
|
||||
condition_pushdown_for_derived, split_grouping_derived
|
||||
condition_pushdown_for_derived, split_materialized
|
||||
--optimizer-use-condition-selectivity=#
|
||||
Controls selectivity of which conditions the optimizer
|
||||
takes into account to calculate cardinality of a partial
|
||||
@ -1426,7 +1422,6 @@ idle-transaction-timeout 0
|
||||
idle-write-transaction-timeout 0
|
||||
ignore-builtin-innodb FALSE
|
||||
ignore-db-dirs
|
||||
in-subquery-conversion-threshold 1000
|
||||
init-connect
|
||||
init-file (No default value)
|
||||
init-rpl-role MASTER
|
||||
@ -1526,7 +1521,7 @@ old-style-user-limits FALSE
|
||||
optimizer-prune-level 1
|
||||
optimizer-search-depth 62
|
||||
optimizer-selectivity-sampling-limit 100
|
||||
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_grouping_derived=on
|
||||
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=off,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on
|
||||
optimizer-use-condition-selectivity 1
|
||||
performance-schema FALSE
|
||||
performance-schema-accounts-size -1
|
||||
|
@ -228,8 +228,4 @@ End of 5.1 tests
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
DELIMITER ;
|
||||
# End of log file
|
||||
ROLLBACK /* added by mysqlbinlog */;
|
||||
/*!50003 SET COMPLETION_TYPE=@OLD_COMPLETION_TYPE*/;
|
||||
/*!50530 SET @@SESSION.PSEUDO_SLAVE_MODE=0*/;
|
||||
ERROR: Failed on connect: SSL connection error
|
@ -27,7 +27,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` where `test`.`t1`.`a` in (1,2)
|
||||
# set minimum number of values in VALUEs list when optimization works to 2
|
||||
set @@in_subquery_conversion_threshold= 2;
|
||||
set @@in_predicate_conversion_threshold= 2;
|
||||
# single IN-predicate in WHERE-part
|
||||
select * from t1 where a in (1,2);
|
||||
a b
|
||||
@ -485,7 +485,7 @@ a b
|
||||
2 5
|
||||
deallocate prepare stmt;
|
||||
# use inside out access from tvc rows
|
||||
set @@in_subquery_conversion_threshold= default;
|
||||
set @@in_predicate_conversion_threshold= default;
|
||||
select * from t3 where a in (1,4,10);
|
||||
a b
|
||||
1 abc
|
||||
@ -498,7 +498,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 SIMPLE t3 range idx idx 5 NULL 5 100.00 Using index condition
|
||||
Warnings:
|
||||
Note 1003 select `test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b` from `test`.`t3` where `test`.`t3`.`a` in (1,4,10)
|
||||
set @@in_subquery_conversion_threshold= 2;
|
||||
set @@in_predicate_conversion_threshold= 2;
|
||||
select * from t3 where a in (1,4,10);
|
||||
a b
|
||||
1 abc
|
||||
@ -515,7 +515,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select `test`.`t3`.`a` AS `a`,`test`.`t3`.`b` AS `b` from `test`.`t3` semi join ((values (1),(4),(10)) `tvc_0`) where `test`.`t3`.`a` = `tvc_0`.`1`
|
||||
# use vectors in IN predeicate
|
||||
set @@in_subquery_conversion_threshold= 4;
|
||||
set @@in_predicate_conversion_threshold= 4;
|
||||
select * from t1 where (a,b) in ((1,2),(3,4));
|
||||
a b
|
||||
1 2
|
||||
@ -527,9 +527,9 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
3 DERIVED NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select `test`.`t1`.`a` AS `a`,`test`.`t1`.`b` AS `b` from `test`.`t1` semi join ((values (1,2),(3,4)) `tvc_0`) where `test`.`t1`.`a` = `tvc_0`.`1` and `test`.`t1`.`b` = `tvc_0`.`2`
|
||||
set @@in_subquery_conversion_threshold= 2;
|
||||
set @@in_predicate_conversion_threshold= 2;
|
||||
# trasformation works for the one IN predicate and doesn't work for the other
|
||||
set @@in_subquery_conversion_threshold= 5;
|
||||
set @@in_predicate_conversion_threshold= 5;
|
||||
select * from t2
|
||||
where (a,b) in ((1,2),(8,9)) and
|
||||
(a,c) in ((1,3),(8,0),(5,1));
|
||||
@ -546,7 +546,7 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
3 DERIVED NULL NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` semi join ((values (1,3),(8,0),(5,1)) `tvc_0`) where `test`.`t2`.`a` = `tvc_0`.`1` and `test`.`t2`.`c` = `tvc_0`.`3` and (`tvc_0`.`1`,`test`.`t2`.`b`) in (<cache>((1,2)),<cache>((8,9)))
|
||||
set @@in_subquery_conversion_threshold= 2;
|
||||
set @@in_predicate_conversion_threshold= 2;
|
||||
#
|
||||
# mdev-14281: conversion of NOT IN predicate into subquery predicate
|
||||
#
|
||||
@ -613,4 +613,4 @@ id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
Warnings:
|
||||
Note 1003 /* select#1 */ select `test`.`t2`.`a` AS `a`,`test`.`t2`.`b` AS `b`,`test`.`t2`.`c` AS `c` from `test`.`t2` where !<expr_cache><`test`.`t2`.`a`,`test`.`t2`.`c`>(<in_optimizer>((`test`.`t2`.`a`,`test`.`t2`.`c`),(`test`.`t2`.`a`,`test`.`t2`.`c`) in ( <materialize> (/* select#2 */ select `tvc_0`.`1`,`tvc_0`.`2` from (values (1,2),(8,9),(5,1)) `tvc_0` ), <primary_index_lookup>(`test`.`t2`.`a` in <temporary table> on distinct_key where `test`.`t2`.`a` = `<subquery2>`.`1` and `test`.`t2`.`c` = `<subquery2>`.`2`))))
|
||||
drop table t1, t2, t3;
|
||||
set @@in_subquery_conversion_threshold= default;
|
||||
set @@in_predicate_conversion_threshold= default;
|
||||
|
@ -26,9 +26,5 @@ ALTER TABLE t1 ADD PARTITION (PARTITION p3 DATA DIRECTORY = 'G:/mysqltest/p3Data
|
||||
Warnings:
|
||||
Warning 1618 <DATA DIRECTORY> option ignored
|
||||
Warning 1618 <INDEX DIRECTORY> option ignored
|
||||
Warning 1618 <DATA DIRECTORY> option ignored
|
||||
Warning 1618 <INDEX DIRECTORY> option ignored
|
||||
Warning 1618 <DATA DIRECTORY> option ignored
|
||||
Warning 1618 <INDEX DIRECTORY> option ignored
|
||||
INSERT INTO t1 VALUES (NULL, "last", 4);
|
||||
DROP TABLE t1;
|
||||
|
@ -4348,6 +4348,24 @@ set join_cache_level=@join_cache_level_save;
|
||||
deallocate prepare stmt;
|
||||
drop view v1,v2,v3;
|
||||
drop table t1,t2,t3;
|
||||
#
|
||||
# MDEV-10657: incorrect result returned with binary protocol
|
||||
# (prepared statements)
|
||||
#
|
||||
create table t1 (code varchar(10) primary key);
|
||||
INSERT INTO t1(code) VALUES ('LINE1'), ('LINE2'), ('LINE3');
|
||||
SELECT X.*
|
||||
FROM
|
||||
(SELECT CODE, RN
|
||||
FROM
|
||||
(SELECT A.CODE, @cnt := @cnt + 1 AS RN
|
||||
FROM t1 A, (SELECT @cnt := 0) C) T
|
||||
) X;
|
||||
CODE RN
|
||||
LINE1 1
|
||||
LINE2 2
|
||||
LINE3 3
|
||||
drop table t1;
|
||||
# End of 5.5 tests
|
||||
#
|
||||
# Start of 10.2 tests
|
||||
@ -5078,6 +5096,35 @@ t1 CREATE TABLE `t1` (
|
||||
DROP TABLE t1;
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# MDEV-14426 Assertion in Diagnostics_area::set_error_status when using a bad datetime with PS and SP
|
||||
#
|
||||
CREATE PROCEDURE p1(OUT a VARCHAR(20))
|
||||
BEGIN
|
||||
SET a=10;
|
||||
END;
|
||||
$$
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE a DATETIME;
|
||||
CALL p1(a);
|
||||
END;
|
||||
$$
|
||||
ERROR 22007: Incorrect datetime value: '10' for column 'a' at row 1
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE a DATETIME;
|
||||
EXECUTE IMMEDIATE 'CALL p1(?)' USING a;
|
||||
END;
|
||||
$$
|
||||
ERROR 22007: Incorrect datetime value: '10' for column 'a' at row 1
|
||||
BEGIN NOT ATOMIC
|
||||
DECLARE a DATETIME;
|
||||
PREPARE stmt FROM 'CALL p1(?)';
|
||||
EXECUTE stmt USING a;
|
||||
DEALLOCATE PREPARE stmt;
|
||||
END;
|
||||
$$
|
||||
ERROR 22007: Incorrect datetime value: '10' for column 'a' at row 1
|
||||
DROP PROCEDURE p1;
|
||||
#
|
||||
# MDEV-14454 Binary protocol returns wrong collation ID for SP OUT parameters
|
||||
#
|
||||
CREATE PROCEDURE p1(OUT v CHAR(32) CHARACTER SET utf8) SET v='aaa';
|
||||
|
@ -1,5 +1,3 @@
|
||||
set in_subquery_conversion_threshold=10000;
|
||||
drop table if exists t1, t2, t3, t10, t100;
|
||||
CREATE TABLE t1 (
|
||||
event_date date DEFAULT '0000-00-00' NOT NULL,
|
||||
type int(11) DEFAULT '0' NOT NULL,
|
||||
@ -1064,7 +1062,9 @@ set @b= concat("explain ", @a);
|
||||
prepare stmt1 from @b;
|
||||
execute stmt1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index a a 5 NULL 1003 Using where; Using index
|
||||
1 PRIMARY t2 index NULL a 5 NULL 1003 Using where; Using index
|
||||
2 MATERIALIZED <derived3> ALL NULL NULL NULL NULL 2
|
||||
3 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
prepare stmt1 from @a;
|
||||
execute stmt1;
|
||||
a
|
||||
@ -3007,4 +3007,3 @@ drop table t1,t2,t3;
|
||||
#
|
||||
# End of 10.2 tests
|
||||
#
|
||||
set in_subquery_conversion_threshold=default;
|
||||
|
@ -1,7 +1,5 @@
|
||||
set @mrr_icp_extra_tmp=@@optimizer_switch;
|
||||
set optimizer_switch='mrr=on,mrr_sort_keys=on,index_condition_pushdown=on';
|
||||
set in_subquery_conversion_threshold=10000;
|
||||
drop table if exists t1, t2, t3, t10, t100;
|
||||
CREATE TABLE t1 (
|
||||
event_date date DEFAULT '0000-00-00' NOT NULL,
|
||||
type int(11) DEFAULT '0' NOT NULL,
|
||||
@ -1066,7 +1064,9 @@ set @b= concat("explain ", @a);
|
||||
prepare stmt1 from @b;
|
||||
execute stmt1;
|
||||
id select_type table type possible_keys key key_len ref rows Extra
|
||||
1 SIMPLE t2 index a a 5 NULL 1003 Using where; Using index
|
||||
1 PRIMARY t2 index NULL a 5 NULL 1003 Using where; Using index
|
||||
2 MATERIALIZED <derived3> ALL NULL NULL NULL NULL 2
|
||||
3 DERIVED NULL NULL NULL NULL NULL NULL NULL No tables used
|
||||
prepare stmt1 from @a;
|
||||
execute stmt1;
|
||||
a
|
||||
@ -3019,5 +3019,4 @@ drop table t1,t2,t3;
|
||||
#
|
||||
# End of 10.2 tests
|
||||
#
|
||||
set in_subquery_conversion_threshold=default;
|
||||
set optimizer_switch=@mrr_icp_extra_tmp;
|
||||
|
@ -141,7 +141,7 @@ order by s_suppkey;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY supplier ALL PRIMARY NULL NULL NULL 10 100.00 Using filesort
|
||||
1 PRIMARY <derived3> ref key0 key0 5 dbt3_s001.supplier.s_suppkey 10 100.00 Using where
|
||||
3 LATERAL DERIVED lineitem range i_l_shipdate,i_l_suppkey i_l_shipdate 4 NULL 268 75.00 Using where
|
||||
3 DERIVED lineitem range i_l_shipdate,i_l_suppkey i_l_shipdate 4 NULL 268 100.00 Using where; Using temporary; Using filesort
|
||||
2 SUBQUERY <derived4> ALL NULL NULL NULL NULL 268 100.00
|
||||
4 DERIVED lineitem range i_l_shipdate i_l_shipdate 4 NULL 268 100.00 Using where; Using temporary; Using filesort
|
||||
Warnings:
|
||||
@ -162,7 +162,7 @@ order by s_suppkey;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY supplier ALL PRIMARY NULL NULL NULL 10 100.00 Using filesort
|
||||
1 PRIMARY <derived3> ref key0 key0 5 dbt3_s001.supplier.s_suppkey 10 100.00 Using where
|
||||
3 LATERAL DERIVED lineitem range i_l_shipdate,i_l_suppkey i_l_shipdate 4 NULL 268 100.00 Using where
|
||||
3 DERIVED lineitem range i_l_shipdate,i_l_suppkey i_l_shipdate 4 NULL 268 100.00 Using where; Using temporary; Using filesort
|
||||
2 SUBQUERY <derived4> ALL NULL NULL NULL NULL 268 100.00
|
||||
4 DERIVED lineitem range i_l_shipdate i_l_shipdate 4 NULL 268 100.00 Using where; Using temporary; Using filesort
|
||||
Warnings:
|
||||
|
@ -144,7 +144,7 @@ order by s_suppkey;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY supplier index PRIMARY PRIMARY 4 NULL 10 100.00
|
||||
1 PRIMARY <derived3> ref key0 key0 5 dbt3_s001.supplier.s_suppkey 10 100.00 Using where
|
||||
3 LATERAL DERIVED lineitem range i_l_shipdate,i_l_suppkey i_l_shipdate 4 NULL 229 75.11 Using where
|
||||
3 DERIVED lineitem range i_l_shipdate,i_l_suppkey i_l_shipdate 4 NULL 229 100.00 Using where; Using temporary; Using filesort
|
||||
2 SUBQUERY <derived4> ALL NULL NULL NULL NULL 229 100.00
|
||||
4 DERIVED lineitem range i_l_shipdate i_l_shipdate 4 NULL 229 100.00 Using where; Using temporary; Using filesort
|
||||
Warnings:
|
||||
@ -165,7 +165,7 @@ order by s_suppkey;
|
||||
id select_type table type possible_keys key key_len ref rows filtered Extra
|
||||
1 PRIMARY supplier index PRIMARY PRIMARY 4 NULL 10 100.00
|
||||
1 PRIMARY <derived3> ref key0 key0 5 dbt3_s001.supplier.s_suppkey 10 100.00 Using where
|
||||
3 LATERAL DERIVED lineitem range i_l_shipdate,i_l_suppkey i_l_shipdate 4 NULL 229 100.00 Using where
|
||||
3 DERIVED lineitem range i_l_shipdate,i_l_suppkey i_l_shipdate 4 NULL 229 100.00 Using where; Using temporary; Using filesort
|
||||
2 SUBQUERY <derived4> ALL NULL NULL NULL NULL 228 100.00
|
||||
4 DERIVED lineitem range i_l_shipdate i_l_shipdate 4 NULL 229 100.00 Using where; Using temporary; Using filesort
|
||||
Warnings:
|
||||
|
@ -5621,6 +5621,20 @@ PREPARE stmt FROM 'REPLACE INTO v2 SELECT a FROM t3';
|
||||
ERROR HY000: Can not insert into join view 'test.v2' without fields list
|
||||
drop view v1,v2;
|
||||
drop table t3;
|
||||
#
|
||||
# MDEV-14619: VIEW and GROUP_CONCAT
|
||||
#
|
||||
CREATE TABLE t1 (str text);
|
||||
INSERT INTO t1 VALUES ("My"),("SQL");
|
||||
CREATE VIEW v1 AS SELECT GROUP_CONCAT(str SEPARATOR '\\') FROM t1;
|
||||
SELECT * FROM v1;
|
||||
GROUP_CONCAT(str SEPARATOR '\\')
|
||||
My\SQL
|
||||
SHOW CREATE VIEW v1;
|
||||
View Create View character_set_client collation_connection
|
||||
v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select group_concat(`t1`.`str` separator '\\') AS `GROUP_CONCAT(str SEPARATOR '\\')` from `t1` latin1 latin1_swedish_ci
|
||||
drop view v1;
|
||||
drop table t1;
|
||||
# -----------------------------------------------------------------
|
||||
# -- End of 5.5 tests.
|
||||
# -----------------------------------------------------------------
|
||||
|
@ -1779,7 +1779,7 @@ EXPLAIN
|
||||
"query_block": {
|
||||
"select_id": 1,
|
||||
"filesort": {
|
||||
"sort_key": "row_number() over ( order by t1.s1,t1.s2)",
|
||||
"sort_key": "row_number() over ( order by t1.s1,t1.s2) desc",
|
||||
"window_functions_computation": {
|
||||
"sorts": {
|
||||
"filesort": {
|
||||
|
@ -33,10 +33,10 @@ a
|
||||
/*!40019 SET @@session.max_insert_delayed_threads=0*/;
|
||||
/*!50003 SET @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0*/;
|
||||
DELIMITER /*!*/;
|
||||
# at 4
|
||||
<#>ROLLBACK/*!*/;
|
||||
# at 102
|
||||
<#>use `test`/*!*/;
|
||||
<#>
|
||||
ROLLBACK/*!*/;
|
||||
<#>
|
||||
use `test`/*!*/;
|
||||
SET TIMESTAMP=1196959712/*!*/;
|
||||
<#>SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=1, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=0/*!*/;
|
||||
SET @@session.sql_mode=0/*!*/;
|
||||
@ -47,7 +47,11 @@ SET @@session.lc_time_names=0/*!*/;
|
||||
SET @@session.collation_database=DEFAULT/*!*/;
|
||||
create table t1 (a int) engine= myisam
|
||||
/*!*/;
|
||||
# at 203
|
||||
<#>
|
||||
<#>
|
||||
<#>
|
||||
<#>
|
||||
<#>
|
||||
DELIMITER ;
|
||||
# End of log file
|
||||
ROLLBACK /* added by mysqlbinlog */;
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -2543,6 +2543,7 @@ BEGIN
|
||||
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -2724,6 +2725,7 @@ BEGIN
|
||||
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -3071,6 +3073,7 @@ BEGIN
|
||||
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -3410,6 +3413,7 @@ BEGIN
|
||||
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -3754,6 +3758,7 @@ BEGIN
|
||||
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -4096,6 +4101,7 @@ BEGIN
|
||||
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -4441,6 +4447,7 @@ BEGIN
|
||||
### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
|
||||
### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
|
||||
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -4620,6 +4627,7 @@ BEGIN
|
||||
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -4796,6 +4804,7 @@ BEGIN
|
||||
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -4975,6 +4984,7 @@ BEGIN
|
||||
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -5152,6 +5162,7 @@ BEGIN
|
||||
### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
|
||||
### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
|
||||
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -5345,6 +5356,7 @@ BEGIN
|
||||
### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||
### @3=9 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 9
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -5423,6 +5435,7 @@ BEGIN
|
||||
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 7
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -5473,6 +5486,7 @@ BEGIN
|
||||
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 7
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -5766,6 +5780,7 @@ BEGIN
|
||||
### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=19 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 9
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -5835,6 +5850,7 @@ BEGIN
|
||||
### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=29 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 9
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -5904,6 +5920,7 @@ BEGIN
|
||||
### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=39 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 9
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -6093,6 +6110,7 @@ BEGIN
|
||||
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 18
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -6207,6 +6225,7 @@ BEGIN
|
||||
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 18
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -6338,6 +6357,7 @@ BEGIN
|
||||
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
|
@ -2543,6 +2543,7 @@ BEGIN
|
||||
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -2727,6 +2728,7 @@ BEGIN
|
||||
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -3076,6 +3078,7 @@ BEGIN
|
||||
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -3417,6 +3420,7 @@ BEGIN
|
||||
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -3763,6 +3767,7 @@ BEGIN
|
||||
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -4107,6 +4112,7 @@ BEGIN
|
||||
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -4454,6 +4460,7 @@ BEGIN
|
||||
### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
|
||||
### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
|
||||
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -4635,6 +4642,7 @@ BEGIN
|
||||
### @77=3 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000111' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -4813,6 +4821,7 @@ BEGIN
|
||||
### @77=1 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000000' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -4994,6 +5003,7 @@ BEGIN
|
||||
### @77=2 /* ENUM(1 byte) meta=63233 nullable=1 is_null=0 */
|
||||
### @78=b'00000110' /* SET(1 bytes) meta=63489 nullable=1 is_null=0 */
|
||||
### @79=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -5173,6 +5183,7 @@ BEGIN
|
||||
### @77=NULL /* ENUM(1 byte) meta=63233 nullable=1 is_null=1 */
|
||||
### @78=NULL /* SET(1 bytes) meta=63489 nullable=1 is_null=1 */
|
||||
### @79=4 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -5368,6 +5379,7 @@ BEGIN
|
||||
### @1='2008:08:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-09' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||
### @3=9 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 9
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -5448,6 +5460,7 @@ BEGIN
|
||||
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 7
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -5500,6 +5513,7 @@ BEGIN
|
||||
### @1='2008:08:17' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-07' /* VARSTRING(24) meta=24 nullable=1 is_null=0 */
|
||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 7
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -5795,6 +5809,7 @@ BEGIN
|
||||
### @1='2008:01:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-01-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=19 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 9
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -5866,6 +5881,7 @@ BEGIN
|
||||
### @1='2008:02:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-02-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=29 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 9
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -5937,6 +5953,7 @@ BEGIN
|
||||
### @1='2008:03:09' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-03-09' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=39 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 9
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -6128,6 +6145,7 @@ BEGIN
|
||||
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 18
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -6244,6 +6262,7 @@ BEGIN
|
||||
### @1='2038:03:07' /* DATE meta=0 nullable=1 is_null=0 */
|
||||
### @2='VARCHAR-03-07' /* VARSTRING(255) meta=255 nullable=1 is_null=0 */
|
||||
### @3=7 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 18
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -6377,6 +6396,7 @@ BEGIN
|
||||
### @1=5 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @3='Wow' /* VARSTRING(60) meta=60 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
|
@ -193,6 +193,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
@ -221,6 +222,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
@ -232,6 +234,7 @@ BEGIN
|
||||
### WHERE
|
||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -275,6 +278,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -313,6 +317,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -334,6 +339,7 @@ BEGIN
|
||||
### WHERE
|
||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -363,6 +369,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
@ -391,6 +398,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
@ -402,6 +410,7 @@ BEGIN
|
||||
### WHERE
|
||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -445,6 +454,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -483,6 +493,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=13 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-3' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -504,6 +515,7 @@ BEGIN
|
||||
### WHERE
|
||||
### @1=12 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2='varchar-2' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id 1 end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
|
@ -162,6 +162,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -188,6 +189,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -214,6 +216,7 @@ BEGIN
|
||||
### INSERT INTO `test3`.`t3`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -255,6 +258,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 6
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -281,6 +285,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -309,6 +314,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -386,6 +392,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -551,6 +558,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -575,6 +583,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -599,6 +608,7 @@ BEGIN
|
||||
### INSERT INTO `test3`.`t3`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -636,6 +646,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 6
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -660,6 +671,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -684,6 +696,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -773,6 +786,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -799,6 +813,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -825,6 +840,7 @@ BEGIN
|
||||
### INSERT INTO `test3`.`t3`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -866,6 +882,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 6
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -892,6 +909,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -920,6 +938,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -997,6 +1016,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -1161,6 +1181,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -1184,6 +1205,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -1207,6 +1229,7 @@ BEGIN
|
||||
### INSERT INTO `test3`.`t3`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -1243,6 +1266,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 6
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -1266,6 +1290,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -1289,6 +1314,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
|
@ -18,6 +18,8 @@ DELIMITER /*!*/;
|
||||
ROLLBACK/*!*/;
|
||||
BEGIN
|
||||
/*!*/;
|
||||
# Annotate_rows:
|
||||
#Q> insert into t2 values (@v)
|
||||
SET TIMESTAMP=10000/*!*/;
|
||||
SET @@session.pseudo_thread_id=999999999/*!*/;
|
||||
SET @@session.foreign_key_checks=1, @@session.sql_auto_is_null=0, @@session.unique_checks=1, @@session.autocommit=1, @@session.check_constraint_checks=1/*!*/;
|
||||
@ -114,6 +116,7 @@ BEGIN
|
||||
### INSERT INTO `test`.`t1`
|
||||
### SET
|
||||
### @1='ä(i1)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=XXX/*!*/;
|
||||
@ -134,6 +137,7 @@ BEGIN
|
||||
### INSERT INTO `test`.`t1`
|
||||
### SET
|
||||
### @1='ä(i2)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=XXX/*!*/;
|
||||
@ -154,6 +158,7 @@ BEGIN
|
||||
### INSERT INTO `test`.`t1`
|
||||
### SET
|
||||
### @1='ä(i3)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=XXX/*!*/;
|
||||
@ -174,6 +179,7 @@ BEGIN
|
||||
### INSERT INTO `test`.`t1`
|
||||
### SET
|
||||
### @1='ä(p1)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=XXX/*!*/;
|
||||
@ -194,6 +200,7 @@ BEGIN
|
||||
### INSERT INTO `test`.`t1`
|
||||
### SET
|
||||
### @1='ä(p2)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=XXX/*!*/;
|
||||
@ -214,6 +221,7 @@ BEGIN
|
||||
### INSERT INTO `test`.`t1`
|
||||
### SET
|
||||
### @1='ä(p3)' /* VARSTRING(30) meta=30 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#YYMMDD HH:MM:SS server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=XXX/*!*/;
|
||||
|
@ -79,6 +79,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -111,6 +112,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -132,6 +134,7 @@ BEGIN
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -164,6 +167,7 @@ BEGIN
|
||||
### INSERT INTO `new_test3`.`t3`
|
||||
### SET
|
||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -185,6 +189,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -223,6 +228,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 5
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -243,6 +249,7 @@ BEGIN
|
||||
### DELETE FROM `new_test3`.`t3`
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -313,6 +320,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -345,6 +353,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -366,6 +375,7 @@ BEGIN
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -398,6 +408,7 @@ BEGIN
|
||||
### INSERT INTO `new_test3`.`t3`
|
||||
### SET
|
||||
### @1=2 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -419,6 +430,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -457,6 +469,7 @@ BEGIN
|
||||
### SET
|
||||
### @1=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
### @2=6 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 5
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -477,6 +490,7 @@ BEGIN
|
||||
### DELETE FROM `new_test3`.`t3`
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # CRC32 XXX Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
|
@ -100,6 +100,7 @@ BEGIN
|
||||
### @6='' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -125,6 +126,7 @@ BEGIN
|
||||
### @6='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -150,6 +152,7 @@ BEGIN
|
||||
### @6='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 1
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -203,6 +206,7 @@ BEGIN
|
||||
### @6='abc' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='abcdefg' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='abcedfghijklmnopqrstuvwxyz' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 2
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -248,6 +252,7 @@ BEGIN
|
||||
### @6='aaaaaaaaaa' /* STRING(10) meta=65034 nullable=1 is_null=0 */
|
||||
### @7='aaaaaaaaaaaaaaaaaaaa' /* VARSTRING(20) meta=20 nullable=1 is_null=0 */
|
||||
### @8='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' /* BLOB/TEXT meta=2 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
COMMIT/*!*/;
|
||||
@ -272,18 +277,23 @@ ROLLBACK/*!*/;
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> INSERT INTO t1 VALUES(0,0,0,0,0,'','','')
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 1
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> INSERT INTO t1 VALUES(1,2,3,4,5, "abc", "abcdefg", "abcedfghijklmnopqrstuvwxyz")
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 1
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> INSERT INTO t1 VALUES(127, 32767, 8388607, 2147483647, 9223372036854775807, repeat('a', 10), repeat('a', 20), repeat('a', 255))
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 1
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> UPDATE t1 SET c01=100 WHERE c02=0 OR c03=3
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 2
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Annotate_rows:
|
||||
#Q> DELETE FROM t1
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Table_map: `test`.`t1` mapped to number #
|
||||
# Number of rows: 3
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Rotate to master-bin.000002 pos: 4
|
||||
#010909 9:46:40 server id 1 end_log_pos # CRC32 XXX Xid = #
|
||||
BEGIN/*!*/;
|
||||
|
@ -68,15 +68,12 @@ TFtYRxcBAAAAIgAAAKEBAAAQABAAAAAAAAEAAf/+AwAAAA==
|
||||
select * from t1;
|
||||
|
||||
|
||||
# Test that mysqlbinlog stops with an error message when the
|
||||
# --base64-output=never flag is used on a binlog with base64 events.
|
||||
# New mysqlbinlog supports --base64-output=never
|
||||
--echo ==== Test --base64-output=never on a binlog with row events ====
|
||||
|
||||
# mysqlbinlog should fail
|
||||
--replace_regex /#[0-9][0-9][0-9][0-9][0-9][0-9] .*/<#>/ /SET \@\@session.pseudo_thread_id.*/<#>/
|
||||
error 1;
|
||||
exec $MYSQL_BINLOG --base64-output=never suite/binlog/std_data/bug32407.001;
|
||||
# the above line should output the query log event and then stop
|
||||
--replace_regex /#[0-9][0-9][0-9][0-9][0-9][0-9] \N*/<#>/ /SET \@\@session.pseudo_thread_id.*/<#>/
|
||||
exec $MYSQL_BINLOG --base64-output=never --print-row-count=0 --print-row-event-positions=0 suite/binlog/std_data/bug32407.001;
|
||||
|
||||
|
||||
# Test that the following fails cleanly: "First, read a
|
||||
|
@ -438,6 +438,8 @@ INSERT INTO t2 SET b=1;
|
||||
UPDATE t1, t2 SET t1.a=10, t2.a=20;
|
||||
DROP TABLE t1,t2;
|
||||
|
||||
flush logs;
|
||||
|
||||
let $MYSQLD_DATADIR= `select @@datadir`;
|
||||
|
||||
--copy_file std_data/old_decimal/t1dec102.frm $MYSQLD_DATADIR/test/t1dec102.frm
|
||||
@ -455,3 +457,8 @@ flush logs;
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
|
||||
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000001
|
||||
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--replace_regex /SQL_LOAD_MB-[0-9]-[0-9]/SQL_LOAD_MB-#-#/ /exec_time=[0-9]*/exec_time=#/ /end_log_pos [0-9]*/end_log_pos #/ /# at [0-9]*/# at #/ /thread_id=[0-9]*/thread_id=#/ /table id [0-9]*/table id #/ /mapped to number [0-9]*/mapped to number #/ /server v [^ ]*/server v #.##.##/ /(@[0-9]*=[0-9]*[.][0-9]{1,3})[0-9e+-]*[^ ]*(.*(FLOAT|DOUBLE).*[*].)/\1...\2/ /CRC32 0x[0-9a-f]*/CRC32 XXX/
|
||||
--error 1
|
||||
--exec $MYSQL_BINLOG --base64-output=decode-rows -v -v $MYSQLD_DATADIR/master-bin.000002 2>&1
|
||||
|
@ -163,6 +163,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -189,6 +190,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -215,6 +217,7 @@ BEGIN
|
||||
### INSERT INTO `test3`.`t3`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -256,6 +259,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 6
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -282,6 +286,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -310,6 +315,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -387,6 +393,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -551,6 +558,7 @@ BEGIN
|
||||
### INSERT INTO `test1`.`t1`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -574,6 +582,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -597,6 +606,7 @@ BEGIN
|
||||
### INSERT INTO `test3`.`t3`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -633,6 +643,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 6
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -656,6 +667,7 @@ BEGIN
|
||||
### INSERT INTO `test2`.`t2`
|
||||
### SET
|
||||
### @1=3 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
@ -679,6 +691,7 @@ BEGIN
|
||||
### DELETE FROM `test2`.`t2`
|
||||
### WHERE
|
||||
### @1=1 /* INT meta=0 nullable=1 is_null=0 */
|
||||
# Number of rows: 3
|
||||
# at #
|
||||
#010909 4:46:40 server id # end_log_pos # Query thread_id=# exec_time=# error_code=0
|
||||
SET TIMESTAMP=1000000000/*!*/;
|
||||
|
@ -40,14 +40,15 @@ SELECT * FROM INFORMATION_SCHEMA.ENGINES
|
||||
WHERE engine = 'innodb'
|
||||
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||
FOUND 1 /InnoDB: Upgrade after a crash is not supported\. The redo log was created with malicious intentions, or perhaps, and it appears corrupted\./ in mysqld.1.err
|
||||
FOUND 1 /InnoDB: Invalid log block checksum. block: 2372 checkpoint no: 1 expected: 3362026715 found: 144444122/ in mysqld.1.err
|
||||
FOUND 1 /InnoDB: Missing MLOG_CHECKPOINT between the checkpoint 1213964 and the end 1213952\./ in mysqld.1.err
|
||||
# same, but with current-version header
|
||||
SELECT * FROM INFORMATION_SCHEMA.ENGINES
|
||||
WHERE engine = 'innodb'
|
||||
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||
FOUND 1 /InnoDB: Invalid log block checksum. block: 2372 checkpoint no: 1 expected: 3362026715 found: 144444122/ in mysqld.1.err
|
||||
FOUND 1 /InnoDB: Missing MLOG_CHECKPOINT between the checkpoint 1213964 and the end 1213952\./ in mysqld.1.err
|
||||
FOUND 2 /InnoDB: Invalid log block checksum. block: 2372 checkpoint no: 1 expected: 3362026715 found: 144444122/ in mysqld.1.err
|
||||
FOUND 2 /InnoDB: Missing MLOG_CHECKPOINT between the checkpoint 1213964 and the end 1213952\./ in mysqld.1.err
|
||||
# --innodb-force-recovery=6 (skip the entire redo log)
|
||||
SELECT * FROM INFORMATION_SCHEMA.ENGINES
|
||||
WHERE engine = 'innodb'
|
||||
@ -98,6 +99,13 @@ WHERE engine = 'innodb'
|
||||
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||
NOT FOUND /InnoDB: Missing MLOG_FILE_NAME or MLOG_FILE_DELETE before MLOG_CHECKPOINT for tablespace 42$/ in mysqld.1.err
|
||||
# Clean 10.2 redo log
|
||||
SELECT * FROM INFORMATION_SCHEMA.ENGINES
|
||||
WHERE engine = 'innodb'
|
||||
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
||||
ENGINE SUPPORT COMMENT TRANSACTIONS XA SAVEPOINTS
|
||||
InnoDB YES Supports transactions, row-level locking, foreign keys and encryption for tables YES YES YES
|
||||
FOUND 1 /InnoDB: Upgrading redo log:/ in mysqld.1.err
|
||||
# Minimal MariaDB 10.1.21 encrypted redo log
|
||||
SELECT COUNT(*) `1` FROM INFORMATION_SCHEMA.ENGINES WHERE engine='innodb'
|
||||
AND support IN ('YES', 'DEFAULT', 'ENABLED');
|
||||
|
@ -9,7 +9,7 @@ INSERT INTO t1 VALUES (1,'node_1');
|
||||
connection node_2a;
|
||||
connection node_2;
|
||||
INSERT INTO t1 VALUES (2, 'node_2');
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
wsrep_local_aborts_increment
|
||||
1
|
||||
DROP TABLE t1;
|
||||
|
@ -10,7 +10,7 @@ SELECT GET_LOCK("foo", 1000);;
|
||||
connection node_1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
connection node_2;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
wsrep_local_aborts_increment
|
||||
1
|
||||
DROP TABLE t1;
|
||||
|
@ -6,7 +6,7 @@ SELECT SLEEP(1000);;
|
||||
connection node_1;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
connection node_2;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
wsrep_local_aborts_increment
|
||||
1
|
||||
DROP TABLE t1;
|
||||
|
@ -38,7 +38,7 @@ connection node_1;
|
||||
COMMIT;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
connection node_1;
|
||||
SELECT COUNT(*) = 1 FROM t1 WHERE f1 = 'three';
|
||||
COUNT(*) = 1
|
||||
|
@ -22,6 +22,6 @@ connection node_1;
|
||||
COMMIT;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
DROP TABLE child;
|
||||
DROP TABLE parent;
|
||||
|
36
mysql-test/suite/galera/r/galera_gtid_slave.result
Normal file
36
mysql-test/suite/galera/r/galera_gtid_slave.result
Normal file
@ -0,0 +1,36 @@
|
||||
connect node_2a, 127.0.0.1, root, , test, $NODE_MYPORT_2;
|
||||
connection node_2;
|
||||
START SLAVE;
|
||||
connection node_1;
|
||||
CREATE TABLE t1 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
|
||||
CREATE TABLE t2 (f1 INTEGER PRIMARY KEY) ENGINE=InnoDB;
|
||||
INSERT INTO t1 VALUES(1);
|
||||
begin;
|
||||
insert into t2 values(21);
|
||||
insert into t2 values(22);
|
||||
commit;
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-4
|
||||
connection node_2;
|
||||
INSERT INTO t1 VALUES(2);
|
||||
INSERT INTO t1 VALUES(3);
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-4,2-2-2
|
||||
connect node_3, 127.0.0.1, root, , test, $NODE_MYPORT_3;
|
||||
INSERT INTO t1 VALUES(4);
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-4,2-2-2,2-3-3
|
||||
connection node_1;
|
||||
DROP TABLE t1,t2;
|
||||
reset master;
|
||||
connection node_2;
|
||||
connection node_3;
|
||||
connection node_2;
|
||||
STOP SLAVE;
|
||||
RESET SLAVE ALL;
|
||||
reset master;
|
||||
connection node_3;
|
||||
reset master;
|
130
mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result
Normal file
130
mysql-test/suite/galera/r/galera_gtid_slave_sst_rsync.result
Normal file
@ -0,0 +1,130 @@
|
||||
#Connection 2
|
||||
START SLAVE;
|
||||
#Connection 1
|
||||
CREATE TABLE t2 (f1 INTEGER PRIMARY KEY, f2 int unique) ENGINE=InnoDB;
|
||||
INSERT INTO t2 VALUES(1,11);
|
||||
INSERT INTO t2 VALUES(2,22);
|
||||
INSERT INTO t2 VALUES(3,33);
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-4
|
||||
include/save_master_gtid.inc
|
||||
#Connection 2
|
||||
include/sync_with_master_gtid.inc
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-4
|
||||
INSERT INTO t2 VALUES(4,44);
|
||||
INSERT INTO t2 VALUES(5,55);
|
||||
INSERT INTO t2 VALUES(6,66);
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-4,2-2-3
|
||||
#Connection 3
|
||||
INSERT INTO t2 VALUES(7,77);
|
||||
INSERT INTO t2 VALUES(8,88);
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-4,2-2-3,2-3-5
|
||||
#Connection 1
|
||||
CREATE TABLE t1 (f1 CHAR(255)) ENGINE=InnoDB;
|
||||
SET AUTOCOMMIT=OFF;
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 VALUES ('node1_committed_before');
|
||||
INSERT INTO t1 VALUES ('node1_committed_before');
|
||||
COMMIT;
|
||||
include/save_master_gtid.inc
|
||||
#Connection 2
|
||||
include/sync_with_master_gtid.inc
|
||||
SET AUTOCOMMIT=OFF;
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 VALUES ('node2_committed_before');
|
||||
INSERT INTO t1 VALUES ('node2_committed_before');
|
||||
COMMIT;
|
||||
#Connection 3
|
||||
Shutting down server ...
|
||||
#Connection 2
|
||||
SET AUTOCOMMIT=OFF;
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 VALUES ('node1_committed_during');
|
||||
INSERT INTO t1 VALUES ('node1_committed_during');
|
||||
COMMIT;
|
||||
#Connection 3
|
||||
Starting server ...
|
||||
SET AUTOCOMMIT=OFF;
|
||||
START TRANSACTION;
|
||||
INSERT INTO t1 VALUES ('node3_committed_after');
|
||||
INSERT INTO t1 VALUES ('node3_committed_after');
|
||||
COMMIT;
|
||||
#Connection 2
|
||||
Select * from t1 order by f1;
|
||||
f1
|
||||
node1_committed_before
|
||||
node1_committed_before
|
||||
node1_committed_during
|
||||
node1_committed_during
|
||||
node2_committed_before
|
||||
node2_committed_before
|
||||
node3_committed_after
|
||||
node3_committed_after
|
||||
#Connection 3
|
||||
Select * from t1 order by f1;
|
||||
f1
|
||||
node1_committed_before
|
||||
node1_committed_before
|
||||
node1_committed_during
|
||||
node1_committed_during
|
||||
node2_committed_before
|
||||
node2_committed_before
|
||||
node3_committed_after
|
||||
node3_committed_after
|
||||
#Connection 2
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-6,2-2-7,2-3-8
|
||||
#Connection 3
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-6,2-2-7,2-3-8
|
||||
#Connection 1
|
||||
SET AUTOCOMMIT=ON;
|
||||
#Connection 2
|
||||
SET AUTOCOMMIT=ON;
|
||||
#Connection 3
|
||||
SET AUTOCOMMIT=ON;
|
||||
#Connection 2
|
||||
STOP slave;
|
||||
INSERT INTO t1 VALUES ('node2_slave_stoped');
|
||||
#Connection 1
|
||||
INSERT INTO t1 VALUES ('node1_normal_entry');
|
||||
include/save_master_gtid.inc
|
||||
#Connection 2
|
||||
INSERT INTO t1 VALUES ('node2_slave_stoped_inserted');
|
||||
start slave;
|
||||
include/sync_with_master_gtid.inc
|
||||
INSERT INTO t1 VALUES ('node2_slave_started');
|
||||
SELECT count(*) from t1;
|
||||
count(*)
|
||||
12
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-7,2-3-8,2-2-11
|
||||
#Connection 3
|
||||
SELECT count(*) from t1;
|
||||
count(*)
|
||||
12
|
||||
SELECT @@global.gtid_binlog_state;
|
||||
@@global.gtid_binlog_state
|
||||
1-1-7,2-3-8,2-2-11
|
||||
#Connection 1
|
||||
DROP TABLE t2,t1;
|
||||
#Connection 2
|
||||
#Connection 3
|
||||
#Connection 2
|
||||
STOP SLAVE;
|
||||
RESET SLAVE ALL;
|
||||
reset master;
|
||||
#Connection 3
|
||||
reset master;
|
||||
#Connection 1
|
||||
reset master;
|
@ -51,7 +51,7 @@ connection node_1;
|
||||
COMMIT;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
ROLLBACK;
|
||||
INSERT INTO t1 VALUES (1), (2);
|
||||
ERROR 23000: Duplicate entry '1' for key 'PRIMARY'
|
||||
|
@ -129,5 +129,5 @@ connection node_1;
|
||||
COMMIT;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
DROP TABLE t1;
|
||||
|
@ -28,7 +28,7 @@ SET DEBUG_SYNC = "now SIGNAL signal.wsrep_before_mdl_wait";
|
||||
SET DEBUG_SYNC = "now SIGNAL signal.wsrep_after_BF_victim_lock";
|
||||
UNLOCK TABLES;
|
||||
connection node_1;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
SELECT COUNT(*) = 1 FROM t1 WHERE f2 = 'a';
|
||||
COUNT(*) = 1
|
||||
1
|
||||
|
@ -28,6 +28,6 @@ connection node_1;
|
||||
COMMIT;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
|
@ -28,6 +28,6 @@ connection node_1;
|
||||
COMMIT;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
|
@ -31,6 +31,6 @@ connection node_1;
|
||||
COMMIT;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
DROP TABLE t1;
|
||||
DROP TABLE t2;
|
||||
|
@ -19,7 +19,7 @@ connection node_1;
|
||||
COMMIT;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
SELECT f1 = 'текст2' FROM t1;
|
||||
f1 = 'текст2'
|
||||
1
|
||||
|
@ -27,6 +27,6 @@ COMMIT;
|
||||
SET AUTOCOMMIT=ON;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
SET AUTOCOMMIT=ON;
|
||||
DROP TABLE t1;
|
||||
|
@ -24,6 +24,6 @@ COMMIT;
|
||||
SET AUTOCOMMIT=ON;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
SET AUTOCOMMIT=ON;
|
||||
DROP TABLE t1;
|
||||
|
@ -9,7 +9,7 @@ connection node_2;
|
||||
INSERT INTO t1 VALUES (1,1);
|
||||
connection node_1;
|
||||
SELECT * FROM t1;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
ROLLBACK;
|
||||
DELETE FROM t1;
|
||||
connection node_1;
|
||||
@ -22,7 +22,7 @@ connection node_2;
|
||||
UPDATE t1 SET f2 = 2;
|
||||
connection node_1;
|
||||
UPDATE t1 SET f2 = 3;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
ROLLBACK;
|
||||
DELETE FROM t1;
|
||||
connection node_1;
|
||||
@ -33,5 +33,5 @@ connection node_2;
|
||||
INSERT INTO t1 VALUES (1,2);
|
||||
connection node_1;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
DROP TABLE t1;
|
||||
|
@ -14,9 +14,9 @@ INSERT INTO t2 (f1) SELECT 1 FROM ten AS a1, ten AS a2, ten AS a3, ten AS a4, te
|
||||
connection node_2;
|
||||
DROP DATABASE database1;;
|
||||
connection node_1;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
connection node_1a;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
connection node_2;
|
||||
connection node_1;
|
||||
SELECT COUNT(*) = 0 FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'database1';
|
||||
|
@ -8,7 +8,7 @@ connection node_2a;
|
||||
ALTER TABLE t1 ADD COLUMN f2 INTEGER, LOCK=EXCLUSIVE;
|
||||
connection node_2;
|
||||
COMMIT;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
connection node_1;
|
||||
INSERT INTO t1 VALUES (2, 2);
|
||||
SELECT COUNT(*) = 2 FROM t1;
|
||||
|
@ -9,7 +9,7 @@ connection node_1;
|
||||
TRUNCATE TABLE t1;;
|
||||
connection node_1;
|
||||
connection node_2;
|
||||
ERROR 40001: wsrep aborted transaction
|
||||
ERROR 40001: Deadlock: wsrep aborted transaction
|
||||
connection node_2;
|
||||
SELECT COUNT(*) = 0 FROM t1;
|
||||
COUNT(*) = 0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user