pgbench has #defines for number of branches, tellers, and accounts. There
are used to populate the tables with -i, but when running actual benchmark
it has values separately hard-coded in the query metacommands. This patch
makes the metacommands obtain their values from the relevant #defines.
It has been tested to the extent that after changing the #define naccounts
downward, without the patch, after running both -i once and the benchmark
itself once leads to inconsistent results (select sum(abalance) from
pgbench_accounts does not equal sum(delta) from pgbench_history), while
with the patch they are equal.
Cheers,
Jeff
Index: pgbench.c
===================================================================
RCS file: /home/jjanes/pgrepo/pgsql/contrib/pgbench/pgbench.c,v
retrieving revision 1.90
diff -c -r1.90 pgbench.c
*** pgbench.c 3 Aug 2009 18:30:55 -0000 1.90
--- pgbench.c 31 Aug 2009 21:04:46 -0000
***************
*** 132,138 ****
* end of configurable parameters
*********************************************************************/
! #define nbranches 1
#define ntellers 10
#define naccounts 100000
--- 132,138 ----
* end of configurable parameters
*********************************************************************/
! #define nbranches 1 /* Makes little sense to change this. Change -s instead */
#define ntellers 10
#define naccounts 100000
***************
*** 232,240 ****
/* default scenario */
static char *tpc_b = {
! "\\set nbranches :scale\n"
! "\\set ntellers 10 * :scale\n"
! "\\set naccounts 100000 * :scale\n"
"\\setrandom aid 1 :naccounts\n"
"\\setrandom bid 1 :nbranches\n"
"\\setrandom tid 1 :ntellers\n"
--- 232,240 ----
/* default scenario */
static char *tpc_b = {
! "\\set nbranches " CppAsString2(nbranches) " * :scale\n"
! "\\set ntellers " CppAsString2(ntellers) " * :scale\n"
! "\\set naccounts " CppAsString2(naccounts) " * :scale\n"
"\\setrandom aid 1 :naccounts\n"
"\\setrandom bid 1 :nbranches\n"
"\\setrandom tid 1 :ntellers\n"
***************
*** 250,258 ****
/* -N case */
static char *simple_update = {
! "\\set nbranches :scale\n"
! "\\set ntellers 10 * :scale\n"
! "\\set naccounts 100000 * :scale\n"
"\\setrandom aid 1 :naccounts\n"
"\\setrandom bid 1 :nbranches\n"
"\\setrandom tid 1 :ntellers\n"
--- 250,258 ----
/* -N case */
static char *simple_update = {
! "\\set nbranches " CppAsString2(nbranches) " * :scale\n"
! "\\set ntellers " CppAsString2(ntellers) " * :scale\n"
! "\\set naccounts " CppAsString2(naccounts) " * :scale\n"
"\\setrandom aid 1 :naccounts\n"
"\\setrandom bid 1 :nbranches\n"
"\\setrandom tid 1 :ntellers\n"
***************
*** 266,272 ****
/* -S case */
static char *select_only = {
! "\\set naccounts 100000 * :scale\n"
"\\setrandom aid 1 :naccounts\n"
"SELECT abalance FROM pgbench_accounts WHERE aid = :aid;\n"
};
--- 266,272 ----
/* -S case */
static char *select_only = {
! "\\set naccounts " CppAsString2(naccounts) " * :scale\n"
"\\setrandom aid 1 :naccounts\n"
"SELECT abalance FROM pgbench_accounts WHERE aid = :aid;\n"
};
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers