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.
This commit is contained in:
Heikki Linnakangas 2015-07-30 14:50:51 +03:00
parent a2932283c2
commit 5515ec0b3a

View File

@ -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 * first time it's needed, and reuse the same value throughout this
* function after that. This also ensures that e.g. the calculated latency * 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 * 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); INSTR_TIME_SET_ZERO(now);
top:
commands = sql_files[st->use_file]; commands = sql_files[st->use_file];
/* /*