aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib
diff options
context:
space:
mode:
authorAaron Patterson <aaron.patterson@gmail.com>2011-04-11 10:37:23 -0700
committerAaron Patterson <aaron.patterson@gmail.com>2011-04-11 10:37:23 -0700
commitcbb65de1a60f1263cab05627ab99c9f5e246cd5c (patch)
tree2b567809c2a0962a9aa9dd7c2692eb5197053d4a /activerecord/lib
parent302b6f3f73731c8daa108f9c40d7cf41463898d8 (diff)
downloadrails-cbb65de1a60f1263cab05627ab99c9f5e246cd5c.tar.gz
rails-cbb65de1a60f1263cab05627ab99c9f5e246cd5c.tar.bz2
rails-cbb65de1a60f1263cab05627ab99c9f5e246cd5c.zip
always look up pk and sequence unless both are provided
Diffstat (limited to 'activerecord/lib')
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb11
1 files changed, 5 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
index a90e9a4b71..617d131c40 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -435,7 +435,11 @@ module ActiveRecord
# Extract the table from the insert sql. Yuck.
table = sql.split(" ", 4)[2].gsub('"', '')
- pk, sequence_name = *pk_and_sequence_for(table) unless pk
+ # If neither pk nor sequence name is given, look them up.
+ unless pk || sequence_name
+ pk, sequence_name = *pk_and_sequence_for(table)
+ end
+
if pk
id = select_value("#{sql} RETURNING #{quote_column_name(pk)}")
return id
@@ -443,11 +447,6 @@ module ActiveRecord
super
- # If neither pk nor sequence name is given, look them up.
- unless pk || sequence_name
- pk, sequence_name = *pk_and_sequence_for(table)
- end
-
# If a pk is given, fallback to default sequence name.
# Don't fetch last insert id for a table without a pk.
if pk && sequence_name ||= default_sequence_name(table, pk)