Use PqMsg_* macros in more places.
authorNathan Bossart <nathan@postgresql.org>
Wed, 17 Jul 2024 15:51:00 +0000 (10:51 -0500)
committerNathan Bossart <nathan@postgresql.org>
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 118db12903c5bd2579454ef37b12dd64b4427271..5771aabf40a79e4d40bf935e566d394932558111 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"
@@ -5497,7 +5498,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 2d1a9ec900fa89a7ce0b277d610c5d997efbfe22..ca205594bd09c9065ce781574729ebaa77cd0eeb 100644 (file)
@@ -695,7 +695,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 e39c6804a73098c9fcb6877171fd3513dd123b62..ea517f4b9bb5985bdfd70381d94c2de48a5972ba 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  */