Skip to content

Commit 3a2cdd5

Browse files
committed
Make DTMD logs have more details on command arguments.
1 parent 0582c5d commit 3a2cdd5

File tree

1 file changed

+20
-25
lines changed

1 file changed

+20
-25
lines changed

contrib/pg_xtm/dtmd/src/main.c

Lines changed: 20 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,25 @@ static void clear_global_transaction(GlobalTransaction *t) {
5959
}
6060
}
6161

62-
static char *onbegin(void *client, cmd_t *cmd) {
63-
shout(
64-
"[%d] BEGIN\n",
65-
CLIENT_ID(client)
66-
);
62+
static void shout_cmd(void *client, cmd_t *cmd) {
63+
char *cmdname;
64+
switch (cmd->cmd) {
65+
case CMD_BEGIN : cmdname = "BEGIN"; break;
66+
case CMD_COMMIT : cmdname = "COMMIT"; break;
67+
case CMD_ABORT : cmdname = "ABORT"; break;
68+
case CMD_SNAPSHOT: cmdname = "SNAPSHOT"; break;
69+
case CMD_STATUS : cmdname = "STATUS"; break;
70+
default : cmdname = "unknown";
71+
}
72+
shout("[%d] %s", CLIENT_ID(client), cmdname);
73+
int i;
74+
for (i = 0; i < cmd->argc; i++) {
75+
shout(" %#llx", cmd->argv[i]);
76+
}
77+
shout("\n");
78+
}
6779

80+
static char *onbegin(void *client, cmd_t *cmd) {
6881
if (transactions_count >= MAX_TRANSACTIONS) {
6982
shout(
7083
"[%d] BEGIN: transaction limit hit\n",
@@ -222,20 +235,10 @@ static char *onvote(void *client, cmd_t *cmd, int vote) {
222235
}
223236

224237
static char *oncommit(void *client, cmd_t *cmd) {
225-
shout(
226-
"[%d] COMMIT -> VOTE\n",
227-
CLIENT_ID(client)
228-
);
229-
230238
return onvote(client, cmd, POSITIVE);
231239
}
232240

233241
static char *onabort(void *client, cmd_t *cmd) {
234-
shout(
235-
"[%d] ABORT -> VOTE\n",
236-
CLIENT_ID(client)
237-
);
238-
239242
return onvote(client, cmd, NEGATIVE);
240243
}
241244

@@ -263,11 +266,6 @@ static void gen_snapshots(GlobalTransaction *gt) {
263266
}
264267

265268
static char *onsnapshot(void *client, cmd_t *cmd) {
266-
shout(
267-
"[%d] SNAPSHOT\n",
268-
CLIENT_ID(client)
269-
);
270-
271269
if (cmd->argc != 2) {
272270
shout(
273271
"[%d] SNAPSHOT: wrong number of arguments\n",
@@ -313,11 +311,6 @@ static char *onsnapshot(void *client, cmd_t *cmd) {
313311
}
314312

315313
static char *onstatus(void *client, cmd_t *cmd) {
316-
shout(
317-
"[%d] STATUS\n",
318-
CLIENT_ID(client)
319-
);
320-
321314
if (cmd->argc != 2) {
322315
shout(
323316
"[%d] STATUS: wrong number of arguments\n",
@@ -358,6 +351,8 @@ static char *onnoise(void *client, cmd_t *cmd) {
358351
}
359352

360353
static char *oncmd(void *client, cmd_t *cmd) {
354+
shout_cmd(client, cmd);
355+
361356
switch (cmd->cmd) {
362357
case CMD_BEGIN:
363358
return onbegin(client, cmd);

0 commit comments

Comments
 (0)