1
0
mirror of https://github.com/postgres/postgres.git synced 2025-06-16 06:01:02 +03:00

Remove SnapshotNow and HeapTupleSatisfiesNow.

We now use MVCC catalog scans, and, per discussion, have eliminated
all other remaining uses of SnapshotNow, so that we can now get rid of
it.  This will break third-party code which is still using it, which
is intentional, as we want such code to be updated to do things the
new way.
This commit is contained in:
Robert Haas
2013-08-01 10:46:19 -04:00
parent aad2a630b1
commit 813fb03155
5 changed files with 16 additions and 273 deletions

View File

@ -476,16 +476,6 @@ check_index_is_clusterable(Relation OldHeap, Oid indexOid, bool recheck, LOCKMOD
* mark_index_clustered: mark the specified index as the one clustered on
*
* With indexOid == InvalidOid, will mark all indexes of rel not-clustered.
*
* Note: we do transactional updates of the pg_index rows, which are unsafe
* against concurrent SnapshotNow scans of pg_index. Therefore this is unsafe
* to execute with less than full exclusive lock on the parent table;
* otherwise concurrent executions of RelationGetIndexList could miss indexes.
*
* XXX: Now that we have MVCC catalog access, SnapshotNow scans of pg_index
* shouldn't be common enough to worry about. The above comment needs
* to be updated, and it may be possible to simplify the logic here in other
* ways also.
*/
void
mark_index_clustered(Relation rel, Oid indexOid, bool is_internal)