Use PqMsg_* macros in more places.
authorNathan Bossart <[email protected]>
Wed, 17 Jul 2024 15:51:00 +0000 (10:51 -0500)
committerNathan Bossart <[email protected]>
Wed, 17 Jul 2024 15:51:00 +0000 (10:51 -0500)
Commit f4b54e1ed9, which introduced macros for protocol characters,
missed updating a few places.  It also did not introduce macros for
messages sent from parallel workers to their leader processes.
This commit adds a new section in protocol.h for those.

Author: Aleksander Alekseev
Discussion: https://postgr.es/m/CAJ7c6TNTd09AZq8tGaHS3LDyH_CCnpv0oOz2wN1dGe8zekxrdQ%40mail.gmail.com
Backpatch-through: 17

src/backend/access/common/printtup.c
src/backend/commands/explain.c
src/backend/replication/walsender.c
src/backend/tcop/postgres.c
src/backend/utils/activity/backend_progress.c
src/include/libpq/protocol.h

index f2d5ca14feea522b611f217374d846c5488e8e0b..c78cc3930873a3e0023239084221a23c240b5575 100644 (file)
@@ -17,6 +17,7 @@
 
 #include "access/printtup.h"
 #include "libpq/pqformat.h"
+#include "libpq/protocol.h"
 #include "tcop/pquery.h"
 #include "utils/lsyscache.h"
 #include "utils/memdebug.h"
@@ -170,7 +171,7 @@ SendRowDescriptionMessage(StringInfo buf, TupleDesc typeinfo,
    ListCell   *tlist_item = list_head(targetlist);
 
    /* tuple descriptor message type */
-   pq_beginmessage_reuse(buf, 'T');
+   pq_beginmessage_reuse(buf, PqMsg_RowDescription);
    /* # of attrs in tuples */
    pq_sendint16(buf, natts);
 
@@ -322,7 +323,7 @@ printtup(TupleTableSlot *slot, DestReceiver *self)
    /*
     * Prepare a DataRow message (note buffer is in per-query context)
     */
-   pq_beginmessage_reuse(buf, 'D');
+   pq_beginmessage_reuse(buf, PqMsg_DataRow);
 
    pq_sendint16(buf, natts);
 
index 94511a5a02490d03c80f1ef188a2a9674f1dcdb4..8086607710eb8a1ca5dd66598391481eec6b0b31 100644 (file)
@@ -21,6 +21,7 @@
 #include "foreign/fdwapi.h"
 #include "jit/jit.h"
 #include "libpq/pqformat.h"
+#include "libpq/protocol.h"
 #include "nodes/extensible.h"
 #include "nodes/makefuncs.h"
 #include "nodes/nodeFuncs.h"
@@ -5416,7 +5417,7 @@ serializeAnalyzeReceive(TupleTableSlot *slot, DestReceiver *self)
     * Note that we fill a StringInfo buffer the same as printtup() does, so
     * as to capture the costs of manipulating the strings accurately.
     */
-   pq_beginmessage_reuse(buf, 'D');
+   pq_beginmessage_reuse(buf, PqMsg_DataRow);
 
    pq_sendint16(buf, natts);
 
index 59d1dfc7e28fd2147705a90b71386c65dae93dbf..c3181e3295ea32cd81f72aaf3e0dbd51a9d1bc90 100644 (file)
@@ -697,7 +697,7 @@ UploadManifest(void)
    ib = CreateIncrementalBackupInfo(mcxt);
 
    /* Send a CopyInResponse message */
-   pq_beginmessage(&buf, 'G');
+   pq_beginmessage(&buf, PqMsg_CopyInResponse);
    pq_sendbyte(&buf, 0);
    pq_sendint16(&buf, 0);
    pq_endmessage_reuse(&buf);
index 45a3794b8e3a82757b7be8f5999007c8a0efa59e..034e0100bf0d3ae0d237fa320ae4b7aadfeb4c0d 100644 (file)
@@ -2651,8 +2651,7 @@ exec_describe_statement_message(const char *stmt_name)
    /*
     * First describe the parameters...
     */
-   pq_beginmessage_reuse(&row_description_buf, 't');   /* parameter description
-                                                        * message type */
+   pq_beginmessage_reuse(&row_description_buf, PqMsg_ParameterDescription);
    pq_sendint16(&row_description_buf, psrc->num_params);
 
    for (int i = 0; i < psrc->num_params; i++)
index bfb9b7704b164393ebbba994096cf1e9a7fd6e63..c78c5eb50764204ef92c31066a5d8ac46685052a 100644 (file)
@@ -92,7 +92,7 @@ void
 pgstat_progress_parallel_incr_param(int index, int64 incr)
 {
    /*
-    * Parallel workers notify a leader through a 'P' protocol message to
+    * Parallel workers notify a leader through a PqMsg_Progress message to
     * update progress, passing the progress index and incremented value.
     * Leaders can just call pgstat_progress_incr_param directly.
     */
@@ -102,7 +102,7 @@ pgstat_progress_parallel_incr_param(int index, int64 incr)
 
        initStringInfo(&progress_message);
 
-       pq_beginmessage(&progress_message, 'P');
+       pq_beginmessage(&progress_message, PqMsg_Progress);
        pq_sendint32(&progress_message, index);
        pq_sendint64(&progress_message, incr);
        pq_endmessage(&progress_message);
index 4b8d440365687c604c0fa64ee997d75b8cfc7c4e..b71add1ec1508ef4782961c2130d556e1ed3a657 100644 (file)
 #define PqMsg_CopyData             'd'
 
 
+/* These are the codes sent by parallel workers to leader processes. */
+#define PqMsg_Progress              'P'
+
+
 /* These are the authentication request codes sent by the backend. */
 
 #define AUTH_REQ_OK            0   /* User is authenticated  */