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
#include "access/printtup.h"
#include "libpq/pqformat.h"
+#include "libpq/protocol.h"
#include "tcop/pquery.h"
#include "utils/lsyscache.h"
#include "utils/memdebug.h"
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);
/*
* 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);
#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"
* 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);
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);
/*
* 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++)
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.
*/
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);
#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 */