Hi. I created a patch to remove ecnt which is a member variable of CState.This variable is incremented in some places, but it's not used for any purpose. Also, the current pgbench's client abandons processing after hitting error, so this variable is no need, I think.
Regards -- Kota Miyake
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c index 627a244fb7..31a4df45f5 100644 --- a/src/bin/pgbench/pgbench.c +++ b/src/bin/pgbench/pgbench.c @@ -427,7 +427,6 @@ typedef struct /* per client collected stats */ int64 cnt; /* client transaction count, for -t */ - int ecnt; /* error count */ } CState; /* @@ -2716,7 +2715,6 @@ sendCommand(CState *st, Command *command) if (r == 0) { pg_log_debug("client %d could not send %s", st->id, command->argv[0]); - st->ecnt++; return false; } else @@ -2828,14 +2826,12 @@ readCommandResponse(CState *st, MetaCommand meta, char *varprefix) if (qrynum == 0) { pg_log_error("client %d command %d: no results", st->id, st->command); - st->ecnt++; return false; } return true; error: - st->ecnt++; PQclear(res); PQclear(next_res); do