mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-tmp sql/item.cc: Auto merged sql/item_sum.cc: Auto merged sql/item_sum.h: Auto merged sql/sql_load.cc: Auto merged sql/sql_parse.cc: Auto merged
This commit is contained in:
@ -1828,6 +1828,7 @@ mysql_execute_command(THD *thd)
|
||||
{
|
||||
if (check_global_access(thd, REPL_SLAVE_ACL))
|
||||
goto error;
|
||||
/* This query don't work now. See comment in repl_failsafe.cc */
|
||||
#ifndef WORKING_NEW_MASTER
|
||||
net_printf(thd, ER_NOT_SUPPORTED_YET, "SHOW NEW MASTER");
|
||||
res= 1;
|
||||
@ -2636,11 +2637,12 @@ mysql_execute_command(THD *thd)
|
||||
break;
|
||||
case SQLCOM_SHOW_STATUS:
|
||||
res= mysqld_show(thd,(lex->wild ? lex->wild->ptr() : NullS),status_vars,
|
||||
OPT_GLOBAL);
|
||||
OPT_GLOBAL, &LOCK_status);
|
||||
break;
|
||||
case SQLCOM_SHOW_VARIABLES:
|
||||
res= mysqld_show(thd, (lex->wild ? lex->wild->ptr() : NullS),
|
||||
init_vars, lex->option_type);
|
||||
init_vars, lex->option_type,
|
||||
&LOCK_global_system_variables);
|
||||
break;
|
||||
case SQLCOM_SHOW_LOGS:
|
||||
#ifdef DONT_ALLOW_SHOW_COMMANDS
|
||||
@ -3162,7 +3164,16 @@ mysql_execute_command(THD *thd)
|
||||
thd->server_status&= ~SERVER_STATUS_IN_TRANS;
|
||||
if (!ha_rollback(thd))
|
||||
{
|
||||
if (thd->options & OPTION_STATUS_NO_TRANS_UPDATE)
|
||||
/*
|
||||
If a non-transactional table was updated, warn; don't warn if this is a
|
||||
slave thread (because when a slave thread executes a ROLLBACK, it has
|
||||
been read from the binary log, so it's 100% sure and normal to produce
|
||||
error ER_WARNING_NOT_COMPLETE_ROLLBACK. If we sent the warning to the
|
||||
slave SQL thread, it would not stop the thread but just be printed in
|
||||
the error log; but we don't want users to wonder why they have this
|
||||
message in the error log, so we don't send it.
|
||||
*/
|
||||
if ((thd->options & OPTION_STATUS_NO_TRANS_UPDATE) && !thd->slave_thread)
|
||||
send_warning(thd,ER_WARNING_NOT_COMPLETE_ROLLBACK,0);
|
||||
else
|
||||
send_ok(thd);
|
||||
@ -3174,7 +3185,7 @@ mysql_execute_command(THD *thd)
|
||||
case SQLCOM_ROLLBACK_TO_SAVEPOINT:
|
||||
if (!ha_rollback_to_savepoint(thd, lex->savepoint_name))
|
||||
{
|
||||
if (thd->options & OPTION_STATUS_NO_TRANS_UPDATE)
|
||||
if ((thd->options & OPTION_STATUS_NO_TRANS_UPDATE) && !thd->slave_thread)
|
||||
send_warning(thd, ER_WARNING_NOT_COMPLETE_ROLLBACK, 0);
|
||||
else
|
||||
send_ok(thd);
|
||||
|
Reference in New Issue
Block a user