David,
> So is this perhaps a bug? I mean, LIKE is certainly an operator, not a
> function.
No, it's not a bug. IN is a special merge operator. ANY and ALL are
relational calculus operators, and = is limited to subselects returning a
single value. So they're all "special cases".
I think it would be possible to implement a "value LIKE ( 'x%','y%','z%')" in
postgreSQL but you'd have to get someone interested in hacking it.
--
-Josh Berkus
Aglio Database Solutions
San Francisco