Re: quoting psql varible as identifier
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Alvaro Herrera <alvherre@commandprompt.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-01-22T12:19:51Z
Lists: pgsql-hackers
Attachments
- variables-escape.diff (application/octet-stream) patch
Hello here is new variant. Add scan_state flag "valid" and enhance protection against execution broken statement. Regards Pavel Stehule 2010/1/22 Pavel Stehule <pavel.stehule@gmail.com>: > 2010/1/22 Robert Haas <robertmhaas@gmail.com>: >> On Thu, Jan 21, 2010 at 2:25 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote: >>> 2010/1/21 Robert Haas <robertmhaas@gmail.com>: >>>> On Thu, Jan 21, 2010 at 12:53 PM, Pavel Stehule <pavel.stehule@gmail.com> wrote: >>>>> add to state structure field like lexer_error. This field will be >>>>> checked before execution >>>>> it could be ugly for metacommands, there will be lot of new checks :( >>>> >>>> Eh? The only places where we should need new tests are the places >>>> that check PQExpBufferBroken() now - there are only 6 calls to that >>>> function in src/bin/psql and not all of them need to be changed. The >>>> places that do need to be changed will need to be modified to check >>>> PQExpBufferBroken() || lexer_coughed_up_a_lung. >>> >>> no, it is only 6 calls because we don't check psql_scan_slash_option result. >> >> psql_scan_slash_option() already has a way to signal errors - it can >> return NULL. Type any backslash command followed by a single quote... > > NULL means "no value". But I thing, so there is only one important - > \set. For other can be enough some error message and empty value. > >> >> I'm not saying I love the way those errors are handled, but if we make >> this patch about revising the way psql does error handling, this is >> not going to get committed for this release... what we need to do is >> fit what we're trying to do into the existing model. >> > > I try to find some simple and I'll send a patch. > > Pavel > >> ...Robert >> >