Coverity is complaining about the following assertion introduced in commit 924bcf4 (parallel stuff, SerializeSnapshot@snapmgr.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/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services