aboutsummaryrefslogtreecommitdiff
path: root/src/include/nodes/plannodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/nodes/plannodes.h')
-rw-r--r--src/include/nodes/plannodes.h44
1 files changed, 23 insertions, 21 deletions
diff --git a/src/include/nodes/plannodes.h b/src/include/nodes/plannodes.h
index 9dbb91cb90d..dd300b1a191 100644
--- a/src/include/nodes/plannodes.h
+++ b/src/include/nodes/plannodes.h
@@ -18,7 +18,6 @@
#include "lib/stringinfo.h"
#include "nodes/bitmapset.h"
#include "nodes/primnodes.h"
-#include "nodes/relation.h"
#include "utils/lockwaitpolicy.h"
@@ -486,33 +485,36 @@ typedef struct ForeignScan
} ForeignScan;
/* ----------------
- * CustomScan node
+ * CustomScan node
* ----------------
*/
-struct CustomScanMethods;
-
-typedef struct CustomScan
-{
- Scan scan;
- uint32 flags; /* mask of CUSTOMPATH_* flags defined in relation.h */
- struct CustomScanMethods *methods;
-} CustomScan;
+struct PlannerInfo; /* avoid including relation.h here */
+struct CustomScan;
typedef struct CustomScanMethods
{
const char *CustomName;
- void (*SetCustomScanRef)(struct PlannerInfo *root,
- CustomScan *cscan,
- int rtoffset);
- void (*FinalizeCustomScan)(struct PlannerInfo *root,
- CustomScan *cscan,
- bool (*finalize_primnode)(),
- void *finalize_context);
- Node *(*CreateCustomScanState)(CustomScan *cscan);
- void (*TextOutCustomScan)(StringInfo str, const CustomScan *node);
- CustomScan *(*CopyCustomScan)(const CustomScan *from);
+
+ void (*SetCustomScanRef) (struct PlannerInfo *root,
+ struct CustomScan *cscan,
+ int rtoffset);
+ void (*FinalizeCustomScan) (struct PlannerInfo *root,
+ struct CustomScan *cscan,
+ bool (*finalize_primnode) (),
+ void *finalize_context);
+ Node *(*CreateCustomScanState) (struct CustomScan *cscan);
+ void (*TextOutCustomScan) (StringInfo str,
+ const struct CustomScan *node);
+ struct CustomScan *(*CopyCustomScan) (const struct CustomScan *from);
} CustomScanMethods;
+typedef struct CustomScan
+{
+ Scan scan;
+ uint32 flags; /* mask of CUSTOMPATH_* flags, see relation.h */
+ const CustomScanMethods *methods;
+} CustomScan;
+
/*
* ==========
* Join nodes
@@ -864,7 +866,7 @@ typedef struct PlanRowMark
Index prti; /* range table index of parent relation */
Index rowmarkId; /* unique identifier for resjunk columns */
RowMarkType markType; /* see enum above */
- LockWaitPolicy waitPolicy; /* NOWAIT and SKIP LOCKED options */
+ LockWaitPolicy waitPolicy; /* NOWAIT and SKIP LOCKED options */
bool isParent; /* true if this is a "dummy" parent entry */
} PlanRowMark;