On Friday, February 24, 2017, Tom Lane <t...@sss.pgh.pa.us> wrote: > Justin Pryzby <pry...@telsasoft.com <javascript:;>> 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". > > IME The error message itself is to blame here - we are checking for a malformed (too many characters) integer varbit representation but then reporting that the we somehow got a valid integer but that it is "out of range".
David J.