Coverage Report

Created: 2025-06-13 06:06

/src/postgres/src/include/libpq/pqformat.h
Line
Count
Source (jump to first uncovered line)
1
/*-------------------------------------------------------------------------
2
 *
3
 * pqformat.h
4
 *    Definitions for formatting and parsing frontend/backend messages
5
 *
6
 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7
 * Portions Copyright (c) 1994, Regents of the University of California
8
 *
9
 * src/include/libpq/pqformat.h
10
 *
11
 *-------------------------------------------------------------------------
12
 */
13
#ifndef PQFORMAT_H
14
#define PQFORMAT_H
15
16
#include "lib/stringinfo.h"
17
#include "mb/pg_wchar.h"
18
#include "port/pg_bswap.h"
19
20
extern void pq_beginmessage(StringInfo buf, char msgtype);
21
extern void pq_beginmessage_reuse(StringInfo buf, char msgtype);
22
extern void pq_endmessage(StringInfo buf);
23
extern void pq_endmessage_reuse(StringInfo buf);
24
25
extern void pq_sendbytes(StringInfo buf, const void *data, int datalen);
26
extern void pq_sendcountedtext(StringInfo buf, const char *str, int slen);
27
extern void pq_sendtext(StringInfo buf, const char *str, int slen);
28
extern void pq_sendstring(StringInfo buf, const char *str);
29
extern void pq_send_ascii_string(StringInfo buf, const char *str);
30
extern void pq_sendfloat4(StringInfo buf, float4 f);
31
extern void pq_sendfloat8(StringInfo buf, float8 f);
32
33
/*
34
 * Append a [u]int8 to a StringInfo buffer, which already has enough space
35
 * preallocated.
36
 *
37
 * The use of pg_restrict allows the compiler to optimize the code based on
38
 * the assumption that buf, buf->len, buf->data and *buf->data don't
39
 * overlap. Without the annotation buf->len etc cannot be kept in a register
40
 * over subsequent pq_writeintN calls.
41
 *
42
 * The use of StringInfoData * rather than StringInfo is due to MSVC being
43
 * overly picky and demanding a * before a restrict.
44
 */
45
static inline void
46
pq_writeint8(StringInfoData *pg_restrict buf, uint8 i)
47
0
{
48
0
  uint8   ni = i;
49
50
0
  Assert(buf->len + (int) sizeof(uint8) <= buf->maxlen);
51
0
  memcpy((char *pg_restrict) (buf->data + buf->len), &ni, sizeof(uint8));
52
0
  buf->len += sizeof(uint8);
53
0
}
Unexecuted instantiation: printsimple.c:pq_writeint8
Unexecuted instantiation: printtup.c:pq_writeint8
Unexecuted instantiation: parallel.c:pq_writeint8
Unexecuted instantiation: async.c:pq_writeint8
Unexecuted instantiation: copyfromparse.c:pq_writeint8
Unexecuted instantiation: copyto.c:pq_writeint8
Unexecuted instantiation: explain.c:pq_writeint8
Unexecuted instantiation: explain_dr.c:pq_writeint8
Unexecuted instantiation: auth-sasl.c:pq_writeint8
Unexecuted instantiation: auth.c:pq_writeint8
Unexecuted instantiation: pqformat.c:pq_writeint8
Unexecuted instantiation: pqmq.c:pq_writeint8
Unexecuted instantiation: applyparallelworker.c:pq_writeint8
Unexecuted instantiation: proto.c:pq_writeint8
Unexecuted instantiation: worker.c:pq_writeint8
Unexecuted instantiation: walreceiver.c:pq_writeint8
Unexecuted instantiation: walsender.c:pq_writeint8
Unexecuted instantiation: basebackup_copy.c:pq_writeint8
Unexecuted instantiation: backend_startup.c:pq_writeint8
Unexecuted instantiation: dest.c:pq_writeint8
Unexecuted instantiation: fastpath.c:pq_writeint8
Unexecuted instantiation: postgres.c:pq_writeint8
Unexecuted instantiation: backend_progress.c:pq_writeint8
Unexecuted instantiation: array_userfuncs.c:pq_writeint8
Unexecuted instantiation: arrayfuncs.c:pq_writeint8
Unexecuted instantiation: bool.c:pq_writeint8
Unexecuted instantiation: cash.c:pq_writeint8
Unexecuted instantiation: char.c:pq_writeint8
Unexecuted instantiation: date.c:pq_writeint8
Unexecuted instantiation: enum.c:pq_writeint8
Unexecuted instantiation: float.c:pq_writeint8
Unexecuted instantiation: geo_ops.c:pq_writeint8
Unexecuted instantiation: int.c:pq_writeint8
Unexecuted instantiation: int8.c:pq_writeint8
Unexecuted instantiation: json.c:pq_writeint8
Unexecuted instantiation: jsonb.c:pq_writeint8
Unexecuted instantiation: jsonpath.c:pq_writeint8
Unexecuted instantiation: mac.c:pq_writeint8
Unexecuted instantiation: mac8.c:pq_writeint8
Unexecuted instantiation: multirangetypes.c:pq_writeint8
Unexecuted instantiation: name.c:pq_writeint8
Unexecuted instantiation: network.c:pq_writeint8
Unexecuted instantiation: numeric.c:pq_writeint8
Unexecuted instantiation: oid.c:pq_writeint8
Unexecuted instantiation: pg_lsn.c:pq_writeint8
Unexecuted instantiation: pseudotypes.c:pq_writeint8
Unexecuted instantiation: rangetypes.c:pq_writeint8
Unexecuted instantiation: rowtypes.c:pq_writeint8
Unexecuted instantiation: tid.c:pq_writeint8
Unexecuted instantiation: timestamp.c:pq_writeint8
Unexecuted instantiation: tsquery.c:pq_writeint8
Unexecuted instantiation: tsvector.c:pq_writeint8
Unexecuted instantiation: uuid.c:pq_writeint8
Unexecuted instantiation: varbit.c:pq_writeint8
Unexecuted instantiation: varchar.c:pq_writeint8
Unexecuted instantiation: varlena.c:pq_writeint8
Unexecuted instantiation: xid.c:pq_writeint8
Unexecuted instantiation: xid8funcs.c:pq_writeint8
Unexecuted instantiation: xml.c:pq_writeint8
Unexecuted instantiation: elog.c:pq_writeint8
Unexecuted instantiation: guc.c:pq_writeint8
54
55
/*
56
 * Append a [u]int16 to a StringInfo buffer, which already has enough space
57
 * preallocated.
58
 */
