]> granicus.if.org Git - postgresql/commit
Fix things so that when CREATE INDEX CONCURRENTLY sets pg_index.indisvalid
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 May 2007 21:08:46 +0000 (21:08 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 2 May 2007 21:08:46 +0000 (21:08 +0000)
commit8ec943856a4e94637600fa7cad976281ca3f4071
treec31da55ad5579f6cdf16128c7df4acd509d4978e
parent229d33801d9e31c6eda8e54bee23ed056fd2e257
Fix things so that when CREATE INDEX CONCURRENTLY sets pg_index.indisvalid
true at the very end of its processing, the update is broadcast via a
shared-cache-inval message for the index; without this, existing backends that
already have relcache entries for the index might never see it become valid.
Also, force a relcache inval on the index's parent table at the same time,
so that any cached plans for that table are re-planned; this ensures that
the newly valid index will be used if appropriate.  Aside from making
C.I.C. behave more reasonably, this is necessary infrastructure for some
aspects of the HOT patch.  Pavan Deolasee, with a little further stuff from
me.
src/backend/commands/indexcmds.c
src/backend/utils/cache/inval.c
src/backend/utils/cache/relcache.c