33 lines
1006 B
C
33 lines
1006 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* explain_dr.h
|
|
* prototypes for explain_dr.c
|
|
*
|
|
* Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994-5, Regents of the University of California
|
|
*
|
|
* src/include/commands/explain_dr.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef EXPLAIN_DR_H
|
|
#define EXPLAIN_DR_H
|
|
|
|
#include "executor/instrument.h"
|
|
#include "tcop/dest.h"
|
|
|
|
struct ExplainState; /* avoid including explain.h here */
|
|
|
|
/* Instrumentation data for EXPLAIN's SERIALIZE option */
|
|
typedef struct SerializeMetrics
|
|
{
|
|
uint64 bytesSent; /* # of bytes serialized */
|
|
instr_time timeSpent; /* time spent serializing */
|
|
BufferUsage bufferUsage; /* buffers accessed during serialization */
|
|
} SerializeMetrics;
|
|
|
|
extern DestReceiver *CreateExplainSerializeDestReceiver(struct ExplainState *es);
|
|
extern SerializeMetrics GetSerializationMetrics(DestReceiver *dest);
|
|
|
|
#endif
|