PostgreSQL Source Code git master
|
#include "postgres.h"
#include "commands/defrem.h"
#include "commands/explain.h"
#include "commands/explain_state.h"
Go to the source code of this file.
Data Structures | |
struct | ExplainExtensionOption |
Functions | |
ExplainState * | NewExplainState (void) |
void | ParseExplainOptionList (ExplainState *es, List *options, ParseState *pstate) |
int | GetExplainExtensionId (const char *extension_name) |
void * | GetExplainExtensionState (ExplainState *es, int extension_id) |
void | SetExplainExtensionState (ExplainState *es, int extension_id, void *opaque) |
void | RegisterExtensionExplainOption (const char *option_name, ExplainOptionHandler handler) |
bool | ApplyExtensionExplainOption (ExplainState *es, DefElem *opt, ParseState *pstate) |
Variables | |
explain_validate_options_hook_type | explain_validate_options_hook = NULL |
static const char ** | ExplainExtensionNameArray = NULL |
static int | ExplainExtensionNamesAssigned = 0 |
static int | ExplainExtensionNamesAllocated = 0 |
static ExplainExtensionOption * | ExplainExtensionOptionArray = NULL |
static int | ExplainExtensionOptionsAssigned = 0 |
static int | ExplainExtensionOptionsAllocated = 0 |
bool ApplyExtensionExplainOption | ( | ExplainState * | es, |
DefElem * | opt, | ||
ParseState * | pstate | ||
) |
Definition at line 365 of file explain_state.c.
References DefElem::defname, ExplainExtensionOptionArray, ExplainExtensionOptionsAssigned, i, and ExplainExtensionOption::option_handler.
Referenced by ParseExplainOptionList().
int GetExplainExtensionId | ( | const char * | extension_name | ) |
Definition at line 220 of file explain_state.c.
References ExplainExtensionNameArray, ExplainExtensionNamesAllocated, ExplainExtensionNamesAssigned, i, MemoryContextAlloc(), pg_nextpower2_32(), repalloc(), and TopMemoryContext.
Referenced by _PG_init().
void * GetExplainExtensionState | ( | ExplainState * | es, |
int | extension_id | ||
) |
Definition at line 258 of file explain_state.c.
References Assert(), ExplainState::extension_state, and ExplainState::extension_state_allocated.
Referenced by overexplain_ensure_options(), overexplain_per_node_hook(), and overexplain_per_plan_hook().
ExplainState * NewExplainState | ( | void | ) |
Definition at line 61 of file explain_state.c.
References ExplainState::costs, makeStringInfo(), palloc0(), and ExplainState::str.
Referenced by explain_ExecutorEnd(), and ExplainQuery().
void ParseExplainOptionList | ( | ExplainState * | es, |
List * | options, | ||
ParseState * | pstate | ||
) |
Definition at line 77 of file explain_state.c.
References ExplainState::analyze, ApplyExtensionExplainOption(), DefElem::arg, ExplainState::buffers, ExplainState::costs, defGetBoolean(), defGetString(), DefElem::defname, ereport, errcode(), errmsg(), ERROR, EXPLAIN_FORMAT_JSON, EXPLAIN_FORMAT_TEXT, EXPLAIN_FORMAT_XML, EXPLAIN_FORMAT_YAML, EXPLAIN_SERIALIZE_BINARY, EXPLAIN_SERIALIZE_NONE, EXPLAIN_SERIALIZE_TEXT, explain_validate_options_hook, ExplainState::format, ExplainState::generic, if(), lfirst, DefElem::location, ExplainState::memory, options, parser_errposition(), ExplainState::serialize, ExplainState::settings, ExplainState::summary, ExplainState::timing, ExplainState::verbose, and ExplainState::wal.
Referenced by ExplainQuery().
void RegisterExtensionExplainOption | ( | const char * | option_name, |
ExplainOptionHandler | handler | ||
) |
Definition at line 316 of file explain_state.c.
References ExplainExtensionOptionArray, ExplainExtensionOptionsAllocated, ExplainExtensionOptionsAssigned, i, MemoryContextAlloc(), ExplainExtensionOption::option_handler, ExplainExtensionOption::option_name, pg_nextpower2_32(), repalloc(), and TopMemoryContext.
Referenced by _PG_init().
void SetExplainExtensionState | ( | ExplainState * | es, |
int | extension_id, | ||
void * | opaque | ||
) |
Definition at line 277 of file explain_state.c.
References Assert(), ExplainState::extension_state, ExplainState::extension_state_allocated, i, palloc0(), pg_nextpower2_32(), and repalloc0().
Referenced by overexplain_ensure_options().
explain_validate_options_hook_type explain_validate_options_hook = NULL |
Definition at line 41 of file explain_state.c.
Referenced by ParseExplainOptionList().
|
static |
Definition at line 49 of file explain_state.c.
Referenced by GetExplainExtensionId().
|
static |
Definition at line 51 of file explain_state.c.
Referenced by GetExplainExtensionId().
|
static |
Definition at line 50 of file explain_state.c.
Referenced by GetExplainExtensionId().
|
static |
Definition at line 53 of file explain_state.c.
Referenced by ApplyExtensionExplainOption(), and RegisterExtensionExplainOption().
|
static |
Definition at line 55 of file explain_state.c.
Referenced by RegisterExtensionExplainOption().
|
static |
Definition at line 54 of file explain_state.c.
Referenced by ApplyExtensionExplainOption(), and RegisterExtensionExplainOption().