• Tom Lane's avatar
    pgbench: fix stats reporting when some transactions are skipped. · 16827d44
    Tom Lane authored
    pgbench can skip some transactions when both -R and -L options are used.
    Previously, this resulted in slightly silly statistics both in progress
    reports and final output, because the skipped transactions were counted
    as executed for TPS and related stats.  Discount skipped xacts in TPS
    numbers, and also when figuring the percentage of xacts exceeding the
    latency limit.
    
    Also, don't print per-script skipped-transaction counts when there is
    only one script.  That's redundant with the overall count, and it's
    inconsistent with the fact that we don't print other per-script stats
    when there's only one script.  Clean up some unnecessary interactions
    between what should be independent options that were due to that
    decision.
    
    While at it, avoid division-by-zero in cases where no transactions were
    executed.  While on modern platforms this would generally result in
    printing "NaN" rather than a crash, that isn't spelled consistently
    across platforms and it would confuse many people.  Skip the relevant
    output entirely when practical, else print zeroes.
    
    Fabien Coelho, reviewed by Steve Singer, additional hacking by me
    
    Discussion: https://postgr.es/m/26654.1505232433@sss.pgh.pa.us
    16827d44
001_pgbench_with_server.pl 13.1 KB