mirror of
https://github.com/MariaDB/server.git
synced 2025-08-01 03:47:19 +03:00
Auto-merge from mysql-next-mr.
This commit is contained in:
@ -284,7 +284,7 @@ enum enum_commands {
|
||||
Q_SEND_QUIT, Q_CHANGE_USER, Q_MKDIR, Q_RMDIR,
|
||||
Q_LIST_FILES, Q_LIST_FILES_WRITE_FILE, Q_LIST_FILES_APPEND_FILE,
|
||||
Q_SEND_SHUTDOWN, Q_SHUTDOWN_SERVER,
|
||||
Q_MOVE_FILE,
|
||||
Q_MOVE_FILE, Q_SEND_EVAL,
|
||||
|
||||
Q_UNKNOWN, /* Unknown command. */
|
||||
Q_COMMENT, /* Comments, ignored. */
|
||||
@ -379,6 +379,7 @@ const char *command_names[]=
|
||||
"send_shutdown",
|
||||
"shutdown_server",
|
||||
"move_file",
|
||||
"send_eval",
|
||||
|
||||
0
|
||||
};
|
||||
@ -7056,7 +7057,7 @@ void run_query(struct st_connection *cn, struct st_command *command, int flags)
|
||||
/*
|
||||
Evaluate query if this is an eval command
|
||||
*/
|
||||
if (command->type == Q_EVAL)
|
||||
if (command->type == Q_EVAL || command->type == Q_SEND_EVAL)
|
||||
{
|
||||
init_dynamic_string(&eval_query, "", command->query_len+256, 1024);
|
||||
do_eval(&eval_query, command->query, command->end, FALSE);
|
||||
@ -7880,6 +7881,7 @@ int main(int argc, char **argv)
|
||||
break;
|
||||
}
|
||||
case Q_SEND:
|
||||
case Q_SEND_EVAL:
|
||||
if (!*command->first_argument)
|
||||
{
|
||||
/*
|
||||
|
@ -58,11 +58,7 @@ select 1 as xml;
|
||||
xml
|
||||
1
|
||||
create table t2(fl text);
|
||||
LOAD XML LOCAL INFILE "$MYSQLTEST_VARDIR/tmp/loadxml-dump.xml" INTO TABLE t2 ROWS IDENTIFIED BY '<person>';;
|
||||
show processlist;
|
||||
Id User Host db Command Time State Info
|
||||
# root localhost test Query # NULL show processlist
|
||||
# root localhost test Query # Reading from net LOAD XML LOCAL INFILE "$MYSQLTEST_VARDIR/tmp/loadxml-dump.xml" INTO TABLE t2 ROWS IDENTIFIED BY '<p
|
||||
LOAD XML LOCAL INFILE "MYSQLTEST_VARDIR/tmp/loadxml-dump.xml" INTO TABLE t2 ROWS IDENTIFIED BY '<person>';;
|
||||
drop table t1;
|
||||
drop table t2;
|
||||
create table t1 (
|
||||
|
@ -70,17 +70,18 @@ connection addconroot;
|
||||
create table t2(fl text);
|
||||
--let $PSEUDO_THREAD_ID=`select @@pseudo_thread_id `
|
||||
|
||||
--send LOAD XML LOCAL INFILE "$MYSQLTEST_VARDIR/tmp/loadxml-dump.xml" INTO TABLE t2 ROWS IDENTIFIED BY '<person>';
|
||||
--replace_result $MYSQLTEST_VARDIR MYSQLTEST_VARDIR
|
||||
--send_eval LOAD XML LOCAL INFILE "$MYSQLTEST_VARDIR/tmp/loadxml-dump.xml" INTO TABLE t2 ROWS IDENTIFIED BY '<person>';
|
||||
|
||||
sleep 3;
|
||||
|
||||
|
||||
connection default;
|
||||
--replace_column 1 # 3 localhost 6 #
|
||||
show processlist;
|
||||
sleep 1;
|
||||
|
||||
--disable_query_log
|
||||
--eval kill $PSEUDO_THREAD_ID
|
||||
sleep 2;
|
||||
--enable_query_log
|
||||
|
||||
disconnect addconroot;
|
||||
|
@ -66,9 +66,12 @@ static int _mi_cmp_buffer(File file, const uchar *buff, my_off_t filepos,
|
||||
my_bool mi_dynmap_file(MI_INFO *info, my_off_t size)
|
||||
{
|
||||
DBUG_ENTER("mi_dynmap_file");
|
||||
if (size > (my_off_t) (~((size_t) 0)))
|
||||
if (size == 0 || size > (my_off_t) (~((size_t) 0)))
|
||||
{
|
||||
if (size)
|
||||
DBUG_PRINT("warning", ("File is too large for mmap"));
|
||||
else
|
||||
DBUG_PRINT("warning", ("Do not mmap zero-length"));
|
||||
DBUG_RETURN(1);
|
||||
}
|
||||
/*
|
||||
|
Reference in New Issue
Block a user