aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMagnus Hagander <magnus@hagander.net>2011-02-18 11:59:57 +0100
committerMagnus Hagander <magnus@hagander.net>2011-02-18 11:59:57 +0100
commit45a6d79b1764a78301ef008f4561b5e176352331 (patch)
tree0e2d2b1e89f7fe55eaf41d1641dcf8ffd86b35fc /src
parentbc423879cc2db964231f1d4c912961f3e35a6ece (diff)
downloadpostgresql-45a6d79b1764a78301ef008f4561b5e176352331.tar.gz
postgresql-45a6d79b1764a78301ef008f4561b5e176352331.zip
Properly initialize variables
Kevin Grittner
Diffstat (limited to 'src')
-rw-r--r--src/backend/storage/lmgr/predicate.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/src/backend/storage/lmgr/predicate.c b/src/backend/storage/lmgr/predicate.c
index e2d79e20b44..d660ce5af78 100644
--- a/src/backend/storage/lmgr/predicate.c
+++ b/src/backend/storage/lmgr/predicate.c
@@ -2535,9 +2535,12 @@ TransferPredicateLocksToNewTarget(const PREDICATELOCKTARGETTAG oldtargettag,
if (!found)
{
SHMQueueInit(&(newtarget->predicateLocks));
- newpredlocktag.myTarget = newtarget;
+ newtarget->priorVersionOfRow = NULL;
+ newtarget->nextVersionOfRow = NULL;
}
+ newpredlocktag.myTarget = newtarget;
+
oldpredlock = (PREDICATELOCK *)
SHMQueueNext(&(oldtarget->predicateLocks),
&(oldtarget->predicateLocks),
@@ -2586,10 +2589,14 @@ 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));
+ newpredlock->commitSeqNo = InvalidSerCommitSeqNo;
+ }
oldpredlock = nextpredlock;
}