Skip to content

Commit eab51d8

Browse files
authored
Merge pull request rails#49089 from emilyqiu1005/emilyqiu/add-kill-to-mysql-read-queries
Allow KILL queries on read-only connections for mysql
2 parents c3c566f + 3af0c01 commit eab51d8

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

activerecord/lib/active_record/connection_adapters/mysql/database_statements.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ module ConnectionAdapters
55
module MySQL
66
module DatabaseStatements
77
READ_QUERY = AbstractAdapter.build_read_query_regexp(
8-
:desc, :describe, :set, :show, :use
8+
:desc, :describe, :set, :show, :use, :kill
99
) # :nodoc:
1010
private_constant :READ_QUERY
1111

activerecord/test/cases/adapters/abstract_mysql_adapter/adapter_prevent_writes_test.rb

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,15 @@ def test_doesnt_error_when_a_use_query_is_called_while_preventing_writes
9595
end
9696
end
9797

98+
def test_doesnt_error_when_a_kill_query_is_called_while_preventing_writes
99+
ActiveRecord::Base.while_preventing_writes do
100+
conn_id = @conn.execute("SELECT CONNECTION_ID() as connection_id").to_a[0][0]
101+
assert_raises(ActiveRecord::QueryCanceled) do
102+
@conn.execute("KILL QUERY #{conn_id}")
103+
end
104+
end
105+
end
106+
98107
private
99108
def with_example_table(definition = "id int auto_increment primary key, number int, data varchar(255)", &block)
100109
super(@conn, "ex", definition, &block)

0 commit comments

Comments
 (0)