From 5515ec0b3a9425a0c0e36e26b5774c1568f22b3a 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 3b8a80fa7ad..30a59afcce5 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -1135,11 +1135,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]; /*