Hi, all.
> > I don't think we actually want backslash-continuations. The feature we
> > want is "allow SQL statements span multiple lines", and using the psql
> > lexer solves that. We don't need the backslash-continuations when we
> > have that.
>
> Sure. The feature *I* initially wanted was to have multi-line
> meta-commands. For this feature ISTM that continuations are, alas, the
> solution.
>
> >> Indeed there are plenty of links already which are generated by
> >> makefiles
> >> (see src/bin/pg_xlogdump/*), and probably a copy is made on
> >> windows. There
> >> should no file duplication within the source tree.
> >
> > Yeah, following the example of pg_xlogdump and others is the way to
> > go.
> >
> > Docs need updating, and there's probably some cleanup to do before
> > this is ready for committing, but overall I think this is definitely
> > the right direction.
>
> I've created an entry for the next commitfest, and put the status to
> "waiting on author".
>
> > I complained upthread that this makes it impossible to use
> > "multi-statements" in pgbench, as they would be split into separate
> > statements, but looking at psqlscan.l there is actually a syntax for
> > that in psql already. You escape the semicolon as \;, e.g. "SELECT 1
> > \; SELECT 2;", and then both queries will be sent to the server as
> > one. So even that's OK.
>
> Good!
Hmm. psqlscan.l handles multistatement naturally.
I worked on that and the attached patche set does,
- backslash continuation for pgbench metacommands.
set variable \ <some value>
- SQL statement natural continuation lines.
SELECT :foo FROM :bar;
- SQL multi-statement.
SELECT 1; SELECT 2;
The work to be left is eliminating double-format of Command
struct.
regards,
--
Kyotaro Horiguchi
NTT Open Source Software Center