> The PGTYPESnumeric_to_int function deems -2147483648 to be invalid even > though it is a perfectly valid 32-bit integer because the code compares to > -INT_MAX which resolves to -2147483647 on the Fedora/Red Hat and Solaris > versions I have available to check against.
> - if (l < -INT_MAX || l > INT_MAX) > + if (l < (-INT_MAX - 1) || l > INT_MAX)
Yeah, that looks like it should be INT_MIN instead. I'll see about making that happen. Thanks for the report!