From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | pgsql-committers(at)postgresql(dot)org |
Subject: | pgsql: Be more careful about newline-chomping in pgbench. |
Date: | 2017-09-04 21:25:34 |
Message-ID: | E1doysA-0001GW-Qk@gemulon.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Be more careful about newline-chomping in pgbench.
process_backslash_command would drop the last character of the input
command on the assumption that it was a newline. Given a non newline
terminated input file, this could result in dropping the last character
of the command. Fix that by doing an actual test that we're removing
a newline.
While at it, allow for Windows newlines (\r\n), and suppress multiple
newlines if any. I do not think either of those cases really occur,
since (a) we read script files in text mode and (b) the lexer stops
when it hits a newline. But it's cheap enough and it provides a
stronger guarantee about what the result string looks like.
This is just cosmetic, I think, since the possibly-overly-chomped
line was only used for display not for further processing. So
it doesn't seem necessary to back-patch.
Fabien Coelho, reviewed by Nikolay Shaplov, whacked around a bit by me
Discussion: https://postgr.es/m/alpine.DEB.2.20.1704171422500.4025@lancre
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/0b707d6ea75971fb464a74e7a6334e2d5ae822b7
Modified Files
--------------
src/bin/pgbench/exprscan.l | 26 +++++++++++++++++---------
src/bin/pgbench/pgbench.c | 19 +++++++------------
src/bin/pgbench/pgbench.h | 3 ++-
3 files changed, 26 insertions(+), 22 deletions(-)
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2017-09-05 14:17:21 | pgsql: Reformat psql's --help=variables output. |
Previous Message | Tom Lane | 2017-09-04 20:24:16 | pgsql: Fix some subtle problems in pgbench transaction stats counting. |