On 29/01/2019 08:59, Michael Paquier wrote:
> On Mon, Jan 28, 2019 at 10:32:16PM +0100, Peter Eisentraut wrote:
>> My approach is to make RelationGetIndexAttrBitmap() not need a snapshot.
>> The whole code was overly complicated anyway, calling BuildIndexInfo()
>> and then throwing the result away. We can do it directly more
>> efficiently and avoid all the business about eval_const_expressions().
>> Moreover, this fixes the problem in a central place and does not require
>> bespoke separate fixes in the publisher and subscriber code. External
>> logical decoding or logical replication implementations could also be
>> affected and would benefit from this fix.
>
> I have spent some time for the last couple of days looking at this
> patch, and that's a neat approach.
>
> + * those might run constants evaluation, which needs a snapshot, which
> "constants evaluation" sounds like weird English. "constant
> evaluation" or "evaluation of constants would be better"?
Committed and backpatched with your and Noah's changes.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services