Alvaro Herrera <[EMAIL PROTECTED]> writes:
> The attached patch should correct the problem, but I'd like to make sure
> it does ...

Rather than that, I'd suggest just setting ActiveSnapshot
unconditionally after each of the StartTransactionCommand calls in
autovacuum.c, ie make the code look just like vacuum.c:

        /* Begin a transaction for vacuuming this relation */
        StartTransactionCommand();
        /* functions in indexes may want a snapshot set */
        ActiveSnapshot = CopySnapshot(GetTransactionSnapshot());

This seems more future-proof.  The patch as proposed is assuming a whole
lot about where snapshots might or might not get used.

                        regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match

Reply via email to