From b0d59907f733841280095b16c98a95574b3a0938 Mon Sep 17 00:00:00 2001
From: Paul Gallagher <gallagher.paul@gmail.com>
Date: Fri, 17 Jun 2011 21:57:47 +0800
Subject: Make PostgreSQL adapter view-compatible

* amongst other things, allows meta_search to run against view-backed models
---
 .../lib/active_record/connection_adapters/postgresql_adapter.rb   | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

(limited to 'activerecord/lib')

diff --git a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
index b6e7ddfc5b..03c31c2394 100644
--- a/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb
@@ -678,9 +678,11 @@ module ActiveRecord
 
         exec_query(<<-SQL, 'SCHEMA', binds).rows.first[0].to_i > 0
           SELECT COUNT(*)
-          FROM pg_tables
-          WHERE tablename = $1
-          AND schemaname = #{schema ? '$2' : 'ANY (current_schemas(false))'}
+          FROM pg_class c
+          LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
+          WHERE c.relkind in ('v','r')
+          AND c.relname = $1
+          AND n.nspname = #{schema ? '$2' : 'ANY (current_schemas(false))'}
         SQL
       end
 
-- 
cgit v1.2.3