mirror of
https://github.com/postgres/postgres.git
synced 2026-10-31 05:54:36 +03:00
Adds support for EXPLAIN (IO) instrumentation for sequential scans. This
requires adding shared instrumentation, using the separate DSM approach
introduced by dd78e69cfc.
Author: Tomas Vondra <tomas@vondra.me>
Reviewed-by: Melanie Plageman <melanieplageman@gmail.com>
Reviewed-by: Lukas Fittl <lukas@fittl.com>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/flat/a177a6dd-240b-455a-8f25-aca0b1c08c6e%40vondra.me
41 lines
1.4 KiB
C
41 lines
1.4 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* nodeSeqscan.h
|
|
*
|
|
*
|
|
*
|
|
* Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/executor/nodeSeqscan.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef NODESEQSCAN_H
|
|
#define NODESEQSCAN_H
|
|
|
|
#include "access/parallel.h"
|
|
#include "nodes/execnodes.h"
|
|
|
|
extern SeqScanState *ExecInitSeqScan(SeqScan *node, EState *estate, int eflags);
|
|
extern void ExecEndSeqScan(SeqScanState *node);
|
|
extern void ExecReScanSeqScan(SeqScanState *node);
|
|
|
|
/* parallel scan support */
|
|
extern void ExecSeqScanEstimate(SeqScanState *node, ParallelContext *pcxt);
|
|
extern void ExecSeqScanInitializeDSM(SeqScanState *node, ParallelContext *pcxt);
|
|
extern void ExecSeqScanReInitializeDSM(SeqScanState *node, ParallelContext *pcxt);
|
|
extern void ExecSeqScanInitializeWorker(SeqScanState *node,
|
|
ParallelWorkerContext *pwcxt);
|
|
|
|
/* instrument support */
|
|
extern void ExecSeqScanInstrumentEstimate(SeqScanState *node,
|
|
ParallelContext *pcxt);
|
|
extern void ExecSeqScanInstrumentInitDSM(SeqScanState *node,
|
|
ParallelContext *pcxt);
|
|
extern void ExecSeqScanInstrumentInitWorker(SeqScanState *node,
|
|
ParallelWorkerContext *pwcxt);
|
|
extern void ExecSeqScanRetrieveInstrumentation(SeqScanState *node);
|
|
|
|
#endif /* NODESEQSCAN_H */
|