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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy