In the 7.4.1 release, I've found that it implicitly types INT_MIN, -2147483648, as a 64-bit integer instead of a 32-bit integer. Here's a test case:
select "bit"(-2147483647); bit ---------------------------------- 10000000000000000000000000000001 select "bit"(-2147483648 + 1); bit ------------------------------------------------------------------ 1111111111111111111111111111111110000000000000000000000000000001 -Patrick McNeill ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match