1/*-------------------------------------------------------------------------
2 *
3 * nodeSort.h
4 *
5 *
6 *
7 * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
8 * Portions Copyright (c) 1994, Regents of the University of California
9 *
10 * src/include/executor/nodeSort.h
11 *
12 *-------------------------------------------------------------------------
13 */
14#ifndef NODESORT_H
15#define NODESORT_H
16
17#include "access/parallel.h"
18#include "nodes/execnodes.h"
19
20extern SortState *ExecInitSort(Sort *node, EState *estate, int eflags);
21extern void ExecEndSort(SortState *node);
22extern void ExecSortMarkPos(SortState *node);
23extern void ExecSortRestrPos(SortState *node);
24extern void ExecReScanSort(SortState *node);
25
26/* parallel instrumentation support */
27extern void ExecSortEstimate(SortState *node, ParallelContext *pcxt);
28extern void ExecSortInitializeDSM(SortState *node, ParallelContext *pcxt);
29extern void ExecSortInitializeWorker(SortState *node, ParallelWorkerContext *pwcxt);
30extern void ExecSortRetrieveInstrumentation(SortState *node);
31
32#endif /* NODESORT_H */
33