a.diff

text/plain

Filename: a.diff
Type: text/plain
Part: 0
Message: Re: SSI bug?

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: unified
File+
src/backend/storage/lmgr/predicate.c 7 5
diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c
index 722d0f8..4dde6ae 100644
--- a/src/backend/storage/lmgr/predicate.c
+++ b/src/backend/storage/lmgr/predicate.c
@@ -2537,8 +2558,8 @@ TransferPredicateLocksToNewTarget(const PREDICATELOCKTARGETTAG oldtargettag,
 		if (!found)
 		{
 			SHMQueueInit(&(newtarget->predicateLocks));
-			newpredlocktag.myTarget = newtarget;
 		}
+		newpredlocktag.myTarget = newtarget;
 
 		oldpredlock = (PREDICATELOCK *)
 			SHMQueueNext(&(oldtarget->predicateLocks),
@@ -2588,10 +2609,12 @@ TransferPredicateLocksToNewTarget(const PREDICATELOCKTARGETTAG oldtargettag,
 				outOfShmem = true;
 				goto exit;
 			}
-			SHMQueueInsertBefore(&(newtarget->predicateLocks),
-								 &(newpredlock->targetLink));
-			SHMQueueInsertBefore(&(newpredlocktag.myXact->predicateLocks),
-								 &(newpredlock->xactLink));
+			if (!found) {
+				SHMQueueInsertBefore(&(newtarget->predicateLocks),
+									 &(newpredlock->targetLink));
+				SHMQueueInsertBefore(&(newpredlocktag.myXact->predicateLocks),
+									 &(newpredlock->xactLink));
+			}
 
 			oldpredlock = nextpredlock;
 		}