Re: BUG #14379: Different results - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #14379: Different results
Date
Msg-id 16620.1476806658@sss.pgh.pa.us
Whole thread Raw
In response to BUG #14379: Different results  (pq@lengkeek.com)
List pgsql-bugs
pq@lengkeek.com writes:
> The following query:
> SELECT '2147483648'::cid;
> Returns '2147483648' on Linux server (9.5.1) and '2147483647' (=INT32_MAX)
> on windows server (9.4.9 and 9.5.4).

> Not sure if this is a bug. I thought it surprising that results differ. I
> couldn't see any uint32 to int32 conversion in a fast scan of the source.

Hmm.  cidin() just uses atoi() and doesn't worry about overflow.  I'm not
sure how much we care about detecting invalid input, since CID isn't
really a user-facing type, but nonetheless atoi() seems like the wrong
thing here because CommandId is uint32 not int32.  It really ought to
use strtoul() like xidin() does, so that it can correctly read any
output of cidout().

Thanks for the report!

            regards, tom lane

pgsql-bugs by date:

Previous
From: pq@lengkeek.com
Date:
Subject: BUG #14379: Different results
Next
From: John R Pierce
Date:
Subject: Re: BUG #14378: when drop schema, standby will do many more than primary, and very slow, it's a bug?