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. 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. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match