summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorHeikki Linnakangas2013-06-14 20:31:44 +0000
committerHeikki Linnakangas2013-06-14 20:31:44 +0000
commitb23160889c963dfe23d8cf1f9be64fb3c535a2d6 (patch)
treefc942b60c7d6a7797771e79dd83440704a2ebb02 /contrib
parent46e1434f3db21cdc05dea42b4e060d2078ff5b87 (diff)
Add :client_id automatic variable for custom pgbench scripts.
This makes it easier to write custom scripts that have different logic for each client. Gurjeet Singh, with some changes by me.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/pgbench/pgbench.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/contrib/pgbench/pgbench.c b/contrib/pgbench/pgbench.c
index 8c202bf8702..1303217086e 100644
--- a/contrib/pgbench/pgbench.c
+++ b/contrib/pgbench/pgbench.c
@@ -2544,6 +2544,20 @@ main(int argc, char **argv)
}
}
+ /*
+ * Define a :client_id variable that is unique per connection. But don't
+ * override an explicit -D switch.
+ */
+ if (getVariable(&state[0], "client_id") == NULL)
+ {
+ for (i = 0; i < nclients; i++)
+ {
+ snprintf(val, sizeof(val), "%d", i);
+ if (!putVariable(&state[i], "startup", "client_id", val))
+ exit(1);
+ }
+ }
+
if (!is_no_vacuum)
{
fprintf(stderr, "starting vacuum...");