59
static inline void
60
pq_writeint16(StringInfoData *pg_restrict buf, uint16 i)
61
0
{
62
0
  uint16    ni = pg_hton16(i);
63
64
0
  Assert(buf->len + (int) sizeof(uint16) <= buf->maxlen);
65
0
  memcpy((char *pg_restrict) (buf->data + buf->len), &ni, sizeof(uint16));
66
0
  buf->len += sizeof(uint16);
67
0
}
Unexecuted instantiation: printsimple.c:pq_writeint16
Unexecuted instantiation: printtup.c:pq_writeint16
Unexecuted instantiation: parallel.c:pq_writeint16
Unexecuted instantiation: async.c:pq_writeint16
Unexecuted instantiation: copyfromparse.c:pq_writeint16
Unexecuted instantiation: copyto.c:pq_writeint16
Unexecuted instantiation: explain.c:pq_writeint16
Unexecuted instantiation: explain_dr.c:pq_writeint16
Unexecuted instantiation: auth-sasl.c:pq_writeint16
Unexecuted instantiation: auth.c:pq_writeint16
Unexecuted instantiation: pqformat.c:pq_writeint16
Unexecuted instantiation: pqmq.c:pq_writeint16
Unexecuted instantiation: applyparallelworker.c:pq_writeint16
Unexecuted instantiation: proto.c:pq_writeint16
Unexecuted instantiation: worker.c:pq_writeint16
Unexecuted instantiation: walreceiver.c:pq_writeint16
Unexecuted instantiation: walsender.c:pq_writeint16
Unexecuted instantiation: basebackup_copy.c:pq_writeint16
Unexecuted instantiation: backend_startup.c:pq_writeint16
Unexecuted instantiation: dest.c:pq_writeint16
Unexecuted instantiation: fastpath.c:pq_writeint16
Unexecuted instantiation: postgres.c:pq_writeint16
Unexecuted instantiation: backend_progress.c:pq_writeint16
Unexecuted instantiation: array_userfuncs.c:pq_writeint16
Unexecuted instantiation: arrayfuncs.c:pq_writeint16
Unexecuted instantiation: bool.c:pq_writeint16
Unexecuted instantiation: cash.c:pq_writeint16
Unexecuted instantiation: char.c:pq_writeint16
Unexecuted instantiation: date.c:pq_writeint16
Unexecuted instantiation: enum.c:pq_writeint16
Unexecuted instantiation: float.c:pq_writeint16
Unexecuted instantiation: geo_ops.c:pq_writeint16
Unexecuted instantiation: int.c:pq_writeint16
Unexecuted instantiation: int8.c:pq_writeint16
Unexecuted instantiation: json.c:pq_writeint16
Unexecuted instantiation: jsonb.c:pq_writeint16
Unexecuted instantiation: jsonpath.c:pq_writeint16
Unexecuted instantiation: mac.c:pq_writeint16
Unexecuted instantiation: mac8.c:pq_writeint16
Unexecuted instantiation: multirangetypes.c:pq_writeint16
Unexecuted instantiation: name.c:pq_writeint16
Unexecuted instantiation: network.c:pq_writeint16
Unexecuted instantiation: numeric.c:pq_writeint16
Unexecuted instantiation: oid.c:pq_writeint16
Unexecuted instantiation: pg_lsn.c:pq_writeint16
Unexecuted instantiation: pseudotypes.c:pq_writeint16
Unexecuted instantiation: rangetypes.c:pq_writeint16
Unexecuted instantiation: rowtypes.c:pq_writeint16
Unexecuted instantiation: tid.c:pq_writeint16
Unexecuted instantiation: timestamp.c:pq_writeint16
Unexecuted instantiation: tsquery.c:pq_writeint16
Unexecuted instantiation: tsvector.c:pq_writeint16
Unexecuted instantiation: uuid.c:pq_writeint16
Unexecuted instantiation: varbit.c:pq_writeint16
Unexecuted instantiation: varchar.c:pq_writeint16
Unexecuted instantiation: varlena.c:pq_writeint16
Unexecuted instantiation: xid.c:pq_writeint16
Unexecuted instantiation: xid8funcs.c:pq_writeint16
Unexecuted instantiation: xml.c:pq_writeint16
Unexecuted instantiation: elog.c:pq_writeint16
Unexecuted instantiation: guc.c:pq_writeint16
68
69
/*
70
 * Append a [u]int32 to a StringInfo buffer, which already has enough space
71
 * preallocated.
72
 */
