> 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
commentsand 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.