I don't have a strong opinion about "IN array", but am worried that allowing it would create ambiguity about which interpretation is meant. Is the left-hand side supposed to be compared against the whole array or each array member?
That was exactly the problem. IN (array) does work if the left-hand side is also an array, and the right-hand side is taken as a value list:
regression=# select 1 where array[1] in (array[1]); ?column? ---------- 1 (1 row)
regression=# select 1 where array[1] in (array[1,2]); ?column? ---------- (0 rows)
There was discussion on this back in the May-June 2003 timeframe -- please check the archives.
Joe
---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ?
http://www.postgresql.org/docs/faqs/FAQ.html