73
static inline void
74
pq_writeint32(StringInfoData *pg_restrict buf, uint32 i)
75
0
{
76
0
  uint32    ni = pg_hton32(i);
77
78
0
  Assert(buf->len + (int) sizeof(uint32) <= buf->maxlen);
79
0
  memcpy((char *pg_restrict) (buf->data + buf->len), &ni, sizeof(uint32));
80
0
  buf->len += sizeof(uint32);
81
0
}
Unexecuted instantiation: printsimple.c:pq_writeint32
Unexecuted instantiation: printtup.c:pq_writeint32
Unexecuted instantiation: parallel.c:pq_writeint32
Unexecuted instantiation: async.c:pq_writeint32
Unexecuted instantiation: copyfromparse.c:pq_writeint32
Unexecuted instantiation: copyto.c:pq_writeint32
Unexecuted instantiation: explain.c:pq_writeint32
Unexecuted instantiation: explain_dr.c:pq_writeint32
Unexecuted instantiation: auth-sasl.c:pq_writeint32
Unexecuted instantiation: auth.c:pq_writeint32
Unexecuted instantiation: pqformat.c:pq_writeint32
Unexecuted instantiation: pqmq.c:pq_writeint32
Unexecuted instantiation: applyparallelworker.c:pq_writeint32
Unexecuted instantiation: proto.c:pq_writeint32
Unexecuted instantiation: worker.c:pq_writeint32
Unexecuted instantiation: walreceiver.c:pq_writeint32
Unexecuted instantiation: walsender.c:pq_writeint32
Unexecuted instantiation: basebackup_copy.c:pq_writeint32
Unexecuted instantiation: backend_startup.c:pq_writeint32
Unexecuted instantiation: dest.c:pq_writeint32
Unexecuted instantiation: fastpath.c:pq_writeint32
Unexecuted instantiation: postgres.c:pq_writeint32
Unexecuted instantiation: backend_progress.c:pq_writeint32
Unexecuted instantiation: array_userfuncs.c:pq_writeint32
Unexecuted instantiation: arrayfuncs.c:pq_writeint32
Unexecuted instantiation: bool.c:pq_writeint32
Unexecuted instantiation: cash.c:pq_writeint32
Unexecuted instantiation: char.c:pq_writeint32
Unexecuted instantiation: date.c:pq_writeint32
Unexecuted instantiation: enum.c:pq_writeint32
Unexecuted instantiation: float.c:pq_writeint32
Unexecuted instantiation: geo_ops.c:pq_writeint32
Unexecuted instantiation: int.c:pq_writeint32
Unexecuted instantiation: int8.c:pq_writeint32
Unexecuted instantiation: json.c:pq_writeint32
Unexecuted instantiation: jsonb.c:pq_writeint32
Unexecuted instantiation: jsonpath.c:pq_writeint32
Unexecuted instantiation: mac.c:pq_writeint32
Unexecuted instantiation: mac8.c:pq_writeint32
Unexecuted instantiation: multirangetypes.c:pq_writeint32
Unexecuted instantiation: name.c:pq_writeint32
Unexecuted instantiation: network.c:pq_writeint32
Unexecuted instantiation: numeric.c:pq_writeint32
Unexecuted instantiation: oid.c:pq_writeint32
Unexecuted instantiation: pg_lsn.c:pq_writeint32
Unexecuted instantiation: pseudotypes.c:pq_writeint32
Unexecuted instantiation: rangetypes.c:pq_writeint32
Unexecuted instantiation: rowtypes.c:pq_writeint32
Unexecuted instantiation: tid.c:pq_writeint32
Unexecuted instantiation: timestamp.c:pq_writeint32
Unexecuted instantiation: tsquery.c:pq_writeint32
Unexecuted instantiation: tsvector.c:pq_writeint32
Unexecuted instantiation: uuid.c:pq_writeint32
Unexecuted instantiation: varbit.c:pq_writeint32
Unexecuted instantiation: varchar.c:pq_writeint32
Unexecuted instantiation: varlena.c:pq_writeint32
Unexecuted instantiation: xid.c:pq_writeint32
Unexecuted instantiation: xid8funcs.c:pq_writeint32
Unexecuted instantiation: xml.c:pq_writeint32
Unexecuted instantiation: elog.c:pq_writeint32
Unexecuted instantiation: guc.c:pq_writeint32
82
83
/*
84
 * Append a [u]int64 to a StringInfo buffer, which already has enough space
85
 * preallocated.
86
 */
87
static inline void
88
pq_writeint64(StringInfoData *pg_restrict buf, uint64 i)
89
0
{
90
0
  uint64    ni = pg_hton64(i);
91
92
0
  Assert(buf->len + (int) sizeof(uint64) <= buf->maxlen);
93
0
  memcpy((char *pg_restrict) (buf->data + buf->len), &ni, sizeof(uint64));
94
0
  buf->len += sizeof(uint64);
95
0
}
Unexecuted instantiation: printsimple.c:pq_writeint64
Unexecuted instantiation: printtup.c:pq_writeint64
Unexecuted instantiation: parallel.c:pq_writeint64
Unexecuted instantiation: async.c:pq_writeint64
Unexecuted instantiation: copyfromparse.c:pq_writeint64
Unexecuted instantiation: copyto.c:pq_writeint64
Unexecuted instantiation: explain.c:pq_writeint64
Unexecuted instantiation: explain_dr.c:pq_writeint64
Unexecuted instantiation: auth-sasl.c:pq_writeint64
Unexecuted instantiation: auth.c:pq_writeint64
Unexecuted instantiation: pqformat.c:pq_writeint64
Unexecuted instantiation: pqmq.c:pq_writeint64
Unexecuted instantiation: applyparallelworker.c:pq_writeint64
Unexecuted instantiation: proto.c:pq_writeint64
Unexecuted instantiation: worker.c:pq_writeint64
Unexecuted instantiation: walreceiver.c:pq_writeint64
Unexecuted instantiation: walsender.c:pq_writeint64
Unexecuted instantiation: basebackup_copy.c:pq_writeint64
Unexecuted instantiation: backend_startup.c:pq_writeint64
Unexecuted instantiation: dest.c:pq_writeint64
Unexecuted instantiation: fastpath.c:pq_writeint64
Unexecuted instantiation: postgres.c:pq_writeint64
Unexecuted instantiation: backend_progress.c:pq_writeint64
Unexecuted instantiation: array_userfuncs.c:pq_writeint64
Unexecuted instantiation: arrayfuncs.c:pq_writeint64
Unexecuted instantiation: bool.c:pq_writeint64
Unexecuted instantiation: cash.c:pq_writeint64
Unexecuted instantiation: char.c:pq_writeint64
Unexecuted instantiation: date.c:pq_writeint64
Unexecuted instantiation: enum.c:pq_writeint64
Unexecuted instantiation: float.c:pq_writeint64
Unexecuted instantiation: geo_ops.c:pq_writeint64
Unexecuted instantiation: int.c:pq_writeint64
Unexecuted instantiation: int8.c:pq_writeint64
Unexecuted instantiation: json.c:pq_writeint64
Unexecuted instantiation: jsonb.c:pq_writeint64
Unexecuted instantiation: jsonpath.c:pq_writeint64
Unexecuted instantiation: mac.c:pq_writeint64
Unexecuted instantiation: mac8.c:pq_writeint64
Unexecuted instantiation: multirangetypes.c:pq_writeint64
Unexecuted instantiation: name.c:pq_writeint64
Unexecuted instantiation: network.c:pq_writeint64
Unexecuted instantiation: numeric.c:pq_writeint64
Unexecuted instantiation: oid.c:pq_writeint64
Unexecuted instantiation: pg_lsn.c:pq_writeint64
Unexecuted instantiation: pseudotypes.c:pq_writeint64
Unexecuted instantiation: rangetypes.c:pq_writeint64
Unexecuted instantiation: rowtypes.c:pq_writeint64
Unexecuted instantiation: tid.c:pq_writeint64
Unexecuted instantiation: timestamp.c:pq_writeint64
Unexecuted instantiation: tsquery.c:pq_writeint64
Unexecuted instantiation: tsvector.c:pq_writeint64
Unexecuted instantiation: uuid.c:pq_writeint64
Unexecuted instantiation: varbit.c:pq_writeint64
Unexecuted instantiation: varchar.c:pq_writeint64
Unexecuted instantiation: varlena.c:pq_writeint64
Unexecuted instantiation: xid.c:pq_writeint64
Unexecuted instantiation: xid8funcs.c:pq_writeint64
Unexecuted instantiation: xml.c:pq_writeint64
Unexecuted instantiation: elog.c:pq_writeint64
Unexecuted instantiation: guc.c:pq_writeint64
96
97
/*
98
 * Append a null-terminated text string (with conversion) to a buffer with
99
 * preallocated space.
100
 *
101
 * NB: The pre-allocated space needs to be sufficient for the string after
102
 * converting to client encoding.
103
 *
104
 * NB: passed text string must be null-terminated, and so is the data
105
 * sent to the frontend.
106
 */
