aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
diff options
context:
space:
mode:
authorJonathan Viney <jonathan@jonathan-desktop.(none)>2008-08-31 21:09:16 +1200
committerHongli Lai (Phusion) <hongli@phusion.nl>2008-11-03 20:55:26 +0100
commitb3420f5a2e3c38e5efc2b3d995354c39af09569e (patch)
tree6d24a360aa1407d2653ea178e0e191f82a444254 /activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
parent18bf7b421d55c60029289edef1df409a58d021e4 (diff)
downloadrails-b3420f5a2e3c38e5efc2b3d995354c39af09569e.tar.gz
rails-b3420f5a2e3c38e5efc2b3d995354c39af09569e.tar.bz2
rails-b3420f5a2e3c38e5efc2b3d995354c39af09569e.zip
Implement savepoints.
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
index 60ec01b95e..f34093f0ff 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -567,6 +567,17 @@ module ActiveRecord
end
end
+ def create_savepoint
+ execute("SAVEPOINT #{current_savepoint_name}")
+ end
+
+ def rollback_to_savepoint
+ execute("ROLLBACK TO SAVEPOINT #{current_savepoint_name}")
+ end
+
+ def release_savepoint(savepoint_number)
+ execute("RELEASE SAVEPOINT #{current_savepoint_name}")
+ end
# SCHEMA STATEMENTS ========================================