aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorRafael Mendonça França <rafaelmfranca@gmail.com>2014-05-01 14:10:04 -0300
committerRafael Mendonça França <rafaelmfranca@gmail.com>2014-05-01 14:10:04 -0300
commit372e28ce227f3d46604f1b11a1f6c746d227e875 (patch)
tree9710f26eae09a4b28875bf0290245d149aeaeb49 /activerecord/lib
parentb4db126d01943c59886f4d5ddfe36066d6956cd8 (diff)
parent6f16513b587a0805a23eab99d5f283476b1d6687 (diff)
downloadrails-372e28ce227f3d46604f1b11a1f6c746d227e875.tar.gz
rails-372e28ce227f3d46604f1b11a1f6c746d227e875.tar.bz2
rails-372e28ce227f3d46604f1b11a1f6c746d227e875.zip
Merge pull request #13640 from maginatics/fix_sqlite3_ensure_master
SQLite3: Always close statements. Conflicts: activerecord/CHANGELOG.md
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb9
1 files changed, 6 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
index dd4261cec7..2c6186774f 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
@@ -296,9 +296,12 @@ module ActiveRecord
# Don't cache statements if they are not prepared
if without_prepared_statement?(binds)
stmt = @connection.prepare(sql)
- cols = stmt.columns
- records = stmt.to_a
- stmt.close
+ begin
+ cols = stmt.columns
+ records = stmt.to_a
+ ensure
+ stmt.close
+ end
stmt = records
else
cache = @statements[sql] ||= {