mirror of
https://github.com/postgres/postgres.git
synced 2026-03-12 05:32:27 -04:00
Now that we can have repeat typedefs with C11, we don't need to use "struct ExplainState" anymore but can instead make a typedef where necessary. This doesn't change anything but makes it look nicer. (There are more opportunities for similar changes, but this is broken out because there was a separate discussion about it, and it's somewhat bulky on its own.) Reviewed-by: Chao Li <li.evan.chao@gmail.com> Discussion: https://www.postgresql.org/message-id/flat/f36c0a45-98cd-40b2-a7cc-f2bf02b12890%40eisentraut.org#a12fb1a2c1089d6d03010f6268871b00 Discussion: https://www.postgresql.org/message-id/flat/10d32190-f31b-40a5-b177-11db55597355@eisentraut.org
59 lines
2.1 KiB
C
59 lines
2.1 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"
|
|
|
|
/* avoid including explain_state.h here */
|
|
typedef struct ExplainState ExplainState;
|
|
|
|
extern void ExplainPropertyList(const char *qlabel, List *data,
|
|
ExplainState *es);
|
|
extern void ExplainPropertyListNested(const char *qlabel, List *data,
|
|
ExplainState *es);
|
|
extern void ExplainPropertyText(const char *qlabel, const char *value,
|
|
ExplainState *es);
|
|
extern void ExplainPropertyInteger(const char *qlabel, const char *unit,
|
|
int64 value, ExplainState *es);
|
|
extern void ExplainPropertyUInteger(const char *qlabel, const char *unit,
|
|
uint64 value, ExplainState *es);
|
|
extern void ExplainPropertyFloat(const char *qlabel, const char *unit,
|
|
double value, int ndigits,
|
|
ExplainState *es);
|
|
extern void ExplainPropertyBool(const char *qlabel, bool value,
|
|
ExplainState *es);
|
|
|
|
extern void ExplainOpenGroup(const char *objtype, const char *labelname,
|
|
bool labeled, ExplainState *es);
|
|
extern void ExplainCloseGroup(const char *objtype, const char *labelname,
|
|
bool labeled, ExplainState *es);
|
|
|
|
extern void ExplainOpenSetAsideGroup(const char *objtype, const char *labelname,
|
|
bool labeled, int depth,
|
|
ExplainState *es);
|
|
extern void ExplainSaveGroup(ExplainState *es, int depth,
|
|
int *state_save);
|
|
extern void ExplainRestoreGroup(ExplainState *es, int depth,
|
|
int *state_save);
|
|
|
|
extern void ExplainDummyGroup(const char *objtype, const char *labelname,
|
|
ExplainState *es);
|
|
|
|
extern void ExplainBeginOutput(ExplainState *es);
|
|
extern void ExplainEndOutput(ExplainState *es);
|
|
extern void ExplainSeparatePlans(ExplainState *es);
|
|
|
|
extern void ExplainIndentText(ExplainState *es);
|
|
|
|
#endif
|