diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2006-08-19 05:46:21 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2006-08-19 05:46:21 +0000 |
commit | b0a86f8c0ed24a53437bcd143069a1ea4cea4fab (patch) | |
tree | ba0095ce75e460d020e294afc3d52e5e388715e8 | |
parent | b006317b442c3eac2c41e975372d460942c48ba2 (diff) | |
download | rails-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
-rw-r--r-- | activerecord/CHANGELOG | 2 | ||||
-rw-r--r-- | activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb | 7 |
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 |