PostgreSQL Source Code git master
explain_dr.h File Reference
#include "executor/instrument.h"
#include "tcop/dest.h"
Include dependency graph for explain_dr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  SerializeMetrics
 

Typedefs

typedef struct ExplainState ExplainState
 
typedef struct SerializeMetrics SerializeMetrics
 

Functions

DestReceiverCreateExplainSerializeDestReceiver (ExplainState *es)
 
SerializeMetrics GetSerializationMetrics (DestReceiver *dest)
 

Typedef Documentation

◆ ExplainState

typedef struct ExplainState ExplainState

Definition at line 20 of file explain_dr.h.

◆ SerializeMetrics

Function Documentation

◆ CreateExplainSerializeDestReceiver()

DestReceiver * CreateExplainSerializeDestReceiver ( ExplainState es)

Definition at line 275 of file explain_dr.c.

276{
278
280
286
287 self->es = es;
288
289 return (DestReceiver *) self;
290}
@ DestExplainSerialize
Definition: dest.h:99
static void serializeAnalyzeStartup(DestReceiver *self, int operation, TupleDesc typeinfo)
Definition: explain_dr.c:209
static void serializeAnalyzeDestroy(DestReceiver *self)
Definition: explain_dr.c:266
static bool serializeAnalyzeReceive(TupleTableSlot *slot, DestReceiver *self)
Definition: explain_dr.c:106
static void serializeAnalyzeShutdown(DestReceiver *self)
Definition: explain_dr.c:245
void * palloc0(Size size)
Definition: mcxt.c:1395
ExplainState * es
Definition: explain_dr.c:36
DestReceiver pub
Definition: explain_dr.c:35
void(* rStartup)(DestReceiver *self, int operation, TupleDesc typeinfo)
Definition: dest.h:121
void(* rShutdown)(DestReceiver *self)
Definition: dest.h:124
bool(* receiveSlot)(TupleTableSlot *slot, DestReceiver *self)
Definition: dest.h:118
void(* rDestroy)(DestReceiver *self)
Definition: dest.h:126
CommandDest mydest
Definition: dest.h:128

References DestExplainSerialize, SerializeDestReceiver::es, _DestReceiver::mydest, palloc0(), SerializeDestReceiver::pub, _DestReceiver::rDestroy, _DestReceiver::receiveSlot, _DestReceiver::rShutdown, _DestReceiver::rStartup, serializeAnalyzeDestroy(), serializeAnalyzeReceive(), serializeAnalyzeShutdown(), and serializeAnalyzeStartup().

Referenced by CreateDestReceiver(), and ExplainOnePlan().

◆ GetSerializationMetrics()

SerializeMetrics GetSerializationMetrics ( DestReceiver dest)

Definition at line 300 of file explain_dr.c.

301{
302 SerializeMetrics empty;
303
304 if (dest->mydest == DestExplainSerialize)
305 return ((SerializeDestReceiver *) dest)->metrics;
306
307 memset(&empty, 0, sizeof(SerializeMetrics));
309
310 return empty;
311}
#define INSTR_TIME_SET_ZERO(t)
Definition: instr_time.h:172
instr_time timeSpent
Definition: explain_dr.h:26

References generate_unaccent_rules::dest, DestExplainSerialize, INSTR_TIME_SET_ZERO, and SerializeMetrics::timeSpent.

Referenced by ExplainOnePlan().