Refactor script execution state machine in pgbench.

The doCustom() function had grown into quite a mess. Rewrite it, in a more
explicit state machine style, for readability.

This also fixes one minor bug: if a script consisted entirely of meta
commands, doCustom() never returned to the caller, so progress reports
with the -P option were not printed. I don't want to backpatch this
refactoring, and the bug is quite insignificant, so only commit this to
master, and leave the bug unfixed in back-branches.

Review and original bug report by Fabien Coelho.

Discussion: <alpine.DEB.2.20.1607090850120.3412@sto>
This commit is contained in:
Heikki Linnakangas 2016-09-26 10:56:02 +03:00
parent da6c4f6ca8
commit 12788ae49e
1 changed files with 696 additions and 480 deletions

File diff suppressed because it is too large Load Diff