Commit 6706148b authored by Kamil Trzciński's avatar Kamil Trzciński Committed by Sean McGivern

Fix `Connection#disable_prepared_statements` loosing connection qualifier

parent 7bfa0963
...@@ -88,7 +88,16 @@ module Gitlab ...@@ -88,7 +88,16 @@ module Gitlab
# Disables prepared statements for the current database connection. # Disables prepared statements for the current database connection.
def disable_prepared_statements def disable_prepared_statements
scope.establish_connection(config.merge(prepared_statements: false)) db_config_object = scope.connection_db_config
config = db_config_object.configuration_hash.merge(prepared_statements: false)
hash_config = ActiveRecord::DatabaseConfigurations::HashConfig.new(
db_config_object.env_name,
db_config_object.name,
config
)
scope.establish_connection(hash_config)
end end
# Check whether the underlying database is in read-only mode # Check whether the underlying database is in read-only mode
......
...@@ -162,6 +162,12 @@ RSpec.describe Gitlab::Database::Connection do ...@@ -162,6 +162,12 @@ RSpec.describe Gitlab::Database::Connection do
expect(connection.scope.connection.prepared_statements).to eq(false) expect(connection.scope.connection.prepared_statements).to eq(false)
end end
it 'retains the connection name' do
connection.disable_prepared_statements
expect(connection.scope.connection_db_config.name).to eq('main')
end
context 'with dynamic connection pool size' do context 'with dynamic connection pool size' do
before do before do
connection.scope.establish_connection(connection.config.merge(pool: 7)) connection.scope.establish_connection(connection.config.merge(pool: 7))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment