Re: [HACKERS] pgbench - allow to store select results into variables

Fabien COELHO <coelho@cri.ensmp.fr>

From: Fabien COELHO <coelho@cri.ensmp.fr>
To: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>
Cc: Stephen Frost <sfrost@snowman.net>, PostgreSQL Developers <pgsql-hackers@postgresql.org>
Date: 2018-08-14T11:38:21Z
Lists: pgsql-hackers

Attachments

Hello Andrew,

> It's not done by my MUA, and it's present in your latest posted patch. If 
> anything I'd suspect your MUA:
>
> andrew@emma*$ curl -s 
> https://www.postgresql.org/message-id/attachment/64237/pgbench-into-19.patch

Argh. Indeed, this downloaded version has CRLF. Now when I save the 
attachment in my MUA, I only have LF... Let us look at the raw format:

Content-Type: text/plain; name=pgbench-into-19.patch
Content-Transfer-Encoding: BASE64
...

ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdiZW5jaC5zZ21sIGIv
ZG9jL3NyYy9zZ21sL3JlZi9wZ2JlbmNoLnNnbWwNCmluZGV4IDg4Y2Y4YjM5
...

Where you immediatly see that it has indeed CRLF at the end of the second 
line:-).

So you are right, and my trusted mailer is encoding *AND* decoding 
silently.

Why would it do that? After some googling, this is because RFC 2046 (MIME) 
says you "MUST":

 	https://tools.ietf.org/html/rfc2046#section-4.1.1

So I'm right in the end, and the whole world is wrong, which is a 
relief:-)


As I cannot except everybody to have a RFC 2046 compliant MUA, and after 
some meddling in "/etc/mime.types", I now have:

Content-Type: application/octet-stream; name=pgbench-into-19.patch
Content-Transfer-Encoding: BASE64
...

ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdiZW5jaC5zZ21sIGIv
ZG9jL3NyYy9zZ21sL3JlZi9wZ2JlbmNoLnNnbWwKaW5kZXggODhjZjhiMzkz

Which is much better:-)

I re-attached the v19 for a check on the list.

-- 
Fabien.

Commits

  1. pgbench: Remove \cset

  2. pgbench: add \cset and \gset commands

  3. Adjust pgbench to allow non-ASCII characters in variable names.

  4. Refactor script execution state machine in pgbench.

  5. Allow empty queries in pgbench.