1
0
mirror of https://github.com/postgres/postgres.git synced 2025-10-28 11:55:03 +03:00
Files
postgres/src/include/commands/explain_format.h
Robert Haas 77cb08be51 Avoid including explain.h in explain_format.h and explain_dr.h
As per a suggestion from Tom Lane, we do this by declaring "struct
ExplainState" here and refer to that rather than "ExplainState".

Also per Tom, CreateExplainSerializeDestReceiver was still defined
in explain.h in addition to explain_dr.h. Remove leftover prototype.

Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: http://postgr.es/m/CA+TgmoYtaad3i21V0jqua-fbr+CR0ix6uBvEX8_s6BG96abd=g@mail.gmail.com
2025-02-28 13:17:29 -05:00

59 lines
2.2 KiB
C

/*-------------------------------------------------------------------------
*
* explain_format.h
* prototypes for explain_format.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_format.h
*
*-------------------------------------------------------------------------
*/
#ifndef EXPLAIN_FORMAT_H
#define EXPLAIN_FORMAT_H
#include "nodes/pg_list.h"
struct ExplainState; /* avoid including explain.h here */
extern void ExplainPropertyList(const char *qlabel, List *data,
struct ExplainState *es);
extern void ExplainPropertyListNested(const char *qlabel, List *data,
struct ExplainState *es);
extern void ExplainPropertyText(const char *qlabel, const char *value,
struct ExplainState *es);
extern void ExplainPropertyInteger(const char *qlabel, const char *unit,
int64 value, struct ExplainState *es);
extern void ExplainPropertyUInteger(const char *qlabel, const char *unit,
uint64 value, struct ExplainState *es);
extern void ExplainPropertyFloat(const char *qlabel, const char *unit,
double value, int ndigits,
struct ExplainState *es);
extern void ExplainPropertyBool(const char *qlabel, bool value,
struct ExplainState *es);
extern void ExplainOpenGroup(const char *objtype, const char *labelname,
bool labeled, struct ExplainState *es);
extern void ExplainCloseGroup(const char *objtype, const char *labelname,
bool labeled, struct ExplainState *es);
extern void ExplainOpenSetAsideGroup(const char *objtype, const char *labelname,
bool labeled, int depth,
struct ExplainState *es);
extern void ExplainSaveGroup(struct ExplainState *es, int depth,
int *state_save);
extern void ExplainRestoreGroup(struct ExplainState *es, int depth,
int *state_save);
extern void ExplainDummyGroup(const char *objtype, const char *labelname,
struct ExplainState *es);
extern void ExplainBeginOutput(struct ExplainState *es);
extern void ExplainEndOutput(struct ExplainState *es);
extern void ExplainSeparatePlans(struct ExplainState *es);
extern void ExplainIndentText(struct ExplainState *es);
#endif