Tom Lane wrote:
Andrew Dunstan <[EMAIL PROTECTED]> writes:
After staring at the code for a long time, I think I see how to do this. It's complicated a bit by the fact that $ is a valid identifier character. So my current thinking is to say that if we see $ not in a quote and not preceded by a valid identifier char then it is the start of a $foo$ sequence. Or have I missed something? Can we validly see $ in any other context?
Right, a $ should be considered to start a quote marker only if it's not part of an identifier. The backend lexer doesn't have a problem with this because it's written in flex, but I can imagine that getting it right in psql's ad-hoc parser might be tricky.
I think it's doable, though. I seem to have a working patch, which I will send out for review soon.
There was some discussion awhile back of converting psql to use flex for interpreting its input, but I dunno how practical that really is. I don't know how you get flex to do reasonable stuff with an incomplete input string. Still, it might be worth looking into.
That's what made me not even think about it. If someone better versed in this stuff than me wants to do it then more power to them.
cheers
andrew
---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings