summaryrefslogtreecommitdiff
path: root/src/include/foreign
diff options
context:
space:
mode:
authorRobert Haas <rhaas@postgresql.org>2017-02-26 13:36:49 +0530
committerRobert Haas <rhaas@postgresql.org>2017-02-26 13:41:12 +0530
commita315b967cc1bd43ecf3c10ea48b44a4fb0ff8d45 (patch)
tree47e76aff9009a58b6742b0b38fbd31dd64b26986 /src/include/foreign
parent285ca26132abdd0a1adc11a21789f103c4e3f6d8 (diff)
downloadpostgresql-a315b967cc1bd43ecf3c10ea48b44a4fb0ff8d45.tar.gz
Allow custom and foreign scans to have shutdown callbacks.
This is expected to be useful mostly when performing such scans in parallel, because in that case it allows (in combination with commit acf555bc53acb589b5a2827e65d655fa8c9adee0) nodes below a Gather to get control just before the DSM segment goes away. KaiGai Kohei, except that I rewrote the documentation. Reviewed by Claudio Freire. Discussion: http://postgr.es/m/CADyhKSXJK0jUJ8rWv4AmKDhsUh124_rEn39eqgfC5D8fu6xVuw@mail.gmail.com
Diffstat (limited to 'src/include/foreign')
-rw-r--r--src/include/foreign/fdwapi.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/include/foreign/fdwapi.h b/src/include/foreign/fdwapi.h
index 523d415575..6ca44f734f 100644
--- a/src/include/foreign/fdwapi.h
+++ b/src/include/foreign/fdwapi.h
@@ -151,6 +151,7 @@ typedef void (*InitializeDSMForeignScan_function) (ForeignScanState *node,
typedef void (*InitializeWorkerForeignScan_function) (ForeignScanState *node,
shm_toc *toc,
void *coordinate);
+typedef void (*ShutdownForeignScan_function) (ForeignScanState *node);
typedef bool (*IsForeignScanParallelSafe_function) (PlannerInfo *root,
RelOptInfo *rel,
RangeTblEntry *rte);
@@ -224,6 +225,7 @@ typedef struct FdwRoutine
EstimateDSMForeignScan_function EstimateDSMForeignScan;
InitializeDSMForeignScan_function InitializeDSMForeignScan;
InitializeWorkerForeignScan_function InitializeWorkerForeignScan;
+ ShutdownForeignScan_function ShutdownForeignScan;
} FdwRoutine;