PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
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 SerializeMetrics SerializeMetrics
 

Functions

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

Typedef Documentation

◆ SerializeMetrics

Function Documentation

◆ CreateExplainSerializeDestReceiver()

DestReceiver * CreateExplainSerializeDestReceiver ( struct ExplainState es)

Definition at line 273 of file explain_dr.c.

274{
276
278
284
285 self->es = es;
286
287 return (DestReceiver *) self;
288}
@ DestExplainSerialize
Definition: dest.h:99
static void serializeAnalyzeStartup(DestReceiver *self, int operation, TupleDesc typeinfo)
Definition: explain_dr.c:207
static void serializeAnalyzeDestroy(DestReceiver *self)
Definition: explain_dr.c:264
static bool serializeAnalyzeReceive(TupleTableSlot *slot, DestReceiver *self)
Definition: explain_dr.c:104
static void serializeAnalyzeShutdown(DestReceiver *self)
Definition: explain_dr.c:243
void * palloc0(Size size)
Definition: mcxt.c:1347
ExplainState * es
Definition: explain_dr.c:34
DestReceiver pub
Definition: explain_dr.c:33
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 298 of file explain_dr.c.

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

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

Referenced by ExplainOnePlan().