On Mon, Aug 19, 2013 at 1:41 PM, Tom Lane wrote:
Andres Freund <andres@2ndquadrant.com> writes:
ISTM that we shouldn't use GetTransactionSnapshot() in enum.c but
GetLatestSnapshot() in <= 9.3 and NULL/GetCatalogSnapshot() > 9.3.
typecache.c's usage was converted to GetLatestSnapshot() but enum.c's
was not.
That was intentional, see the comments for commit

Possibly we should rethink this in HEAD given that we don't do SnapshotNow
scans anymore, but I'm disinclined to do so in back branches.

BTW, I notice that the MVCC-catalog-scans patch summarily asserts that
RenumberEnumType no longer poses any concurrency hazards. I doubt that's
true: isn't it still possible that pg_enum rows acquired through the
syscaches will have inconsistent enumsortorder values, if they were
read at different times? If you want to examine enumsortorder, you really
need to be comparing rows you know were read with the *same* snapshot.
Good point, I missed that. Here's a proposed comment patch.

Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

Search Discussions

Discussion Posts


Follow ups

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 3 of 5 | next ›
Discussion Overview
grouppgsql-hackers @
postedAug 19, '13 at 12:29p
activeAug 28, '13 at 5:24p



site design / logo © 2018 Grokbase