107
static inline void
108
pq_writestring(StringInfoData *pg_restrict buf, const char *pg_restrict str)
109
0
{
110
0
  int     slen = strlen(str);
111
0
  char     *p;
112
113
0
  p = pg_server_to_client(str, slen);
114
0
  if (p != str)       /* actual conversion has been done? */
115
0
    slen = strlen(p);
116
117
0
  Assert(buf->len + slen + 1 <= buf->maxlen);
118
119
0
  memcpy(((char *pg_restrict) buf->data + buf->len), p, slen + 1);
120
0
  buf->len += slen + 1;
121
122
0
  if (p != str)
123
0
    pfree(p);
124
0
}
Unexecuted instantiation: printsimple.c:pq_writestring
Unexecuted instantiation: printtup.c:pq_writestring
Unexecuted instantiation: parallel.c:pq_writestring
Unexecuted instantiation: async.c:pq_writestring
Unexecuted instantiation: copyfromparse.c:pq_writestring
Unexecuted instantiation: copyto.c:pq_writestring
Unexecuted instantiation: explain.c:pq_writestring
Unexecuted instantiation: explain_dr.c:pq_writestring
Unexecuted instantiation: auth-sasl.c:pq_writestring
Unexecuted instantiation: auth.c:pq_writestring
Unexecuted instantiation: pqformat.c:pq_writestring
Unexecuted instantiation: pqmq.c:pq_writestring
Unexecuted instantiation: applyparallelworker.c:pq_writestring
Unexecuted instantiation: proto.c:pq_writestring
Unexecuted instantiation: worker.c:pq_writestring
Unexecuted instantiation: walreceiver.c:pq_writestring
Unexecuted instantiation: walsender.c:pq_writestring
Unexecuted instantiation: basebackup_copy.c:pq_writestring
Unexecuted instantiation: backend_startup.c:pq_writestring
Unexecuted instantiation: dest.c:pq_writestring
Unexecuted instantiation: fastpath.c:pq_writestring
Unexecuted instantiation: postgres.c:pq_writestring
Unexecuted instantiation: backend_progress.c:pq_writestring
Unexecuted instantiation: array_userfuncs.c:pq_writestring
Unexecuted instantiation: arrayfuncs.c:pq_writestring
Unexecuted instantiation: bool.c:pq_writestring
Unexecuted instantiation: cash.c:pq_writestring
Unexecuted instantiation: char.c:pq_writestring
Unexecuted instantiation: date.c:pq_writestring
Unexecuted instantiation: enum.c:pq_writestring
Unexecuted instantiation: float.c:pq_writestring
Unexecuted instantiation: geo_ops.c:pq_writestring
Unexecuted instantiation: int.c:pq_writestring
Unexecuted instantiation: int8.c:pq_writestring
Unexecuted instantiation: json.c:pq_writestring
Unexecuted instantiation: jsonb.c:pq_writestring
Unexecuted instantiation: jsonpath.c:pq_writestring
Unexecuted instantiation: mac.c:pq_writestring
Unexecuted instantiation: mac8.c:pq_writestring
Unexecuted instantiation: multirangetypes.c:pq_writestring
Unexecuted instantiation: name.c:pq_writestring
Unexecuted instantiation: network.c:pq_writestring
Unexecuted instantiation: numeric.c:pq_writestring
Unexecuted instantiation: oid.c:pq_writestring
Unexecuted instantiation: pg_lsn.c:pq_writestring
Unexecuted instantiation: pseudotypes.c:pq_writestring
Unexecuted instantiation: rangetypes.c:pq_writestring
Unexecuted instantiation: rowtypes.c:pq_writestring
Unexecuted instantiation: tid.c:pq_writestring
Unexecuted instantiation: timestamp.c:pq_writestring
Unexecuted instantiation: tsquery.c:pq_writestring
Unexecuted instantiation: tsvector.c:pq_writestring
Unexecuted instantiation: uuid.c:pq_writestring
Unexecuted instantiation: varbit.c:pq_writestring
Unexecuted instantiation: varchar.c:pq_writestring
Unexecuted instantiation: varlena.c:pq_writestring
Unexecuted instantiation: xid.c:pq_writestring
Unexecuted instantiation: xid8funcs.c:pq_writestring
Unexecuted instantiation: xml.c:pq_writestring
Unexecuted instantiation: elog.c:pq_writestring
Unexecuted instantiation: guc.c:pq_writestring
125
126
/* append a binary [u]int8 to a StringInfo buffer */
127
static inline void
128
pq_sendint8(StringInfo buf, uint8 i)
129
0
{
130
0
  enlargeStringInfo(buf, sizeof(uint8));
131
0
  pq_writeint8(buf, i);
132
0
}
Unexecuted instantiation: printsimple.c:pq_sendint8
Unexecuted instantiation: printtup.c:pq_sendint8
Unexecuted instantiation: parallel.c:pq_sendint8
Unexecuted instantiation: async.c:pq_sendint8
Unexecuted instantiation: copyfromparse.c:pq_sendint8
Unexecuted instantiation: copyto.c:pq_sendint8
Unexecuted instantiation: explain.c:pq_sendint8
Unexecuted instantiation: explain_dr.c:pq_sendint8
Unexecuted instantiation: auth-sasl.c:pq_sendint8
Unexecuted instantiation: auth.c:pq_sendint8
Unexecuted instantiation: pqformat.c:pq_sendint8
Unexecuted instantiation: pqmq.c:pq_sendint8
Unexecuted instantiation: applyparallelworker.c:pq_sendint8
Unexecuted instantiation: proto.c:pq_sendint8
Unexecuted instantiation: worker.c:pq_sendint8
Unexecuted instantiation: walreceiver.c:pq_sendint8
Unexecuted instantiation: walsender.c:pq_sendint8
Unexecuted instantiation: basebackup_copy.c:pq_sendint8
Unexecuted instantiation: backend_startup.c:pq_sendint8
Unexecuted instantiation: dest.c:pq_sendint8
Unexecuted instantiation: fastpath.c:pq_sendint8
Unexecuted instantiation: postgres.c:pq_sendint8
Unexecuted instantiation: backend_progress.c:pq_sendint8
Unexecuted instantiation: array_userfuncs.c:pq_sendint8
Unexecuted instantiation: arrayfuncs.c:pq_sendint8
Unexecuted instantiation: bool.c:pq_sendint8
Unexecuted instantiation: cash.c:pq_sendint8
Unexecuted instantiation: char.c:pq_sendint8
Unexecuted instantiation: date.c:pq_sendint8
Unexecuted instantiation: enum.c:pq_sendint8
Unexecuted instantiation: float.c:pq_sendint8
Unexecuted instantiation: geo_ops.c:pq_sendint8
Unexecuted instantiation: int.c:pq_sendint8
Unexecuted instantiation: int8.c:pq_sendint8
Unexecuted instantiation: json.c:pq_sendint8
Unexecuted instantiation: jsonb.c:pq_sendint8
Unexecuted instantiation: jsonpath.c:pq_sendint8
Unexecuted instantiation: mac.c:pq_sendint8
Unexecuted instantiation: mac8.c:pq_sendint8
Unexecuted instantiation: multirangetypes.c:pq_sendint8
Unexecuted instantiation: name.c:pq_sendint8
Unexecuted instantiation: network.c:pq_sendint8
Unexecuted instantiation: numeric.c:pq_sendint8
Unexecuted instantiation: oid.c:pq_sendint8
Unexecuted instantiation: pg_lsn.c:pq_sendint8
Unexecuted instantiation: pseudotypes.c:pq_sendint8
Unexecuted instantiation: rangetypes.c:pq_sendint8
Unexecuted instantiation: rowtypes.c:pq_sendint8
Unexecuted instantiation: tid.c:pq_sendint8
Unexecuted instantiation: timestamp.c:pq_sendint8
Unexecuted instantiation: tsquery.c:pq_sendint8
Unexecuted instantiation: tsvector.c:pq_sendint8
Unexecuted instantiation: uuid.c:pq_sendint8
Unexecuted instantiation: varbit.c:pq_sendint8
Unexecuted instantiation: varchar.c:pq_sendint8
Unexecuted instantiation: varlena.c:pq_sendint8
Unexecuted instantiation: xid.c:pq_sendint8
Unexecuted instantiation: xid8funcs.c:pq_sendint8
Unexecuted instantiation: xml.c:pq_sendint8
Unexecuted instantiation: elog.c:pq_sendint8
Unexecuted instantiation: guc.c:pq_sendint8
133
134
/* append a binary [u]int16 to a StringInfo buffer */
135
static inline void
136
pq_sendint16(StringInfo buf, uint16 i)
137
0
{
138
0
  enlargeStringInfo(buf, sizeof(uint16));
139
0
  pq_writeint16(buf, i);
140
0
}
Unexecuted instantiation: printsimple.c:pq_sendint16
Unexecuted instantiation: printtup.c:pq_sendint16
Unexecuted instantiation: parallel.c:pq_sendint16
Unexecuted instantiation: async.c:pq_sendint16
Unexecuted instantiation: copyfromparse.c:pq_sendint16
Unexecuted instantiation: copyto.c:pq_sendint16
Unexecuted instantiation: explain.c:pq_sendint16
Unexecuted instantiation: explain_dr.c:pq_sendint16
Unexecuted instantiation: auth-sasl.c:pq_sendint16
Unexecuted instantiation: auth.c:pq_sendint16
Unexecuted instantiation: pqformat.c:pq_sendint16
Unexecuted instantiation: pqmq.c:pq_sendint16
Unexecuted instantiation: applyparallelworker.c:pq_sendint16
Unexecuted instantiation: proto.c:pq_sendint16
Unexecuted instantiation: worker.c:pq_sendint16
Unexecuted instantiation: walreceiver.c:pq_sendint16
Unexecuted instantiation: walsender.c:pq_sendint16
Unexecuted instantiation: basebackup_copy.c:pq_sendint16
Unexecuted instantiation: backend_startup.c:pq_sendint16
Unexecuted instantiation: dest.c:pq_sendint16
Unexecuted instantiation: fastpath.c:pq_sendint16
Unexecuted instantiation: postgres.c:pq_sendint16
Unexecuted instantiation: backend_progress.c:pq_sendint16
Unexecuted instantiation: array_userfuncs.c:pq_sendint16
Unexecuted instantiation: arrayfuncs.c:pq_sendint16
Unexecuted instantiation: bool.c:pq_sendint16
Unexecuted instantiation: cash.c:pq_sendint16
Unexecuted instantiation: char.c:pq_sendint16
Unexecuted instantiation: date.c:pq_sendint16
Unexecuted instantiation: enum.c:pq_sendint16
Unexecuted instantiation: float.c:pq_sendint16
Unexecuted instantiation: geo_ops.c:pq_sendint16
Unexecuted instantiation: int.c:pq_sendint16
Unexecuted instantiation: int8.c:pq_sendint16
Unexecuted instantiation: json.c:pq_sendint16
Unexecuted instantiation: jsonb.c:pq_sendint16
Unexecuted instantiation: jsonpath.c:pq_sendint16
Unexecuted instantiation: mac.c:pq_sendint16
Unexecuted instantiation: mac8.c:pq_sendint16
Unexecuted instantiation: multirangetypes.c:pq_sendint16
Unexecuted instantiation: name.c:pq_sendint16
Unexecuted instantiation: network.c:pq_sendint16
Unexecuted instantiation: numeric.c:pq_sendint16
Unexecuted instantiation: oid.c:pq_sendint16
Unexecuted instantiation: pg_lsn.c:pq_sendint16
Unexecuted instantiation: pseudotypes.c:pq_sendint16
Unexecuted instantiation: rangetypes.c:pq_sendint16
Unexecuted instantiation: rowtypes.c:pq_sendint16
Unexecuted instantiation: tid.c:pq_sendint16
Unexecuted instantiation: timestamp.c:pq_sendint16
Unexecuted instantiation: tsquery.c:pq_sendint16
Unexecuted instantiation: tsvector.c:pq_sendint16
Unexecuted instantiation: uuid.c:pq_sendint16
Unexecuted instantiation: varbit.c:pq_sendint16
Unexecuted instantiation: varchar.c:pq_sendint16
Unexecuted instantiation: varlena.c:pq_sendint16
Unexecuted instantiation: xid.c:pq_sendint16
Unexecuted instantiation: xid8funcs.c:pq_sendint16
Unexecuted instantiation: xml.c:pq_sendint16
Unexecuted instantiation: elog.c:pq_sendint16
Unexecuted instantiation: guc.c:pq_sendint16
141
142
/* append a binary [u]int32 to a StringInfo buffer */
143
static inline void
144
pq_sendint32(StringInfo buf, uint32 i)
145
0
{
146
0
  enlargeStringInfo(buf, sizeof(uint32));
147
0
  pq_writeint32(buf, i);
148
0
}
Unexecuted instantiation: printsimple.c:pq_sendint32
Unexecuted instantiation: printtup.c:pq_sendint32
Unexecuted instantiation: parallel.c:pq_sendint32
Unexecuted instantiation: async.c:pq_sendint32
Unexecuted instantiation: copyfromparse.c:pq_sendint32
Unexecuted instantiation: copyto.c:pq_sendint32
Unexecuted instantiation: explain.c:pq_sendint32
Unexecuted instantiation: explain_dr.c:pq_sendint32
Unexecuted instantiation: auth-sasl.c:pq_sendint32
Unexecuted instantiation: auth.c:pq_sendint32
Unexecuted instantiation: pqformat.c:pq_sendint32
Unexecuted instantiation: pqmq.c:pq_sendint32
Unexecuted instantiation: applyparallelworker.c:pq_sendint32
Unexecuted instantiation: proto.c:pq_sendint32
Unexecuted instantiation: worker.c:pq_sendint32
Unexecuted instantiation: walreceiver.c:pq_sendint32
Unexecuted instantiation: walsender.c:pq_sendint32
Unexecuted instantiation: basebackup_copy.c:pq_sendint32
Unexecuted instantiation: backend_startup.c:pq_sendint32
Unexecuted instantiation: dest.c:pq_sendint32
Unexecuted instantiation: fastpath.c:pq_sendint32
Unexecuted instantiation: postgres.c:pq_sendint32
Unexecuted instantiation: backend_progress.c:pq_sendint32
Unexecuted instantiation: array_userfuncs.c:pq_sendint32
Unexecuted instantiation: arrayfuncs.c:pq_sendint32
Unexecuted instantiation: bool.c:pq_sendint32
Unexecuted instantiation: cash.c:pq_sendint32
Unexecuted instantiation: char.c:pq_sendint32
Unexecuted instantiation: date.c:pq_sendint32
Unexecuted instantiation: enum.c:pq_sendint32
Unexecuted instantiation: float.c:pq_sendint32
Unexecuted instantiation: geo_ops.c:pq_sendint32
Unexecuted instantiation: int.c:pq_sendint32
Unexecuted instantiation: int8.c:pq_sendint32
Unexecuted instantiation: json.c:pq_sendint32
Unexecuted instantiation: jsonb.c:pq_sendint32
Unexecuted instantiation: jsonpath.c:pq_sendint32
Unexecuted instantiation: mac.c:pq_sendint32
Unexecuted instantiation: mac8.c:pq_sendint32
Unexecuted instantiation: multirangetypes.c:pq_sendint32
Unexecuted instantiation: name.c:pq_sendint32
Unexecuted instantiation: network.c:pq_sendint32
Unexecuted instantiation: numeric.c:pq_sendint32
Unexecuted instantiation: oid.c:pq_sendint32
Unexecuted instantiation: pg_lsn.c:pq_sendint32
Unexecuted instantiation: pseudotypes.c:pq_sendint32
Unexecuted instantiation: rangetypes.c:pq_sendint32
Unexecuted instantiation: rowtypes.c:pq_sendint32
Unexecuted instantiation: tid.c:pq_sendint32
Unexecuted instantiation: timestamp.c:pq_sendint32
Unexecuted instantiation: tsquery.c:pq_sendint32
Unexecuted instantiation: tsvector.c:pq_sendint32
Unexecuted instantiation: uuid.c:pq_sendint32
Unexecuted instantiation: varbit.c:pq_sendint32
Unexecuted instantiation: varchar.c:pq_sendint32
Unexecuted instantiation: varlena.c:pq_sendint32
Unexecuted instantiation: xid.c:pq_sendint32
Unexecuted instantiation: xid8funcs.c:pq_sendint32
Unexecuted instantiation: xml.c:pq_sendint32
Unexecuted instantiation: elog.c:pq_sendint32
Unexecuted instantiation: guc.c:pq_sendint32
149
150
/* append a binary [u]int64 to a StringInfo buffer */
151
static inline void
152
pq_sendint64(StringInfo buf, uint64 i)
153
0
{
154
0
  enlargeStringInfo(buf, sizeof(uint64));
155
0
  pq_writeint64(buf, i);
156
0
}
Unexecuted instantiation: printsimple.c:pq_sendint64
Unexecuted instantiation: printtup.c:pq_sendint64
Unexecuted instantiation: parallel.c:pq_sendint64
Unexecuted instantiation: async.c:pq_sendint64
Unexecuted instantiation: copyfromparse.c:pq_sendint64
Unexecuted instantiation: copyto.c:pq_sendint64
Unexecuted instantiation: explain.c:pq_sendint64
Unexecuted instantiation: explain_dr.c:pq_sendint64
Unexecuted instantiation: auth-sasl.c:pq_sendint64
Unexecuted instantiation: auth.c:pq_sendint64
Unexecuted instantiation: pqformat.c:pq_sendint64
Unexecuted instantiation: pqmq.c:pq_sendint64
Unexecuted instantiation: applyparallelworker.c:pq_sendint64
Unexecuted instantiation: proto.c:pq_sendint64
Unexecuted instantiation: worker.c:pq_sendint64
Unexecuted instantiation: walreceiver.c:pq_sendint64
Unexecuted instantiation: walsender.c:pq_sendint64
Unexecuted instantiation: basebackup_copy.c:pq_sendint64
Unexecuted instantiation: backend_startup.c:pq_sendint64
Unexecuted instantiation: dest.c:pq_sendint64
Unexecuted instantiation: fastpath.c:pq_sendint64
Unexecuted instantiation: postgres.c:pq_sendint64
Unexecuted instantiation: backend_progress.c:pq_sendint64
Unexecuted instantiation: array_userfuncs.c:pq_sendint64
Unexecuted instantiation: arrayfuncs.c:pq_sendint64
Unexecuted instantiation: bool.c:pq_sendint64
Unexecuted instantiation: cash.c:pq_sendint64
Unexecuted instantiation: char.c:pq_sendint64
Unexecuted instantiation: date.c:pq_sendint64
Unexecuted instantiation: enum.c:pq_sendint64
Unexecuted instantiation: float.c:pq_sendint64
Unexecuted instantiation: geo_ops.c:pq_sendint64
Unexecuted instantiation: int.c:pq_sendint64
Unexecuted instantiation: int8.c:pq_sendint64
Unexecuted instantiation: json.c:pq_sendint64
Unexecuted instantiation: jsonb.c:pq_sendint64
Unexecuted instantiation: jsonpath.c:pq_sendint64
Unexecuted instantiation: mac.c:pq_sendint64
Unexecuted instantiation: mac8.c:pq_sendint64
Unexecuted instantiation: multirangetypes.c:pq_sendint64
Unexecuted instantiation: name.c:pq_sendint64
Unexecuted instantiation: network.c:pq_sendint64
Unexecuted instantiation: numeric.c:pq_sendint64
Unexecuted instantiation: oid.c:pq_sendint64
Unexecuted instantiation: pg_lsn.c:pq_sendint64
Unexecuted instantiation: pseudotypes.c:pq_sendint64
Unexecuted instantiation: rangetypes.c:pq_sendint64
Unexecuted instantiation: rowtypes.c:pq_sendint64
Unexecuted instantiation: tid.c:pq_sendint64
Unexecuted instantiation: timestamp.c:pq_sendint64
Unexecuted instantiation: tsquery.c:pq_sendint64
Unexecuted instantiation: tsvector.c:pq_sendint64
Unexecuted instantiation: uuid.c:pq_sendint64
Unexecuted instantiation: varbit.c:pq_sendint64
Unexecuted instantiation: varchar.c:pq_sendint64
Unexecuted instantiation: varlena.c:pq_sendint64
Unexecuted instantiation: xid.c:pq_sendint64
Unexecuted instantiation: xid8funcs.c:pq_sendint64
Unexecuted instantiation: xml.c:pq_sendint64
Unexecuted instantiation: elog.c:pq_sendint64
Unexecuted instantiation: guc.c:pq_sendint64
157
158
/* append a binary byte to a StringInfo buffer */
159
static inline void
160
pq_sendbyte(StringInfo buf, uint8 byt)
161
0
{
162
0
  pq_sendint8(buf, byt);
163
0
}
Unexecuted instantiation: printsimple.c:pq_sendbyte
Unexecuted instantiation: printtup.c:pq_sendbyte
Unexecuted instantiation: parallel.c:pq_sendbyte
Unexecuted instantiation: async.c:pq_sendbyte
Unexecuted instantiation: copyfromparse.c:pq_sendbyte
Unexecuted instantiation: copyto.c:pq_sendbyte
Unexecuted instantiation: explain.c:pq_sendbyte
Unexecuted instantiation: explain_dr.c:pq_sendbyte
Unexecuted instantiation: auth-sasl.c:pq_sendbyte
Unexecuted instantiation: auth.c:pq_sendbyte
Unexecuted instantiation: pqformat.c:pq_sendbyte
Unexecuted instantiation: pqmq.c:pq_sendbyte
Unexecuted instantiation: applyparallelworker.c:pq_sendbyte
Unexecuted instantiation: proto.c:pq_sendbyte
Unexecuted instantiation: worker.c:pq_sendbyte
Unexecuted instantiation: walreceiver.c:pq_sendbyte
Unexecuted instantiation: walsender.c:pq_sendbyte
Unexecuted instantiation: basebackup_copy.c:pq_sendbyte
Unexecuted instantiation: backend_startup.c:pq_sendbyte
Unexecuted instantiation: dest.c:pq_sendbyte
Unexecuted instantiation: fastpath.c:pq_sendbyte
Unexecuted instantiation: postgres.c:pq_sendbyte
Unexecuted instantiation: backend_progress.c:pq_sendbyte
Unexecuted instantiation: array_userfuncs.c:pq_sendbyte
Unexecuted instantiation: arrayfuncs.c:pq_sendbyte
Unexecuted instantiation: bool.c:pq_sendbyte
Unexecuted instantiation: cash.c:pq_sendbyte
Unexecuted instantiation: char.c:pq_sendbyte
Unexecuted instantiation: date.c:pq_sendbyte
Unexecuted instantiation: enum.c:pq_sendbyte
Unexecuted instantiation: float.c:pq_sendbyte
Unexecuted instantiation: geo_ops.c:pq_sendbyte
Unexecuted instantiation: int.c:pq_sendbyte
Unexecuted instantiation: int8.c:pq_sendbyte
Unexecuted instantiation: json.c:pq_sendbyte
Unexecuted instantiation: jsonb.c:pq_sendbyte
Unexecuted instantiation: jsonpath.c:pq_sendbyte
Unexecuted instantiation: mac.c:pq_sendbyte
Unexecuted instantiation: mac8.c:pq_sendbyte
Unexecuted instantiation: multirangetypes.c:pq_sendbyte
Unexecuted instantiation: name.c:pq_sendbyte
Unexecuted instantiation: network.c:pq_sendbyte
Unexecuted instantiation: numeric.c:pq_sendbyte
Unexecuted instantiation: oid.c:pq_sendbyte
Unexecuted instantiation: pg_lsn.c:pq_sendbyte
Unexecuted instantiation: pseudotypes.c:pq_sendbyte
Unexecuted instantiation: rangetypes.c:pq_sendbyte
Unexecuted instantiation: rowtypes.c:pq_sendbyte
Unexecuted instantiation: tid.c:pq_sendbyte
Unexecuted instantiation: timestamp.c:pq_sendbyte
Unexecuted instantiation: tsquery.c:pq_sendbyte
Unexecuted instantiation: tsvector.c:pq_sendbyte
Unexecuted instantiation: uuid.c:pq_sendbyte
Unexecuted instantiation: varbit.c:pq_sendbyte
Unexecuted instantiation: varchar.c:pq_sendbyte
Unexecuted instantiation: varlena.c:pq_sendbyte
Unexecuted instantiation: xid.c:pq_sendbyte
Unexecuted instantiation: xid8funcs.c:pq_sendbyte
Unexecuted instantiation: xml.c:pq_sendbyte
Unexecuted instantiation: elog.c:pq_sendbyte
Unexecuted instantiation: guc.c:pq_sendbyte
164
165
/*
166
 * Append a binary integer to a StringInfo buffer
167
 *
168
 * This function is deprecated; prefer use of the functions above.
169
 */
