diff options
author | Jon Leighton <j@jonathanleighton.com> | 2012-09-14 23:59:35 +0100 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2012-09-15 00:03:04 +0100 |
commit | 02f56554d68cddae02ccc4a8511cc5c64210d258 (patch) | |
tree | 4b091ddba84e3948128e9071ba3f4044eb79cdea /activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | |
parent | 61951427903dbc0d92f6106ec5874025e2185056 (diff) | |
download | rails-02f56554d68cddae02ccc4a8511cc5c64210d258.tar.gz rails-02f56554d68cddae02ccc4a8511cc5c64210d258.tar.bz2 rails-02f56554d68cddae02ccc4a8511cc5c64210d258.zip |
Ensure disconnecting or reconnecting resets the transaction state
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb')
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb index 4fe0013f0f..b6dd2e17f4 100644 --- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb @@ -104,6 +104,8 @@ module ActiveRecord def initialize(connection, logger, config) super(connection, logger) + + @active = nil @statements = StatementPool.new(@connection, config.fetch(:statement_limit) { 1000 }) @config = config @@ -154,11 +156,15 @@ module ActiveRecord true end + def active? + @active != false + end + # Disconnects from the database if already connected. Otherwise, this # method does nothing. def disconnect! super - clear_cache! + @active = false @connection.close rescue nil end |