Fix "pg_bench -C -M prepared".
This didn't work because when we dropped and re-established a database connection, we did not bother to reset session-specific state such as the statements-are-prepared flags. The st->prepared[] array certainly needs to be flushed, and I cleared a couple of other fields as well that couldn't possibly retain meaningful state for a new connection. In passing, fix some bogus comments and strange field order choices. Per report from Robins Tharakan.
This commit is contained in:
parent
5db5146431
commit
47211af17a
|
@ -230,9 +230,9 @@ typedef struct
|
||||||
int id; /* client No. */
|
int id; /* client No. */
|
||||||
int state; /* state No. */
|
int state; /* state No. */
|
||||||
bool listen; /* whether an async query has been sent */
|
bool listen; /* whether an async query has been sent */
|
||||||
bool is_throttled; /* whether transaction throttling is done */
|
|
||||||
bool sleeping; /* whether the client is napping */
|
bool sleeping; /* whether the client is napping */
|
||||||
bool throttling; /* whether nap is for throttling */
|
bool throttling; /* whether nap is for throttling */
|
||||||
|
bool is_throttled; /* whether transaction throttling is done */
|
||||||
Variable *variables; /* array of variable definitions */
|
Variable *variables; /* array of variable definitions */
|
||||||
int nvariables;
|
int nvariables;
|
||||||
int64 txn_scheduled; /* scheduled start time of transaction (usec) */
|
int64 txn_scheduled; /* scheduled start time of transaction (usec) */
|
||||||
|
@ -1522,6 +1522,13 @@ top:
|
||||||
}
|
}
|
||||||
INSTR_TIME_SET_CURRENT(end);
|
INSTR_TIME_SET_CURRENT(end);
|
||||||
INSTR_TIME_ACCUM_DIFF(thread->conn_time, end, start);
|
INSTR_TIME_ACCUM_DIFF(thread->conn_time, end, start);
|
||||||
|
|
||||||
|
/* Reset session-local state */
|
||||||
|
st->listen = false;
|
||||||
|
st->sleeping = false;
|
||||||
|
st->throttling = false;
|
||||||
|
st->is_throttled = false;
|
||||||
|
memset(st->prepared, 0, sizeof(st->prepared));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Reference in New Issue