pg_atoi() does range check on int4 data only if
"HAS_LONG_LONG" is defined based on the assumption that strtol() would return ERANGE if a platform does not support 64-bit integers. In current PostgreSQL 6.5 (and 6.4.2) distribution, "HAS_LONG_LONG" is defined only if platform is "alpha". (See include/port/alpha.h) I think the int4 range check should apply to linux_alpha as well. (I have not tested yet but I guess this might be applicable to newer Linux/i386 distributions which includes new GCC which implements long int as 64-bit int.)
Showing
Please register or sign in to comment