Move syncscan.c to src/backend/access/common.

Since the tableam.c code needs to make use of the syncscan.c routines
itself, and since other block-oriented AMs might also want to use it one
day, it didn't make sense for it to live under src/backend/access/heap.

Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/CA%2BhUKGLCnG%3DNEAByg6bk%2BCT9JZD97Y%3DAxKhh27Su9FeGWOKvDg%40mail.gmail.com
This commit is contained in:
Thomas Munro 2020-07-29 16:46:58 +12:00
parent c49c74d192
commit cb04ad4985
9 changed files with 33 additions and 11 deletions

View File

@ -24,6 +24,7 @@ OBJS = \
reloptions.o \
scankey.o \
session.o \
syncscan.o \
toast_internals.o \
tupconvert.o \
tupdesc.o

View File

@ -1,7 +1,7 @@
/*-------------------------------------------------------------------------
*
* syncscan.c
* heap scan synchronization support
* scan synchronization support
*
* When multiple backends run a sequential scan on the same table, we try
* to keep them synchronized to reduce the overall I/O needed. The goal is
@ -40,13 +40,13 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* src/backend/access/heap/syncscan.c
* src/backend/access/common/syncscan.c
*
*-------------------------------------------------------------------------
*/
#include "postgres.h"
#include "access/heapam.h"
#include "access/syncscan.h"
#include "miscadmin.h"
#include "storage/lwlock.h"
#include "storage/shmem.h"

View File

@ -20,7 +20,6 @@ OBJS = \
hio.o \
pruneheap.o \
rewriteheap.o \
syncscan.o \
vacuumlazy.o \
visibilitymap.o

View File

@ -41,6 +41,7 @@
#include "access/parallel.h"
#include "access/relscan.h"
#include "access/subtrans.h"
#include "access/syncscan.h"
#include "access/sysattr.h"
#include "access/tableam.h"
#include "access/transam.h"

View File

@ -24,6 +24,7 @@
#include "access/heaptoast.h"
#include "access/multixact.h"
#include "access/rewriteheap.h"
#include "access/syncscan.h"
#include "access/tableam.h"
#include "access/tsmapi.h"
#include "access/xact.h"

View File

@ -21,7 +21,7 @@
#include <math.h>
#include "access/heapam.h" /* for ss_* */
#include "access/syncscan.h"
#include "access/tableam.h"
#include "access/xact.h"
#include "optimizer/plancat.h"

View File

@ -20,6 +20,7 @@
#include "access/multixact.h"
#include "access/nbtree.h"
#include "access/subtrans.h"
#include "access/syncscan.h"
#include "access/twophase.h"
#include "commands/async.h"
#include "miscadmin.h"

View File

@ -182,12 +182,6 @@ extern void heap_page_prune_execute(Buffer buffer,
OffsetNumber *nowunused, int nunused);
extern void heap_get_root_tuples(Page page, OffsetNumber *root_offsets);
/* in heap/syncscan.c */
extern void ss_report_location(Relation rel, BlockNumber location);
extern BlockNumber ss_get_location(Relation rel, BlockNumber relnblocks);
extern void SyncScanShmemInit(void);
extern Size SyncScanShmemSize(void);
/* in heap/vacuumlazy.c */
struct VacuumParams;
extern void heap_vacuum_rel(Relation onerel,

View File

@ -0,0 +1,25 @@
/*-------------------------------------------------------------------------
*
* syncscan.h
* POSTGRES synchronous scan support functions.
*
*
* Portions Copyright (c) 1996-2020, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* src/include/access/syncscan.h
*
*-------------------------------------------------------------------------
*/
#ifndef SYNCSCAN_H
#define SYNCSCAN_H
#include "storage/block.h"
#include "utils/relcache.h"
extern void ss_report_location(Relation rel, BlockNumber location);
extern BlockNumber ss_get_location(Relation rel, BlockNumber relnblocks);
extern void SyncScanShmemInit(void);
extern Size SyncScanShmemSize(void);
#endif