170
static inline void
171
pq_sendint(StringInfo buf, uint32 i, int b)
172
0
{
173
0
  switch (b)
174
0
  {
175
0
    case 1:
176
0
      pq_sendint8(buf, (uint8) i);
177
0
      break;
178
0
    case 2:
179
0
      pq_sendint16(buf, (uint16) i);
180
0
      break;
181
0
    case 4:
182
0
      pq_sendint32(buf, (uint32) i);
183
0
      break;
184
0
    default:
185
0
      elog(ERROR, "unsupported integer size %d", b);
186
0
      break;
187
0
  }
188
0
}
Unexecuted instantiation: printsimple.c:pq_sendint
Unexecuted instantiation: printtup.c:pq_sendint
Unexecuted instantiation: parallel.c:pq_sendint
Unexecuted instantiation: async.c:pq_sendint
Unexecuted instantiation: copyfromparse.c:pq_sendint
Unexecuted instantiation: copyto.c:pq_sendint
Unexecuted instantiation: explain.c:pq_sendint
Unexecuted instantiation: explain_dr.c:pq_sendint
Unexecuted instantiation: auth-sasl.c:pq_sendint
Unexecuted instantiation: auth.c:pq_sendint
Unexecuted instantiation: pqformat.c:pq_sendint
Unexecuted instantiation: pqmq.c:pq_sendint
Unexecuted instantiation: applyparallelworker.c:pq_sendint
Unexecuted instantiation: proto.c:pq_sendint
Unexecuted instantiation: worker.c:pq_sendint
Unexecuted instantiation: walreceiver.c:pq_sendint
Unexecuted instantiation: walsender.c:pq_sendint
Unexecuted instantiation: basebackup_copy.c:pq_sendint
Unexecuted instantiation: backend_startup.c:pq_sendint
Unexecuted instantiation: dest.c:pq_sendint
Unexecuted instantiation: fastpath.c:pq_sendint
Unexecuted instantiation: postgres.c:pq_sendint
Unexecuted instantiation: backend_progress.c:pq_sendint
Unexecuted instantiation: array_userfuncs.c:pq_sendint
Unexecuted instantiation: arrayfuncs.c:pq_sendint
Unexecuted instantiation: bool.c:pq_sendint
Unexecuted instantiation: cash.c:pq_sendint
Unexecuted instantiation: char.c:pq_sendint
Unexecuted instantiation: date.c:pq_sendint
Unexecuted instantiation: enum.c:pq_sendint
Unexecuted instantiation: float.c:pq_sendint
Unexecuted instantiation: geo_ops.c:pq_sendint
Unexecuted instantiation: int.c:pq_sendint
Unexecuted instantiation: int8.c:pq_sendint
Unexecuted instantiation: json.c:pq_sendint
Unexecuted instantiation: jsonb.c:pq_sendint
Unexecuted instantiation: jsonpath.c:pq_sendint
Unexecuted instantiation: mac.c:pq_sendint
Unexecuted instantiation: mac8.c:pq_sendint
Unexecuted instantiation: multirangetypes.c:pq_sendint
Unexecuted instantiation: name.c:pq_sendint
Unexecuted instantiation: network.c:pq_sendint
Unexecuted instantiation: numeric.c:pq_sendint
Unexecuted instantiation: oid.c:pq_sendint
Unexecuted instantiation: pg_lsn.c:pq_sendint
Unexecuted instantiation: pseudotypes.c:pq_sendint
Unexecuted instantiation: rangetypes.c:pq_sendint
Unexecuted instantiation: rowtypes.c:pq_sendint
Unexecuted instantiation: tid.c:pq_sendint
Unexecuted instantiation: timestamp.c:pq_sendint
Unexecuted instantiation: tsquery.c:pq_sendint
Unexecuted instantiation: tsvector.c:pq_sendint
Unexecuted instantiation: uuid.c:pq_sendint
Unexecuted instantiation: varbit.c:pq_sendint
Unexecuted instantiation: varchar.c:pq_sendint
Unexecuted instantiation: varlena.c:pq_sendint
Unexecuted instantiation: xid.c:pq_sendint
Unexecuted instantiation: xid8funcs.c:pq_sendint
Unexecuted instantiation: xml.c:pq_sendint
Unexecuted instantiation: elog.c:pq_sendint
Unexecuted instantiation: guc.c:pq_sendint
189
190
191
extern void pq_begintypsend(StringInfo buf);
192
extern bytea *pq_endtypsend(StringInfo buf);
193
194
extern void pq_puttextmessage(char msgtype, const char *str);
195
extern void pq_putemptymessage(char msgtype);
196
197
extern int  pq_getmsgbyte(StringInfo msg);
198
extern unsigned int pq_getmsgint(StringInfo msg, int b);
199
extern int64 pq_getmsgint64(StringInfo msg);
200
extern float4 pq_getmsgfloat4(StringInfo msg);
201
extern float8 pq_getmsgfloat8(StringInfo msg);
202
extern const char *pq_getmsgbytes(StringInfo msg, int datalen);
203
extern void pq_copymsgbytes(StringInfo msg, void *buf, int datalen);
204
extern char *pq_getmsgtext(StringInfo msg, int rawbytes, int *nbytes);
205
extern const char *pq_getmsgstring(StringInfo msg);
206
extern const char *pq_getmsgrawstring(StringInfo msg);
207
extern void pq_getmsgend(StringInfo msg);
208
209
#endif              /* PQFORMAT_H */