aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
diff options
context:
space:
mode:
authorMike Gunderloy <MikeG1@larkfarm.com>2008-12-29 20:46:20 -0600
committerPratik Naik <pratiknaik@gmail.com>2008-12-30 03:07:30 +0000
commit220dff4c3b58b7becb587ee6f2434b2ca720f7c3 (patch)
treeec9ad586b43e872d1abc6016f36958f1384c64b9 /activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
parent558ab327b733717f4a8de3ed62b8dcd62e9ff9c3 (diff)
downloadrails-220dff4c3b58b7becb587ee6f2434b2ca720f7c3.tar.gz
rails-220dff4c3b58b7becb587ee6f2434b2ca720f7c3.tar.bz2
rails-220dff4c3b58b7becb587ee6f2434b2ca720f7c3.zip
Add transaction check to SQLite2 adapter to fix test_sqlite_add_column_in_transaction_raises_statement_invalid [#1669 state:resolved]
Signed-off-by: Pratik Naik <pratiknaik@gmail.com>
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
index 84f8c0284e..9387cf8827 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlite_adapter.rb
@@ -402,6 +402,10 @@ module ActiveRecord
end
def add_column(table_name, column_name, type, options = {}) #:nodoc:
+ if @connection.respond_to?(:transaction_active?) && @connection.transaction_active?
+ raise StatementInvalid, 'Cannot add columns to a SQLite database while inside a transaction'
+ end
+
alter_table(table_name) do |definition|
definition.column(column_name, type, options)
end