From 2e75be6660dbaaf2da09b98c54d47c9fe0ac8cfa Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Thu, 30 Jul 2015 14:50:51 +0300 Subject: [PATCH] Fix calculation of latency of pgbench backslash commands. When we loop back to the top of doCustom after processing a backslash command, we must reset the "now" timestamp, because that's used to calculate the time spent executing the previous command. Report and fix by Fabien Coelho. Backpatch to 9.5, where this was broken. --- src/bin/pgbench/pgbench.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index ceaf14cde16..d48e5b78443 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -1154,11 +1154,12 @@ doCustom(TState *thread, CState *st, instr_time *conn_time, FILE *logfile, AggVa * first time it's needed, and reuse the same value throughout this * function after that. This also ensures that e.g. the calculated latency * reported in the log file and in the totals are the same. Zero means - * "not set yet". + * "not set yet". Reset "now" when we step to the next command with "goto + * top", though. */ +top: INSTR_TIME_SET_ZERO(now); -top: commands = sql_files[st->use_file]; /* -- 2.39.5