On Fri, Feb 24, 2017 at 2:13 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Justin Pryzby <pryzby@telsasoft.com> writes: > Is this expected behavior ? > ts=# SELECT x'00000000F'::int; > ERROR: 22003: integer out of range > LOCATION: bittoint4, varbit.c:1575
Yes. The provided operation is "convert a bitstring of up to 32 bits to an integer". It's not "guess whether it's okay to throw away some bits to make an integer".
As an example, even if you think it's obvious that it would be okay to convert that bitstring to "15", would it be all right to convert x'FFFFFFFFF' to "-1" ?