aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2006-08-19 05:46:21 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2006-08-19 05:46:21 +0000
commitb0a86f8c0ed24a53437bcd143069a1ea4cea4fab (patch)
treeba0095ce75e460d020e294afc3d52e5e388715e8 /activerecord
parentb006317b442c3eac2c41e975372d460942c48ba2 (diff)
downloadrails-b0a86f8c0ed24a53437bcd143069a1ea4cea4fab.tar.gz
rails-b0a86f8c0ed24a53437bcd143069a1ea4cea4fab.tar.bz2
rails-b0a86f8c0ed24a53437bcd143069a1ea4cea4fab.zip
PostgreSQL: simplify index introspection query. Closes #5819.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4788 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/CHANGELOG2
-rw-r--r--activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb7
2 files changed, 4 insertions, 5 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG
index dbe7d81623..3f24f91ca1 100644
--- a/activerecord/CHANGELOG
+++ b/activerecord/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* PostgreSQL: simplify index introspection query. #5819 [stephen_purcell@yahoo.com]
+
* Add records to has_many :through using <<, push, and concat by creating the association record. Raise if base or associate are new records since both ids are required to create the association. #build raises since you can't associate an unsaved record. #create! takes an attributes hash and creates the associated record and its association in a transaction. [Jeremy Kemper]
# Create a tagging to associate the post and tag.
diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
index d2a65fec3f..12ac01339f 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -1,3 +1,4 @@
+
require 'active_record/connection_adapters/abstract_adapter'
module ActiveRecord
@@ -209,11 +210,7 @@ module ActiveRecord
AND t.oid = d.indrelid
AND t.relname = '#{table_name}'
AND a.attrelid = t.oid
- AND ( d.indkey[0]=a.attnum OR d.indkey[1]=a.attnum
- OR d.indkey[2]=a.attnum OR d.indkey[3]=a.attnum
- OR d.indkey[4]=a.attnum OR d.indkey[5]=a.attnum
- OR d.indkey[6]=a.attnum OR d.indkey[7]=a.attnum
- OR d.indkey[8]=a.attnum OR d.indkey[9]=a.attnum )
+ AND a.attnum = ANY (d.indkey)
ORDER BY i.relname
SQL