"Marc G. Fournier" <scrappy@hub.org> writes:
> Who implemented SIMILAR TO in the first place?
Thomas. He put in the syntax, but as it stands it's simply syntactic
sugar for ~ --- that is, our Posix-compatible regex match operator.
Since the spec demands very non-Posix behavior, this is wrong.
AFAICS, getting SIMILAR TO to operate per spec would require adding some
sort of translation function that converts the spec-style pattern into
a Posix pattern that our regex match engine would handle. This would at
least require adding ^ and $ around the pattern, converting the escape
character if any, and translating % and _ into .* and . respectively.
There are probably some differences of detail that we'd need to fix
later, but that would get it to a state where we need not be ashamed
to release it.
We already have a similar mechanism for handling LIKE ... ESCAPE
clauses, so it doesn't seem too difficult to do. But I haven't got
time for it...
regards, tom lane