From: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Amit Langote <Langote_Amit_f8(at)lab(dot)ntt(dot)co(dot)jp>, Robert Haas <robertmhaas(at)gmail(dot)com>, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>, PostgreSQL Developers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: pgbench - allow to store select results into variables |
Date: | 2017-01-07 09:25:06 |
Message-ID: | alpine.DEB.2.20.1701070938300.10378@lancre |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hello Tom,
> Please look at changing \into to be a SQL-command-ending backslash
> command as we previously discussed.
Done.
There are two variants: \gset & \gcset for compound (end SQL query, set
variables, but do not end command, so that several settings are allowed in
a compound command, a key feature for performance testing).
Personnally, I find the end-of-query semicolon-replacing syntax ugly.
However I'm more interested in feature than in elegance on this one, so
I'll put up with it.
> I think you will find that the implementation is a great deal simpler
> that way and doesn't require weird hackery on the shared lexer.
I have removed the "hackery", only counting embedded semicolons remains to
keep track of compound queries.
Note that the (somehow buggy and indeed not too clean) hackery was not
related to the into syntax, but to detecting empty queries which are
silently skipped by the server.
> If you won't do that, [...]
I think that I have done what you required.
I have documented the fact that now the feature does not work if compound
commands contain empty queries, which is a very minor drawback for a
pgbench script anyway.
Attached are the patch, a test script for the feature, and various test
scripts to trigger error cases.
--
Fabien.
Attachment | Content-Type | Size |
---|---|---|
pgbench-into-7.patch | text/x-diff | 16.0 KB |
gset-1.sql | application/x-sql | 473 bytes |
gset-err-1.sql | application/x-sql | 36 bytes |
gset-err-2.sql | application/x-sql | 46 bytes |
gset-err-3.sql | application/x-sql | 35 bytes |
gset-err-4.sql | application/x-sql | 15 bytes |
gset-err-5.sql | application/x-sql | 31 bytes |
gset-err-6.sql | application/x-sql | 13 bytes |
From | Date | Subject | |
---|---|---|---|
Next Message | Magnus Hagander | 2017-01-07 11:19:03 | Re: Support for pg_receivexlog --format=plain|tar |
Previous Message | Andrew Borodin | 2017-01-07 08:36:03 | Re: pg_background contrib module proposal |