PostgreSQL Source Code  git master
extensible.h File Reference
#include "access/parallel.h"
#include "commands/explain.h"
#include "nodes/execnodes.h"
#include "nodes/pathnodes.h"
#include "nodes/plannodes.h"
Include dependency graph for extensible.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ExtensibleNode
struct  ExtensibleNodeMethods
struct  CustomPathMethods
struct  CustomScanMethods
struct  CustomExecMethods




typedef struct ExtensibleNode ExtensibleNode
typedef struct ExtensibleNodeMethods ExtensibleNodeMethods
typedef struct CustomPathMethods CustomPathMethods
typedef struct CustomScanMethods CustomScanMethods
typedef struct CustomExecMethods CustomExecMethods


void RegisterExtensibleNodeMethods (const ExtensibleNodeMethods *methods)
const ExtensibleNodeMethodsGetExtensibleNodeMethods (const char *extnodename, bool missing_ok)
void RegisterCustomScanMethods (const CustomScanMethods *methods)
const CustomScanMethodsGetCustomScanMethods (const char *CustomName, bool missing_ok)

Macro Definition Documentation



Definition at line 84 of file extensible.h.



Definition at line 85 of file extensible.h.



Definition at line 86 of file extensible.h.



Definition at line 24 of file extensible.h.

Typedef Documentation

◆ CustomExecMethods

◆ CustomPathMethods

◆ CustomScanMethods

◆ ExtensibleNode

◆ ExtensibleNodeMethods

Function Documentation

◆ GetCustomScanMethods()

const CustomScanMethods* GetCustomScanMethods ( const char *  CustomName,
bool  missing_ok 

Definition at line 137 of file extensible.c.

138 {
139  return (const CustomScanMethods *)
141  CustomName,
142  missing_ok);
143 }
static const void * GetExtensibleNodeEntry(HTAB *htable, const char *extnodename, bool missing_ok)
Definition: extensible.c:100
static HTAB * custom_scan_methods
Definition: extensible.c:27

References custom_scan_methods, and GetExtensibleNodeEntry().

◆ GetExtensibleNodeMethods()

const ExtensibleNodeMethods* GetExtensibleNodeMethods ( const char *  extnodename,
bool  missing_ok 

Definition at line 125 of file extensible.c.

126 {
127  return (const ExtensibleNodeMethods *)
129  extnodename,
130  missing_ok);
131 }
static HTAB * extensible_node_methods
Definition: extensible.c:26

References extensible_node_methods, and GetExtensibleNodeEntry().

Referenced by _copyExtensibleNode(), _equalExtensibleNode(), _outExtensibleNode(), and _readExtensibleNode().

◆ RegisterCustomScanMethods()

void RegisterCustomScanMethods ( const CustomScanMethods methods)

Definition at line 88 of file extensible.c.

89 {
91  "Custom Scan Methods",
92  methods->CustomName,
93  methods);
94 }
static void RegisterExtensibleNodeEntry(HTAB **p_htable, const char *htable_label, const char *extnodename, const void *extnodemethods)
Definition: extensible.c:39
const char * CustomName
Definition: extensible.h:114

References custom_scan_methods, CustomScanMethods::CustomName, and RegisterExtensibleNodeEntry().

◆ RegisterExtensibleNodeMethods()

void RegisterExtensibleNodeMethods ( const ExtensibleNodeMethods methods)

Definition at line 76 of file extensible.c.

77 {
79  "Extensible Node Methods",
80  methods->extnodename,
81  methods);
82 }
const char * extnodename
Definition: extensible.h:64

References extensible_node_methods, ExtensibleNodeMethods::extnodename, and RegisterExtensibleNodeEntry().