"Florian G. Pflug" <fgp@phlo.org> writes:
> Tom Lane wrote:
>> I do not think you can assume that the plan won't be used later with
>> some older snapshot.
> So maybe we'd need to use the SerializableSnapshot created at the start
> of each transaction for this check, and not the ActiveSnapshot? Could
> that work?
That might work, but it doesn't seem to address the core objection:
there's no mechanism to cause the query to be replanned once the
snapshot is new enough, because no relcache inval will happen. So
most likely existing backends will keep using old plans that don't
consider the index.
regards, tom lane