Skip to content

Commit 33cbba7

Browse files
author
Yashwant Sahu
committed
WL#6784: SHUTDOWN SQL command
1 parent 68bc46c commit 33cbba7

File tree

100 files changed

+276
-106
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+276
-106
lines changed

client/mysqladmin.cc

+12-4
Original file line numberDiff line numberDiff line change
@@ -710,12 +710,20 @@ static int execute_commands(MYSQL *mysql,int argc, char **argv)
710710
!stat(pidfile, &pidfile_status))
711711
last_modified= pidfile_status.st_mtime;
712712

713-
if (mysql_shutdown(mysql, SHUTDOWN_DEFAULT))
713+
/* Issue COM_SHUTDOWN if server version is older then 5.7*/
714+
int resShutdown= 1;
715+
if(mysql_get_server_version(mysql) < 50700)
716+
resShutdown= mysql_shutdown(mysql, SHUTDOWN_DEFAULT);
717+
else
718+
resShutdown= mysql_query(mysql, "shutdown");
719+
720+
if(resShutdown)
714721
{
715-
my_printf_error(0, "shutdown failed; error: '%s'", error_flags,
716-
mysql_error(mysql));
717-
return -1;
722+
my_printf_error(0, "shutdown failed; error: '%s'", error_flags,
723+
mysql_error(mysql));
724+
return -1;
718725
}
726+
719727
argc=1; /* force SHUTDOWN to be the last command */
720728
if (got_pidfile)
721729
{

client/mysqltest.cc

+3-3
Original file line numberDiff line numberDiff line change
@@ -5097,7 +5097,7 @@ void do_shutdown_server(struct st_command *command)
50975097
}
50985098

50995099
/* Tell server to shutdown if timeout > 0. */
5100-
if (timeout > 0 && mysql_shutdown(mysql, SHUTDOWN_DEFAULT))
5100+
if (timeout > 0 && mysql_query(mysql, "shutdown"))
51015101
{
51025102
error= 1; /* Failed to issue shutdown command. */
51035103
goto end;
@@ -9489,8 +9489,8 @@ int main(int argc, char **argv)
94899489
break;
94909490
case Q_SEND_SHUTDOWN:
94919491
handle_command_error(command,
9492-
mysql_shutdown(&cur_con->mysql,
9493-
SHUTDOWN_DEFAULT));
9492+
mysql_query(&cur_con->mysql,
9493+
"shutdown"));
94949494
break;
94959495
case Q_SHUTDOWN_SERVER:
94969496
do_shutdown_server(command);

include/my_sqlcommand.h

+1
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ enum enum_sql_command {
170170
SQLCOM_ALTER_USER,
171171
SQLCOM_EXPLAIN_OTHER,
172172
SQLCOM_SHOW_CREATE_USER,
173+
SQLCOM_SHUTDOWN,
173174
/* This should be the last !!! */
174175
SQLCOM_END
175176
};

include/mysql/plugin_audit.h.pp

+1
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,7 @@
301301
SQLCOM_ALTER_USER,
302302
SQLCOM_EXPLAIN_OTHER,
303303
SQLCOM_SHOW_CREATE_USER,
304+
SQLCOM_SHUTDOWN,
304305
SQLCOM_END
305306
};
306307
typedef enum

mysql-test/r/mysqld--help-notwin.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -1440,7 +1440,7 @@ performance-schema-max-socket-classes 10
14401440
performance-schema-max-socket-instances -1
14411441
performance-schema-max-sql-text-length 1024
14421442
performance-schema-max-stage-classes 150
1443-
performance-schema-max-statement-classes 191
1443+
performance-schema-max-statement-classes 192
14441444
performance-schema-max-statement-stack 10
14451445
performance-schema-max-table-handles -1
14461446
performance-schema-max-table-instances -1

mysql-test/r/mysqld--help-win.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -1436,7 +1436,7 @@ performance-schema-max-socket-classes 10
14361436
performance-schema-max-socket-instances -1
14371437
performance-schema-max-sql-text-length 1024
14381438
performance-schema-max-stage-classes 150
1439-
performance-schema-max-statement-classes 191
1439+
performance-schema-max-statement-classes 192
14401440
performance-schema-max-statement-stack 10
14411441
performance-schema-max-table-handles -1
14421442
performance-schema-max-table-instances -1

mysql-test/r/shutdown.result

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# shutdown the server from mtr.
2+
# restart the server.
3+
# start the sql client and run shutdown sql command.
4+
# restart the server
5+
# Run shutdown sql command and some other SQL command.
6+
# restart the server
7+
# start mysqladmin with shutdown option.
8+
# start the mysql server with init file and shutdown command.
9+
# restart server.

mysql-test/std_data/shutdown.sql

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
show databases;
2+
shutdown;

mysql-test/suite/perfschema/r/max_program_zero.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 1
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/ortho_iter.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ performance_schema_max_socket_classes 10
248248
performance_schema_max_socket_instances 1000
249249
performance_schema_max_sql_text_length 1024
250250
performance_schema_max_stage_classes 150
251-
performance_schema_max_statement_classes 191
251+
performance_schema_max_statement_classes 192
252252
performance_schema_max_statement_stack 10
253253
performance_schema_max_table_handles 1000
254254
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/privilege_table_io.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ performance_schema_max_socket_classes 10
5555
performance_schema_max_socket_instances 1000
5656
performance_schema_max_sql_text_length 1024
5757
performance_schema_max_stage_classes 150
58-
performance_schema_max_statement_classes 191
58+
performance_schema_max_statement_classes 192
5959
performance_schema_max_statement_stack 10
6060
performance_schema_max_table_handles 1000
6161
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/show_sanity.result

+2
Original file line numberDiff line numberDiff line change
@@ -510,6 +510,7 @@ where show_mode = "5.7"
510510
and source = "P_S.GLOBAL_STATUS")
511511
order by show_mode, source, variable_name;
512512
SHOW_MODE SOURCE VARIABLE_NAME
513+
5.6 I_S.GLOBAL_STATUS COM_SHUTDOWN
513514

514515
================================================================================
515516
TEST 8
@@ -564,6 +565,7 @@ where show_mode = "5.7"
564565
and source = "P_S.SESSION_STATUS")
565566
order by show_mode, source, variable_name;
566567
SHOW_MODE SOURCE VARIABLE_NAME
568+
5.6 I_S.SESSION_STATUS COM_SHUTDOWN
567569

568570
================================================================================
569571
TEST 11

mysql-test/suite/perfschema/r/start_server_disable_idle.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_disable_stages.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_disable_statements.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_disable_transactions.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_disable_waits.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_innodb.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_low_index.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_low_table_lock.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_account.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_cond_class.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_cond_inst.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_file_class.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_file_inst.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_host.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_index.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_mdl.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_memory_class.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_mutex_class.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_mutex_inst.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_prepared_stmts_instances.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_rwlock_class.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_rwlock_inst.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_setup_actors.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_setup_objects.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_socket_class.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 0
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_socket_inst.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 0
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_stage_class.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 0
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_stages_history.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

mysql-test/suite/perfschema/r/start_server_no_stages_history_long.result

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ performance_schema_max_socket_classes 10
138138
performance_schema_max_socket_instances 1000
139139
performance_schema_max_sql_text_length 1024
140140
performance_schema_max_stage_classes 150
141-
performance_schema_max_statement_classes 191
141+
performance_schema_max_statement_classes 192
142142
performance_schema_max_statement_stack 10
143143
performance_schema_max_table_handles 1000
144144
performance_schema_max_table_instances 500

0 commit comments

Comments
 (0)