On Fri, 20 Jan 2012, ????? ?????????? wrote:
> [simple example code]
>
> What about these?
>
Yes, this is a bug. The escape processor is getting confused about what
it should process and is incorrectly modifying your code. Escape
processing should only occur in a raw SQL, never within a literal value.
The escape processor should skip over the entire function body because it
is within dollar quotes and is a literal, but it doesn't understand dollar
quotes so it is examining the contents and is getting further confused by
the single quotes within it.
The parameter locating code (looking for ?) knows about dollar quotes, so
it would be nice to unify with that instead of having two partial query
parsers.
Kris Jurka