"Pavan Deolasee" <pavan.deolasee@enterprisedb.com> writes:
> What I am suggesting is to use ActiveSnapshot (actually
> Florian's idea) to decide whether the transaction that created
> index was still running when we started. Isn't it the case that
> some snapshot will be "active" when we plan ?
I do not think you can assume that the plan won't be used later with
some older snapshot. Consider recursive plpgsql functions for a
counterexample: the inner occurrence might be the first to arrive at
a given line of the function, hence the first to plan it, yet when we
return to the outer instance we might revert to an older snapshot.
regards, tom lane