Commit e524d530 authored by Thong Kuah's avatar Thong Kuah

Merge branch 'fix_reset_all' into 'master'

Fix connection search path being reset

See merge request gitlab-org/gitlab!67725
parents c4901d87 2b4e0ec8
...@@ -341,9 +341,9 @@ module Gitlab ...@@ -341,9 +341,9 @@ module Gitlab
# - Per connection (requires a cleanup after the execution) # - Per connection (requires a cleanup after the execution)
# #
# When using a per connection disable statement, code must be inside # When using a per connection disable statement, code must be inside
# a block so we can automatically execute `RESET ALL` after block finishes # a block so we can automatically execute `RESET statement_timeout` after block finishes
# otherwise the statement will still be disabled until connection is dropped # otherwise the statement will still be disabled until connection is dropped
# or `RESET ALL` is executed # or `RESET statement_timeout` is executed
def disable_statement_timeout def disable_statement_timeout
if block_given? if block_given?
if statement_timeout_disabled? if statement_timeout_disabled?
...@@ -357,7 +357,7 @@ module Gitlab ...@@ -357,7 +357,7 @@ module Gitlab
yield yield
ensure ensure
execute('RESET ALL') execute('RESET statement_timeout')
end end
end end
else else
......
...@@ -14,10 +14,10 @@ RSpec.shared_examples 'performs validation' do |validation_option| ...@@ -14,10 +14,10 @@ RSpec.shared_examples 'performs validation' do |validation_option|
it 'performs validation' do it 'performs validation' do
expect(model).to receive(:disable_statement_timeout).and_call_original expect(model).to receive(:disable_statement_timeout).and_call_original
expect(model).to receive(:statement_timeout_disabled?).and_return(false) expect(model).to receive(:statement_timeout_disabled?).and_return(false)
expect(model).to receive(:execute).with(/statement_timeout/) expect(model).to receive(:execute).with(/SET statement_timeout TO/)
expect(model).to receive(:execute).ordered.with(/NOT VALID/) expect(model).to receive(:execute).ordered.with(/NOT VALID/)
expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT/) expect(model).to receive(:execute).ordered.with(/VALIDATE CONSTRAINT/)
expect(model).to receive(:execute).ordered.with(/RESET ALL/) expect(model).to receive(:execute).ordered.with(/RESET statement_timeout/)
model.add_concurrent_foreign_key(*args, **options.merge(validation_option)) model.add_concurrent_foreign_key(*args, **options.merge(validation_option))
end end
......
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