72#define SYNC_SCAN_NELEM 20
84#define SYNC_SCAN_REPORT_INTERVAL (128 * 1024 / BLCKSZ)
112#define SizeOfScanLocations(N) \
113 (offsetof(ss_scan_locations_t, items) + (N) * sizeof(ss_lru_item_t))
168 item->
prev = (
i > 0) ?
272 "SYNC_SCAN: start \"%s\" (size %u) at %u",
292 if ((location % 1024) == 0)
294 "SYNC_SCAN: scanning \"%s\" at %u",
317 "SYNC_SCAN: missed update for \"%s\" at %u",
#define InvalidBlockNumber
#define FLEXIBLE_ARRAY_MEMBER
bool LWLockAcquire(LWLock *lock, LWLockMode mode)
void LWLockRelease(LWLock *lock)
bool LWLockConditionalAcquire(LWLock *lock, LWLockMode mode)
#define RelationGetRelationName(relation)
#define RelFileLocatorEquals(locator1, locator2)
#define InvalidRelFileNumber
#define ShmemRequestStruct(...)
RelFileLocator rd_locator
ShmemRequestCallback request_fn
ss_scan_location_t location
struct ss_lru_item_t * next
struct ss_lru_item_t * prev
RelFileLocator relfilelocator
ss_lru_item_t items[FLEXIBLE_ARRAY_MEMBER]
void ss_report_location(Relation rel, BlockNumber location)
static void SyncScanShmemInit(void *arg)
static ss_scan_locations_t * scan_locations
static void SyncScanShmemRequest(void *arg)
BlockNumber ss_get_location(Relation rel, BlockNumber relnblocks)
const ShmemCallbacks SyncScanShmemCallbacks
static BlockNumber ss_search(RelFileLocator relfilelocator, BlockNumber location, bool set)
#define SizeOfScanLocations(N)
#define SYNC_SCAN_REPORT_INTERVAL