Re: BUG #14379: Different results

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pq(at)lengkeek(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: BUG #14379: Different results
Date: 2016-10-18 16:04:18
Message-ID: 16620.1476806658@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

pq(at)lengkeek(dot)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

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message John R Pierce 2016-10-18 18:25:01 Re: BUG #14378: when drop schema, standby will do many more than primary, and very slow, it's a bug?
Previous Message pq 2016-10-18 15:25:50 BUG #14379: Different results