On Fri, 2007-03-30 at 13:54 -0400, Tom Lane wrote:
> "Pavan Deolasee" <pavan.deolasee@gmail.com> writes:
> > Actually, if we are using Serializable Snapshot then there is no chance
> > to replan the query before the transaction completes and the next
> > transaction to start in the session must see the index and hence
> > we must replan. So it would be enough just to associate a transaction
> > id with the cached plan. If this xid is set and our transaction id is
> > different than that, we replan.
>
> Hm. So anytime we reject a potentially useful index as being not valid
> yet, we mark the plan as "only good for this top-level transaction"?
> That seems possibly workable --- in particular it doesn't get more
> complicated as soon as you consider multiple such indexes.
I like that because its specific in dealing with the exact issue we have
- it doesn't rely on many other things happening correctly.
...and it also seems to provide a new route to avoiding the CIC wait.
-- Simon Riggs EnterpriseDB http://www.enterprisedb.com