|
PostgreSQL Source Code git master
|
#include "utils/hsearch.h"

Go to the source code of this file.
Data Structures | |
| struct | ShmemStructOpts |
| struct | ShmemHashOpts |
| struct | ShmemCallbacks |
Macros | |
| #define | SHMEM_ATTACH_UNKNOWN_SIZE (-1) |
| #define | SHMEM_CALLBACKS_ALLOW_AFTER_STARTUP 0x00000001 |
| #define | ShmemRequestStruct(...) ShmemRequestStructWithOpts(&(ShmemStructOpts){__VA_ARGS__}) |
| #define | ShmemRequestHash(...) ShmemRequestHashWithOpts(&(ShmemHashOpts){__VA_ARGS__}) |
Typedefs | |
| typedef struct ShmemStructOpts | ShmemStructOpts |
| typedef struct ShmemHashOpts | ShmemHashOpts |
| typedef void(* | ShmemRequestCallback) (void *opaque_arg) |
| typedef void(* | ShmemInitCallback) (void *opaque_arg) |
| typedef void(* | ShmemAttachCallback) (void *opaque_arg) |
| typedef struct ShmemCallbacks | ShmemCallbacks |
Functions | |
| void | RegisterShmemCallbacks (const ShmemCallbacks *callbacks) |
| bool | ShmemAddrIsValid (const void *addr) |
| void | ShmemRequestStructWithOpts (const ShmemStructOpts *options) |
| void | ShmemRequestHashWithOpts (const ShmemHashOpts *options) |
| void * | ShmemInitStruct (const char *name, Size size, bool *foundPtr) |
| HTAB * | ShmemInitHash (const char *name, int64 nelems, HASHCTL *infoP, int hash_flags) |
| void * | ShmemAlloc (Size size) |
| void * | ShmemAllocNoError (Size size) |
| Size | add_size (Size s1, Size s2) |
| Size | mul_size (Size s1, Size s2) |
| PGDLLIMPORT Size | pg_get_shmem_pagesize (void) |
| void | RequestAddinShmemSpace (Size size) |
| #define ShmemRequestHash | ( | ... | ) | ShmemRequestHashWithOpts(&(ShmemHashOpts){__VA_ARGS__}) |
Definition at line 179 of file shmem.h.
| #define ShmemRequestStruct | ( | ... | ) | ShmemRequestStructWithOpts(&(ShmemStructOpts){__VA_ARGS__}) |
Definition at line 176 of file shmem.h.
| typedef struct ShmemCallbacks ShmemCallbacks |
| typedef struct ShmemHashOpts ShmemHashOpts |
Definition at line 1048 of file shmem.c.
References ereport, errcode(), errmsg, ERROR, fb(), pg_add_size_overflow(), result, s1, and s2.
Referenced by _brin_parallel_estimate_shared(), _bt_parallel_estimate_shared(), _gin_parallel_estimate_shared(), ApplyLauncherShmemRequest(), AsyncShmemRequest(), AutoVacuumShmemRequest(), BackgroundWorkerShmemRequest(), btestimateparallelscan(), BTreeShmemRequest(), CalculateFastPathLockShmemSize(), CalculateShmemSize(), CheckpointerShmemRequest(), CreateAnonymousSegment(), estimate_variable_size(), EstimateClientConnectionInfoSpace(), EstimateComboCIDStateSpace(), EstimateGUCStateSpace(), EstimateLibraryStateSpace(), EstimateParamExecSpace(), EstimateParamListSpace(), EstimateSnapshotSpace(), EstimateTransactionStateSpace(), ExecAggEstimate(), ExecAppendEstimate(), ExecBitmapHeapEstimate(), ExecBitmapHeapInitializeDSM(), ExecHashEstimate(), ExecIncrementalSortEstimate(), ExecMemoizeEstimate(), ExecSortEstimate(), expand_planner_arrays(), hash_estimate_size(), index_parallelscan_estimate(), index_parallelscan_initialize(), InitializeShmemGUCs(), MultiXactShmemRequest(), PMSignalShmemRequest(), PredicateLockShmemRequest(), ProcArrayShmemRequest(), ProcGlobalShmemRequest(), ProcSignalShmemRequest(), ReplicationOriginShmemRequest(), ReplicationSlotsShmemRequest(), RequestAddinShmemSpace(), SerializeTransactionState(), SharedInvalShmemRequest(), shm_toc_estimate(), ShmemGetRequestedSize(), StatsShmemSize(), table_parallelscan_estimate(), tuplesort_estimate_shared(), TwoPhaseShmemRequest(), WaitLSNShmemRequest(), WalSndShmemRequest(), and XLOGShmemRequest().
Definition at line 1063 of file shmem.c.
References ereport, errcode(), errmsg, ERROR, fb(), pg_mul_size_overflow(), result, s1, and s2.
Referenced by _brin_begin_parallel(), _bt_begin_parallel(), _gin_begin_parallel(), AioBackendShmemSize(), AioHandleDataShmemSize(), AioHandleIOVShmemSize(), AioHandleShmemSize(), ApplyLauncherShmemRequest(), AsyncShmemRequest(), AutoVacuumShmemRequest(), BackendStatusShmemAttach(), BackendStatusShmemRequest(), BackgroundWorkerShmemRequest(), BTreeShmemRequest(), CalculateFastPathLockShmemSize(), CheckpointerShmemRequest(), EstimateComboCIDStateSpace(), EstimatePendingSyncsSpace(), EstimateReindexStateSpace(), EstimateSnapshotSpace(), EstimateTransactionStateSpace(), ExecAggEstimate(), ExecBitmapHeapEstimate(), ExecBitmapHeapInitializeDSM(), ExecHashEstimate(), ExecIncrementalSortEstimate(), ExecInitParallelPlan(), ExecMemoizeEstimate(), ExecParallelRetrieveInstrumentation(), ExecParallelRetrieveJitInstrumentation(), ExecParallelSetupTupleQueues(), ExecSortEstimate(), hash_estimate_size(), InitializeParallelDSM(), MultiXactShmemRequest(), parallel_vacuum_init(), PGSemaphoreShmemRequest(), PMSignalShmemRequest(), PredicateLockShmemRequest(), ProcArrayShmemRequest(), ProcGlobalShmemRequest(), ProcSignalShmemRequest(), ReplicationOriginShmemRequest(), ReplicationSlotsShmemRequest(), SharedInvalShmemRequest(), shm_toc_estimate(), tuplesort_estimate_shared(), TwoPhaseShmemRequest(), WaitLSNShmemRequest(), WalSndShmemRequest(), and XLOGShmemRequest().
|
extern |
|
extern |
Definition at line 874 of file shmem.c.
References CallShmemCallbacksAfterStartup(), elog, ERROR, ShmemCallbacks::flags, IsUnderPostmaster, lappend(), registered_shmem_callbacks, SHMEM_CALLBACKS_ALLOW_AFTER_STARTUP, and SRS_DONE.
Referenced by _PG_init().
Definition at line 45 of file ipci.c.
References add_size(), elog, FATAL, process_shmem_requests_in_progress, and total_addin_request.
Definition at line 850 of file shmem.c.
References ShmemBase, and ShmemEnd.
Referenced by ReleasePredXact().
Definition at line 764 of file shmem.c.
References ereport, errcode(), errmsg, ERROR, fb(), and ShmemAllocRaw().
Referenced by InitShmemAllocator(), and StatsShmemInit().
Definition at line 784 of file shmem.c.
References ShmemAllocRaw().
Definition at line 117 of file shmem_hash.c.
References fb(), hash_estimate_size(), name, shmem_hash_create(), and ShmemInitStruct().
Definition at line 1011 of file shmem.c.
References Assert, AttachShmemIndexEntry(), fb(), InitShmemIndexEntry(), IsUnderPostmaster, LW_EXCLUSIVE, LWLockAcquire(), LWLockRelease(), name, SHMEM_KIND_STRUCT, ShmemIndexLock, SRS_DONE, SRS_INITIALIZING, and SRS_REQUESTING.
Referenced by ShmemInitHash().
|
extern |
Definition at line 44 of file shmem_hash.c.
References Assert, fb(), hash_estimate_size(), memcpy(), MemoryContextAlloc(), SHMEM_KIND_HASH, ShmemRequestInternal(), and TopMemoryContext.
|
extern |
Definition at line 316 of file shmem.c.
References fb(), memcpy(), MemoryContextAlloc(), SHMEM_KIND_STRUCT, ShmemRequestInternal(), and TopMemoryContext.