10.12.2019 08:13, Michael Paquier wrote:
> On Mon, Dec 09, 2019 at 02:03:43PM +0500, Andrey Lepikhov wrote:
>> We already have assertion on the twophase_gid variable. But compiler is not
>> so smart and can't find a link between the XACT_XINFO_HAS_GID flag and
>> state of twophase_gid pointer.
>
> Well, gcc-9 got visibly smarter on that point :)
>
>> Ok. In accordance with your review, I have prepared a new version of the
>> patch.
>
> Regarding formatting.c, I can see the point of avoiding future
> mistakes, and I would go a bit further as per the attached for
> consistency between all variables. have_error is a bit trickier
> though as it gets moved around more layers so doing an initialization
> in the middle is not really an option. Anyway, we can do that rather
> cleanly from the entry point of do_to_timestamp() to bring more
> consistency for variables which are always expected and the optional
> ones. What do you think?
I have small experience in formatting.c code. But this patch and idea
looks good.
>
> For the second one in xact.c, I am not really on board of doing
> something based on the proposals because this reduces the code
> visibility, and gcc is clearly wrong in its assumptions because the
> state cannot be reached.
Ok. I switched to gcc-9 and now have no problem.
--
Andrey Lepikhov
Postgres Professional
https://postgrespro.com
The Russian Postgres Company