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

Use Snapshot in heap access methods.

This commit is contained in:
Vadim B. Mikheev
1998-07-27 19:38:40 +00:00
parent f7f989c990
commit be8300b18f
54 changed files with 352 additions and 339 deletions

View File

@ -119,7 +119,7 @@ CreateTrigger(CreateTrigStmt *stmt)
RelationSetLockForWrite(tgrel);
ScanKeyEntryInitialize(&key, 0, Anum_pg_trigger_tgrelid,
F_OIDEQ, rel->rd_id);
tgscan = heap_beginscan(tgrel, 0, false, 1, &key);
tgscan = heap_beginscan(tgrel, 0, SnapshotNow, 1, &key);
while (tuple = heap_getnext(tgscan, 0, (Buffer *) NULL), PointerIsValid(tuple))
{
Form_pg_trigger pg_trigger = (Form_pg_trigger) GETSTRUCT(tuple);
@ -275,7 +275,7 @@ DropTrigger(DropTrigStmt *stmt)
RelationSetLockForWrite(tgrel);
ScanKeyEntryInitialize(&key, 0, Anum_pg_trigger_tgrelid,
F_OIDEQ, rel->rd_id);
tgscan = heap_beginscan(tgrel, 0, false, 1, &key);
tgscan = heap_beginscan(tgrel, 0, SnapshotNow, 1, &key);
while (tuple = heap_getnext(tgscan, 0, (Buffer *) NULL), PointerIsValid(tuple))
{
Form_pg_trigger pg_trigger = (Form_pg_trigger) GETSTRUCT(tuple);
@ -340,7 +340,7 @@ RelationRemoveTriggers(Relation rel)
ScanKeyEntryInitialize(&key, 0, Anum_pg_trigger_tgrelid,
F_OIDEQ, rel->rd_id);
tgscan = heap_beginscan(tgrel, 0, false, 1, &key);
tgscan = heap_beginscan(tgrel, 0, SnapshotNow, 1, &key);
while (tup = heap_getnext(tgscan, 0, (Buffer *) NULL), PointerIsValid(tup))
heap_delete(tgrel, &tup->t_ctid);
@ -391,7 +391,7 @@ RelationBuildTriggers(Relation relation)
break;
iptr = &indexRes->heap_iptr;
tuple = heap_fetch(tgrel, false, iptr, &buffer);
tuple = heap_fetch(tgrel, SnapshotNow, iptr, &buffer);
pfree(indexRes);
if (!HeapTupleIsValid(tuple))
continue;