Re: subxcnt defined as signed integer in SnapshotData and SerializeSnapshotData

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Michael Paquier <michael(dot)paquier(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: subxcnt defined as signed integer in SnapshotData and SerializeSnapshotData
Date: 2015-05-08 06:55:13
Message-ID: CANP8+jLE=CS4jEMcVV7i0w3PMAnL=niZ3m7Bss84ogK1v=z47Q@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 7 May 2015 at 21:40, Michael Paquier <michael(dot)paquier(at)gmail(dot)com> wrote:

> Hi all,
>
> Coverity is complaining about the following assertion introduced in
> commit 924bcf4 (parallel stuff, SerializeSnapshot(at)snapmgr(dot)c):
> + Assert(snapshot->xcnt >= 0);
>
> Now the thing is that this assertion does not make much sense, because
> SnapshotData defines subxcnt as uint32 in snapshot.h. While we could
> simply remove this assertion, I am wondering if we could not change
> subxcnt to uint32 instead.
>
> SnapshotData has been introduced in 2008 by d43b085, with this comment:
> + int32 subxcnt; /* # of xact ids in
> subxip[], -1 if overflow */
> Comment regarding negative values removed in efc16ea5.
>
> Now, by looking at the code on HEAD, I am seeing no code paths that
> make use of negative values of subxcnt. Perhaps I am missing
> something?
>

So the comment is wrong? It does not set to -1 at overflow anymore?

--
Simon Riggs http://www.2ndQuadrant.com/
<http://www.2ndquadrant.com/>
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fabien COELHO 2015-05-08 09:02:16 Re: commitfest app bug/feature
Previous Message Amit Langote 2015-05-08 06:02:44 Obsolete mention of src/tools/backend