| From: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> | 
|---|---|
| To: | Heikki Linnakangas <hlinnaka(at)iki(dot)fi> | 
| Cc: | Josh Berkus <josh(at)agliodbs(dot)com>, PostgreSQL Developers <pgsql-hackers(at)postgresql(dot)org> | 
| Subject: | Re: pgbench - allow backslash-continuations in custom scripts | 
| Date: | 2015-07-03 13:52:23 | 
| Message-ID: | alpine.DEB.2.10.1507031546030.16176@sto | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-hackers | 
> The home-grown lexer is missing e.g. dollar-quoting support, so this is not 
> be parsed correctly:
>
> do $$
> begin
>  ...
> end;
> $$;
> That would be very nice to handle correctly, I've used DO-blocks in pgbench 
> scripts many times, and it's a pain to have to write them in a single line.
Attached is a version which does that (I think), and a test script.
  - backslash-commands can be \-continuated
  - sql-commands may include $$-quotes and must end with a ';'
  - double-dash comments and blank line are skipped.
Obviously it is still a non-lexer hack which can be easily defeated, but 
ISTM that it handles non-contrived cases well. Anyway ISTM that dollar 
quoting cannot be handle as such and simply by a lexer, it is really an 
exception mechanism.
-- 
Fabien.
| Attachment | Content-Type | Size | 
|---|---|---|
| pgbench-conts-3.patch | text/x-diff | 6.8 KB | 
| test.sql | application/x-sql | 594 bytes | 
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Andrew Dunstan | 2015-07-03 14:37:34 | Re: [PATCH] Generalized JSON output functions | 
| Previous Message | Michael Paquier | 2015-07-03 13:50:11 | Re: BUG #13126: table constraint loses its comment |