Re: [COMMITTERS] pgsql: Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY. - Mailing list pgsql-hackers

From Hitoshi Harada
Subject Re: [COMMITTERS] pgsql: Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.
Date
Msg-id CAP7Qgmk46XrhV-ycGZPknVG0pZnT0hO46NysQty_R7g1bNzCiQ@mail.gmail.com
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [COMMITTERS] pgsql: Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.
List pgsql-hackers
On Wed, Jul 17, 2013 at 7:11 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Kevin Grittner <kgrittn@postgresql.org> writes:
>> Add support for REFRESH MATERIALIZED VIEW CONCURRENTLY.
>
> The buildfarm members that use -DCLOBBER_CACHE_ALWAYS say this patch
> is broken.
>

Looks like rd_indpred is not correct if index relation is fresh.
Something like this works for me.

diff --git a/src/backend/commands/matview.c b/src/backend/commands/matview.c
index edd34ff..46149ee 100644
--- a/src/backend/commands/matview.c
+++ b/src/backend/commands/matview.c
@@ -634,7 +634,7 @@ refresh_by_match_merge(Oid matviewOid, Oid tempOid)
                       /* Skip partial indexes. */                       indexRel = index_open(index->indexrelid,
RowExclusiveLock);
-                       if (indexRel->rd_indpred != NIL)
+                       if (RelationGetIndexPredicate(indexRel) != NIL)                       {
     index_close(indexRel, NoLock);                               ReleaseSysCache(indexTuple);
 

--
Hitoshi Harada



pgsql-hackers by date:

Previous
From: David Fetter
Date:
Subject: Re: Proposal/design feedback needed: WITHIN GROUP (sql standard ordered set aggregate functions)
Next
From: Tatsuo Ishii
Date:
Subject: Re: [PATCH] pgbench --throttle (submission 7 - with lag measurement)