PostgreSQL Source Code git master
mcxt.c File Reference
#include "postgres.h"
#include "mb/pg_wchar.h"
#include "miscadmin.h"
#include "utils/memdebug.h"
#include "utils/memutils.h"
#include "utils/memutils_internal.h"
#include "utils/memutils_memorychunk.h"
Include dependency graph for mcxt.c:

Go to the source code of this file.

Macros

#define BOGUS_MCTX(id)
 
#define AssertNotInCriticalSection(context)    Assert(CritSectionCount == 0 || (context)->allowInCritSection)
 
#define MCXT_METHOD(pointer, method)    mcxt_methods[GetMemoryChunkMethodID(pointer)].method
 

Functions

static void BogusFree (void *pointer)
 
static void * BogusRealloc (void *pointer, Size size, int flags)
 
static MemoryContext BogusGetChunkContext (void *pointer)
 
static Size BogusGetChunkSpace (void *pointer)
 
static void MemoryContextDeleteOnly (MemoryContext context)
 
static void MemoryContextCallResetCallbacks (MemoryContext context)
 
static void MemoryContextStatsInternal (MemoryContext context, int level, int max_level, int max_children, MemoryContextCounters *totals, bool print_to_stderr)
 
static void MemoryContextStatsPrint (MemoryContext context, void *passthru, const char *stats_string, bool print_to_stderr)
 
static MemoryContextMethodID GetMemoryChunkMethodID (const void *pointer)
 
static uint64 GetMemoryChunkHeader (const void *pointer)
 
static MemoryContext MemoryContextTraverseNext (MemoryContext curr, MemoryContext top)
 
void MemoryContextInit (void)
 
void MemoryContextReset (MemoryContext context)
 
void MemoryContextResetOnly (MemoryContext context)
 
void MemoryContextResetChildren (MemoryContext context)
 
void MemoryContextDelete (MemoryContext context)
 
void MemoryContextDeleteChildren (MemoryContext context)
 
void MemoryContextRegisterResetCallback (MemoryContext context, MemoryContextCallback *cb)
 
void MemoryContextSetIdentifier (MemoryContext context, const char *id)
 
void MemoryContextSetParent (MemoryContext context, MemoryContext new_parent)
 
void MemoryContextAllowInCriticalSection (MemoryContext context, bool allow)
 
MemoryContext GetMemoryChunkContext (void *pointer)
 
Size GetMemoryChunkSpace (void *pointer)
 
MemoryContext MemoryContextGetParent (MemoryContext context)
 
bool MemoryContextIsEmpty (MemoryContext context)
 
Size MemoryContextMemAllocated (MemoryContext context, bool recurse)
 
void MemoryContextMemConsumed (MemoryContext context, MemoryContextCounters *consumed)
 
void MemoryContextStats (MemoryContext context)
 
void MemoryContextStatsDetail (MemoryContext context, int max_level, int max_children, bool print_to_stderr)
 
void MemoryContextCreate (MemoryContext node, NodeTag tag, MemoryContextMethodID method_id, MemoryContext parent, const char *name)
 
void * MemoryContextAllocationFailure (MemoryContext context, Size size, int flags)
 
void MemoryContextSizeFailure (MemoryContext context, Size size, int flags)
 
void * MemoryContextAlloc (MemoryContext context, Size size)
 
void * MemoryContextAllocZero (MemoryContext context, Size size)
 
void * MemoryContextAllocExtended (MemoryContext context, Size size, int flags)
 
void HandleLogMemoryContextInterrupt (void)
 
void ProcessLogMemoryContextInterrupt (void)
 
void * palloc (Size size)
 
void * palloc0 (Size size)
 
void * palloc_extended (Size size, int flags)
 
void * MemoryContextAllocAligned (MemoryContext context, Size size, Size alignto, int flags)
 
void * palloc_aligned (Size size, Size alignto, int flags)
 
void pfree (void *pointer)
 
void * repalloc (void *pointer, Size size)
 
void * repalloc_extended (void *pointer, Size size, int flags)
 
void * repalloc0 (void *pointer, Size oldsize, Size size)
 
void * MemoryContextAllocHuge (MemoryContext context, Size size)
 
void * repalloc_huge (void *pointer, Size size)
 
char * MemoryContextStrdup (MemoryContext context, const char *string)
 
char * pstrdup (const char *in)
 
char * pnstrdup (const char *in, Size len)
 
char * pchomp (const char *in)
 

Variables

static const MemoryContextMethods mcxt_methods []
 
MemoryContext CurrentMemoryContext = NULL
 
MemoryContext TopMemoryContext = NULL
 
MemoryContext ErrorContext = NULL
 
MemoryContext PostmasterContext = NULL
 
MemoryContext CacheMemoryContext = NULL
 
MemoryContext MessageContext = NULL
 
MemoryContext TopTransactionContext = NULL
 
MemoryContext CurTransactionContext = NULL
 
MemoryContext PortalContext = NULL
 

Macro Definition Documentation

◆ AssertNotInCriticalSection

#define AssertNotInCriticalSection (   context)     Assert(CritSectionCount == 0 || (context)->allowInCritSection)

Definition at line 175 of file mcxt.c.

◆ BOGUS_MCTX

#define BOGUS_MCTX (   id)
Value:
[id].free_p = BogusFree, \
[id].realloc = BogusRealloc, \
[id].get_chunk_context = BogusGetChunkContext, \
[id].get_chunk_space = BogusGetChunkSpace
static void * BogusRealloc(void *pointer, Size size, int flags)
Definition: mcxt.c:293
static Size BogusGetChunkSpace(void *pointer)
Definition: mcxt.c:309
static void BogusFree(void *pointer)
Definition: mcxt.c:286
static MemoryContext BogusGetChunkContext(void *pointer)
Definition: mcxt.c:301

Definition at line 40 of file mcxt.c.

◆ MCXT_METHOD

#define MCXT_METHOD (   pointer,
  method 
)     mcxt_methods[GetMemoryChunkMethodID(pointer)].method

Definition at line 182 of file mcxt.c.

Function Documentation

◆ BogusFree()

static void BogusFree ( void *  pointer)
static

Definition at line 286 of file mcxt.c.

287{
288 elog(ERROR, "pfree called with invalid pointer %p (header 0x%016llx)",
289 pointer, (unsigned long long) GetMemoryChunkHeader(pointer));
290}
#define ERROR
Definition: elog.h:39
#define elog(elevel,...)
Definition: elog.h:225
static uint64 GetMemoryChunkHeader(const void *pointer)
Definition: mcxt.c:220

References elog, ERROR, and GetMemoryChunkHeader().

◆ BogusGetChunkContext()

static MemoryContext BogusGetChunkContext ( void *  pointer)
static

Definition at line 301 of file mcxt.c.

302{
303 elog(ERROR, "GetMemoryChunkContext called with invalid pointer %p (header 0x%016llx)",
304 pointer, (unsigned long long) GetMemoryChunkHeader(pointer));
305 return NULL; /* keep compiler quiet */
306}

References elog, ERROR, and GetMemoryChunkHeader().

◆ BogusGetChunkSpace()

static Size BogusGetChunkSpace ( void *  pointer)
static

Definition at line 309 of file mcxt.c.

310{
311 elog(ERROR, "GetMemoryChunkSpace called with invalid pointer %p (header 0x%016llx)",
312 pointer, (unsigned long long) GetMemoryChunkHeader(pointer));
313 return 0; /* keep compiler quiet */
314}

References elog, ERROR, and GetMemoryChunkHeader().

◆ BogusRealloc()

static void * BogusRealloc ( void *  pointer,
Size  size,
int  flags 
)
static

Definition at line 293 of file mcxt.c.

294{
295 elog(ERROR, "repalloc called with invalid pointer %p (header 0x%016llx)",
296 pointer, (unsigned long long) GetMemoryChunkHeader(pointer));
297 return NULL; /* keep compiler quiet */
298}

References elog, ERROR, and GetMemoryChunkHeader().

◆ GetMemoryChunkContext()

MemoryContext GetMemoryChunkContext ( void *  pointer)

◆ GetMemoryChunkHeader()

static uint64 GetMemoryChunkHeader ( const void *  pointer)
inlinestatic

Definition at line 220 of file mcxt.c.

221{
222 uint64 header;
223
224 /* Allow access to the uint64 header */
225 VALGRIND_MAKE_MEM_DEFINED((char *) pointer - sizeof(uint64), sizeof(uint64));
226
227 header = *((const uint64 *) ((const char *) pointer - sizeof(uint64)));
228
229 /* Disallow access to the uint64 header */
230 VALGRIND_MAKE_MEM_NOACCESS((char *) pointer - sizeof(uint64), sizeof(uint64));
231
232 return header;
233}
uint64_t uint64
Definition: c.h:489
#define VALGRIND_MAKE_MEM_DEFINED(addr, size)
Definition: memdebug.h:26
#define VALGRIND_MAKE_MEM_NOACCESS(addr, size)
Definition: memdebug.h:27

References VALGRIND_MAKE_MEM_DEFINED, and VALGRIND_MAKE_MEM_NOACCESS.

Referenced by BogusFree(), BogusGetChunkContext(), BogusGetChunkSpace(), and BogusRealloc().

◆ GetMemoryChunkMethodID()

static MemoryContextMethodID GetMemoryChunkMethodID ( const void *  pointer)
inlinestatic

Definition at line 191 of file mcxt.c.

192{
193 uint64 header;
194
195 /*
196 * Try to detect bogus pointers handed to us, poorly though we can.
197 * Presumably, a pointer that isn't MAXALIGNED isn't pointing at an
198 * allocated chunk.
199 */
200 Assert(pointer == (const void *) MAXALIGN(pointer));
201
202 /* Allow access to the uint64 header */
203 VALGRIND_MAKE_MEM_DEFINED((char *) pointer - sizeof(uint64), sizeof(uint64));
204
205 header = *((const uint64 *) ((const char *) pointer - sizeof(uint64)));
206
207 /* Disallow access to the uint64 header */
208 VALGRIND_MAKE_MEM_NOACCESS((char *) pointer - sizeof(uint64), sizeof(uint64));
209
211}
#define MAXALIGN(LEN)
Definition: c.h:768
#define Assert(condition)
Definition: c.h:815
#define MEMORY_CONTEXT_METHODID_MASK
MemoryContextMethodID

References Assert, MAXALIGN, MEMORY_CONTEXT_METHODID_MASK, VALGRIND_MAKE_MEM_DEFINED, and VALGRIND_MAKE_MEM_NOACCESS.

Referenced by pfree(), and repalloc().

◆ GetMemoryChunkSpace()

◆ HandleLogMemoryContextInterrupt()

void HandleLogMemoryContextInterrupt ( void  )

Definition at line 1272 of file mcxt.c.

1273{
1274 InterruptPending = true;
1276 /* latch will be set by procsignal_sigusr1_handler */
1277}
volatile sig_atomic_t LogMemoryContextPending
Definition: globals.c:40
volatile sig_atomic_t InterruptPending
Definition: globals.c:31

References InterruptPending, and LogMemoryContextPending.

Referenced by procsignal_sigusr1_handler().

◆ MemoryContextAlloc()

void * MemoryContextAlloc ( MemoryContext  context,
Size  size 
)

Definition at line 1181 of file mcxt.c.

1182{
1183 void *ret;
1184
1185 Assert(MemoryContextIsValid(context));
1187
1188 context->isReset = false;
1189
1190 /*
1191 * For efficiency reasons, we purposefully offload the handling of
1192 * allocation failures to the MemoryContextMethods implementation as this
1193 * allows these checks to be performed only when an actual malloc needs to
1194 * be done to request more memory from the OS. Additionally, not having
1195 * to execute any instructions after this call allows the compiler to use
1196 * the sibling call optimization. If you're considering adding code after
1197 * this call, consider making it the responsibility of the 'alloc'
1198 * function instead.
1199 */
1200 ret = context->methods->alloc(context, size, 0);
1201
1202 VALGRIND_MEMPOOL_ALLOC(context, ret, size);
1203
1204 return ret;
1205}
#define AssertNotInCriticalSection(context)
Definition: mcxt.c:175
#define VALGRIND_MEMPOOL_ALLOC(context, addr, size)
Definition: memdebug.h:29
#define MemoryContextIsValid(context)
Definition: memnodes.h:145
static pg_noinline void Size size
Definition: slab.c:607
const MemoryContextMethods * methods
Definition: memnodes.h:126
void *(* alloc)(MemoryContext context, Size size, int flags)
Definition: memnodes.h:66

References MemoryContextMethods::alloc, Assert, AssertNotInCriticalSection, MemoryContextData::isReset, MemoryContextIsValid, MemoryContextData::methods, size, and VALGRIND_MEMPOOL_ALLOC.

Referenced by _bt_getroot(), _bt_getrootheight(), _bt_metaversion(), _bt_preprocess_keys(), _fdvec_resize(), _hash_getcachedmetap(), AddInvalidationMessage(), afterTriggerAddEvent(), AfterTriggerBeginSubXact(), AfterTriggerEnlargeQueryState(), allocate_record_info(), array_agg_deserialize(), array_agg_serialize(), array_fill_internal(), array_in(), array_out(), array_position_common(), array_positions(), array_recv(), array_send(), array_to_text_internal(), Async_Notify(), AtSubCommit_childXids(), BackgroundWorkerMain(), be_tls_open_server(), bt_check_level_from_leftmost(), build_concat_foutcache(), build_dummy_expanded_header(), check_foreign_key(), check_primary_key(), compute_array_stats(), copy_byval_expanded_array(), CopySnapshot(), create_drop_transactional_internal(), dblink_connect(), dblink_init(), deconstruct_expanded_record(), dense_alloc(), domain_state_setup(), dsm_create_descriptor(), dsm_impl_sysv(), enlarge_list(), EventTriggerBeginCompleteQuery(), ExecHashBuildSkewHash(), ExecHashSkewTableInsert(), ExecParallelRetrieveJitInstrumentation(), ExecSetSlotDescriptor(), expand_array(), fetch_array_arg_replace_nulls(), get_attribute_options(), get_multirange_io_data(), get_range_io_data(), get_tablespace(), GetComboCommandId(), GetFdwRoutineForRelation(), GetLocalBufferStorage(), GetLockConflicts(), gtrgm_consistent(), gtrgm_distance(), gtrgm_penalty(), hash_record(), hash_record_extended(), hstore_from_record(), hstore_populate_record(), initArrayResultAny(), initArrayResultWithSize(), initBloomState(), initialize_hash_entry(), initialize_reloptions(), InitializeClientEncoding(), InitializeParallelDSM(), InitIndexAmRoutine(), InitXLogInsert(), insertStatEntry(), intset_new_internal_node(), intset_new_leaf_node(), inv_open(), list_delete_first_n(), list_delete_nth_cell(), llvm_compile_module(), load_domaintype_info(), load_relcache_init_file(), LockAcquireExtended(), logical_rewrite_log_mapping(), lookup_ts_config_cache(), lookup_type_cache(), make_expanded_record_from_exprecord(), make_expanded_record_from_tupdesc(), make_expanded_record_from_typeid(), makeBoolAggState(), MemoryContextStrdup(), mergeruns(), mXactCachePut(), on_dsm_detach(), packGraph(), pg_column_compression(), pg_column_size(), pg_column_toast_chunk_id(), pg_input_is_valid_common(), pg_snapshot_xip(), pg_stat_get_backend_idset(), pgstat_build_snapshot(), pgstat_fetch_entry(), pgstat_get_entry_ref_cached(), pgstat_get_xact_stack_level(), pgstat_init_snapshot_fixed(), pgstat_read_current_status(), plpgsql_create_econtext(), plpgsql_start_datums(), PLy_push_execution_context(), PLy_subtransaction_enter(), PortalSetResultFormat(), pq_init(), PrepareClientEncoding(), PrepareSortSupportComparisonShim(), PrepareTempTablespaces(), PushActiveSnapshotWithLevel(), px_find_digest(), queue_listen(), record_cmp(), record_eq(), record_image_cmp(), record_image_eq(), record_in(), record_out(), record_recv(), record_send(), RegisterExprContextCallback(), RegisterResourceReleaseCallback(), RegisterSubXactCallback(), RegisterXactCallback(), RelationBuildRuleLock(), RelationCacheInitialize(), RelationCreateStorage(), RelationDropStorage(), RelationParseRelOptions(), ReorderBufferAllocate(), ReorderBufferGetChange(), ReorderBufferGetRelids(), ReorderBufferGetTupleBuf(), ReorderBufferGetTXN(), ReorderBufferRestoreChange(), ReorderBufferSerializeReserve(), RequestNamedLWLockTranche(), RestoreSnapshot(), RT_ALLOC_LEAF(), RT_ALLOC_NODE(), setup_background_workers(), shm_mq_receive(), SnapBuildPurgeOlderTxn(), SPI_connect_ext(), SPI_palloc(), StoreIndexTuple(), sts_read_tuple(), tbm_begin_private_iterate(), test_enc_conversion(), tstoreStartupReceiver(), tts_virtual_materialize(), tuplesort_readtup_alloc(), and xactGetCommittedInvalidationMessages().

◆ MemoryContextAllocAligned()

void * MemoryContextAllocAligned ( MemoryContext  context,
Size  size,
Size  alignto,
int  flags 
)

Definition at line 1409 of file mcxt.c.

1411{
1412 MemoryChunk *alignedchunk;
1413 Size alloc_size;
1414 void *unaligned;
1415 void *aligned;
1416
1417 /* wouldn't make much sense to waste that much space */
1418 Assert(alignto < (128 * 1024 * 1024));
1419
1420 /* ensure alignto is a power of 2 */
1421 Assert((alignto & (alignto - 1)) == 0);
1422
1423 /*
1424 * If the alignment requirements are less than what we already guarantee
1425 * then just use the standard allocation function.
1426 */
1427 if (unlikely(alignto <= MAXIMUM_ALIGNOF))
1428 return MemoryContextAllocExtended(context, size, flags);
1429
1430 /*
1431 * We implement aligned pointers by simply allocating enough memory for
1432 * the requested size plus the alignment and an additional "redirection"
1433 * MemoryChunk. This additional MemoryChunk is required for operations
1434 * such as pfree when used on the pointer returned by this function. We
1435 * use this redirection MemoryChunk in order to find the pointer to the
1436 * memory that was returned by the MemoryContextAllocExtended call below.
1437 * We do that by "borrowing" the block offset field and instead of using
1438 * that to find the offset into the owning block, we use it to find the
1439 * original allocated address.
1440 *
1441 * Here we must allocate enough extra memory so that we can still align
1442 * the pointer returned by MemoryContextAllocExtended and also have enough
1443 * space for the redirection MemoryChunk. Since allocations will already
1444 * be at least aligned by MAXIMUM_ALIGNOF, we can subtract that amount
1445 * from the allocation size to save a little memory.
1446 */
1447 alloc_size = size + PallocAlignedExtraBytes(alignto);
1448
1449#ifdef MEMORY_CONTEXT_CHECKING
1450 /* ensure there's space for a sentinel byte */
1451 alloc_size += 1;
1452#endif
1453
1454 /* perform the actual allocation */
1455 unaligned = MemoryContextAllocExtended(context, alloc_size, flags);
1456
1457 /* set the aligned pointer */
1458 aligned = (void *) TYPEALIGN(alignto, (char *) unaligned +
1459 sizeof(MemoryChunk));
1460
1461 alignedchunk = PointerGetMemoryChunk(aligned);
1462
1463 /*
1464 * We set the redirect MemoryChunk so that the block offset calculation is
1465 * used to point back to the 'unaligned' allocated chunk. This allows us
1466 * to use MemoryChunkGetBlock() to find the unaligned chunk when we need
1467 * to perform operations such as pfree() and repalloc().
1468 *
1469 * We store 'alignto' in the MemoryChunk's 'value' so that we know what
1470 * the alignment was set to should we ever be asked to realloc this
1471 * pointer.
1472 */
1473 MemoryChunkSetHdrMask(alignedchunk, unaligned, alignto,
1475
1476 /* double check we produced a correctly aligned pointer */
1477 Assert((void *) TYPEALIGN(alignto, aligned) == aligned);
1478
1479#ifdef MEMORY_CONTEXT_CHECKING
1480 alignedchunk->requested_size = size;
1481 /* set mark to catch clobber of "unused" space */
1482 set_sentinel(aligned, size);
1483#endif
1484
1485 /* Mark the bytes before the redirection header as noaccess */
1487 (char *) alignedchunk - (char *) unaligned);
1488
1489 /* Disallow access to the redirection chunk header. */
1490 VALGRIND_MAKE_MEM_NOACCESS(alignedchunk, sizeof(MemoryChunk));
1491
1492 return aligned;
1493}
#define TYPEALIGN(ALIGNVAL, LEN)
Definition: c.h:761
#define unlikely(x)
Definition: c.h:333
size_t Size
Definition: c.h:562
void * MemoryContextAllocExtended(MemoryContext context, Size size, int flags)
Definition: mcxt.c:1238
#define PallocAlignedExtraBytes(alignto)
@ MCTX_ALIGNED_REDIRECT_ID
struct MemoryChunk MemoryChunk
#define PointerGetMemoryChunk(p)
static void MemoryChunkSetHdrMask(MemoryChunk *chunk, void *block, Size value, MemoryContextMethodID methodid)

References Assert, MCTX_ALIGNED_REDIRECT_ID, MemoryChunkSetHdrMask(), MemoryContextAllocExtended(), PallocAlignedExtraBytes, PointerGetMemoryChunk, size, TYPEALIGN, unlikely, and VALGRIND_MAKE_MEM_NOACCESS.

Referenced by AlignedAllocRealloc(), PageSetChecksumCopy(), palloc_aligned(), and smgr_bulk_get_buf().

◆ MemoryContextAllocationFailure()

void * MemoryContextAllocationFailure ( MemoryContext  context,
Size  size,
int  flags 
)

Definition at line 1147 of file mcxt.c.

1148{
1149 if ((flags & MCXT_ALLOC_NO_OOM) == 0)
1150 {
1151 if (TopMemoryContext)
1153 ereport(ERROR,
1154 (errcode(ERRCODE_OUT_OF_MEMORY),
1155 errmsg("out of memory"),
1156 errdetail("Failed on request of size %zu in memory context \"%s\".",
1157 size, context->name)));
1158 }
1159 return NULL;
1160}
int errdetail(const char *fmt,...)
Definition: elog.c:1203
int errcode(int sqlerrcode)
Definition: elog.c:853
int errmsg(const char *fmt,...)
Definition: elog.c:1070
#define ereport(elevel,...)
Definition: elog.h:149
#define MCXT_ALLOC_NO_OOM
Definition: fe_memutils.h:29
MemoryContext TopMemoryContext
Definition: mcxt.c:149
void MemoryContextStats(MemoryContext context)
Definition: mcxt.c:814
const char * name
Definition: memnodes.h:131

References ereport, errcode(), errdetail(), errmsg(), ERROR, MCXT_ALLOC_NO_OOM, MemoryContextStats(), MemoryContextData::name, size, and TopMemoryContext.

Referenced by AllocSetAllocFromNewBlock(), AllocSetAllocLarge(), AllocSetRealloc(), BumpAllocFromNewBlock(), GenerationAllocFromNewBlock(), GenerationAllocLarge(), GenerationRealloc(), and SlabAllocFromNewBlock().

◆ MemoryContextAllocExtended()

void * MemoryContextAllocExtended ( MemoryContext  context,
Size  size,
int  flags 
)

Definition at line 1238 of file mcxt.c.

1239{
1240 void *ret;
1241
1242 Assert(MemoryContextIsValid(context));
1244
1245 if (!((flags & MCXT_ALLOC_HUGE) != 0 ? AllocHugeSizeIsValid(size) :
1247 elog(ERROR, "invalid memory alloc request size %zu", size);
1248
1249 context->isReset = false;
1250
1251 ret = context->methods->alloc(context, size, flags);
1252 if (unlikely(ret == NULL))
1253 return NULL;
1254
1255 VALGRIND_MEMPOOL_ALLOC(context, ret, size);
1256
1257 if ((flags & MCXT_ALLOC_ZERO) != 0)
1258 MemSetAligned(ret, 0, size);
1259
1260 return ret;
1261}
#define MemSetAligned(start, val, len)
Definition: c.h:1007
#define MCXT_ALLOC_ZERO
Definition: fe_memutils.h:30
#define MCXT_ALLOC_HUGE
Definition: fe_memutils.h:28
#define AllocHugeSizeIsValid(size)
Definition: memutils.h:49
#define AllocSizeIsValid(size)
Definition: memutils.h:42

References MemoryContextMethods::alloc, AllocHugeSizeIsValid, AllocSizeIsValid, Assert, AssertNotInCriticalSection, elog, ERROR, MemoryContextData::isReset, MCXT_ALLOC_HUGE, MCXT_ALLOC_ZERO, MemoryContextIsValid, MemSetAligned, MemoryContextData::methods, size, unlikely, and VALGRIND_MEMPOOL_ALLOC.

Referenced by BackgroundWorkerStateChange(), DynaHashAlloc(), guc_malloc(), guc_realloc(), MemoryContextAllocAligned(), pagetable_allocate(), and RegisterBackgroundWorker().

◆ MemoryContextAllocHuge()

void * MemoryContextAllocHuge ( MemoryContext  context,
Size  size 
)

Definition at line 1640 of file mcxt.c.

1641{
1642 void *ret;
1643
1644 Assert(MemoryContextIsValid(context));
1646
1647 context->isReset = false;
1648
1649 /*
1650 * For efficiency reasons, we purposefully offload the handling of
1651 * allocation failures to the MemoryContextMethods implementation as this
1652 * allows these checks to be performed only when an actual malloc needs to
1653 * be done to request more memory from the OS. Additionally, not having
1654 * to execute any instructions after this call allows the compiler to use
1655 * the sibling call optimization. If you're considering adding code after
1656 * this call, consider making it the responsibility of the 'alloc'
1657 * function instead.
1658 */
1659 ret = context->methods->alloc(context, size, MCXT_ALLOC_HUGE);
1660
1661 VALGRIND_MEMPOOL_ALLOC(context, ret, size);
1662
1663 return ret;
1664}

References MemoryContextMethods::alloc, Assert, AssertNotInCriticalSection, MemoryContextData::isReset, MCXT_ALLOC_HUGE, MemoryContextIsValid, MemoryContextData::methods, size, and VALGRIND_MEMPOOL_ALLOC.

Referenced by perform_default_encoding_conversion(), pg_buffercache_pages(), pg_do_encoding_conversion(), and pgstat_read_current_status().

◆ MemoryContextAllocZero()

void * MemoryContextAllocZero ( MemoryContext  context,
Size  size 
)

Definition at line 1215 of file mcxt.c.

1216{
1217 void *ret;
1218
1219 Assert(MemoryContextIsValid(context));
1221
1222 context->isReset = false;
1223
1224 ret = context->methods->alloc(context, size, 0);
1225
1226 VALGRIND_MEMPOOL_ALLOC(context, ret, size);
1227
1228 MemSetAligned(ret, 0, size);
1229
1230 return ret;
1231}

References MemoryContextMethods::alloc, Assert, AssertNotInCriticalSection, MemoryContextData::isReset, MemoryContextIsValid, MemSetAligned, MemoryContextData::methods, size, and VALGRIND_MEMPOOL_ALLOC.

Referenced by add_tabstat_xact_level(), AllocateAttribute(), array_set_element_expanded(), AttrDefaultFetch(), CheckConstraintFetch(), ClientAuthentication(), create_pg_locale_builtin(), create_pg_locale_icu(), create_pg_locale_libc(), CreatePortal(), CreateWaitEventSet(), DCH_cache_getnew(), do_compile(), ensure_record_cache_typmod_slot_exists(), ExecHashBuildSkewHash(), ExecParallelRetrieveJitInstrumentation(), expandColorTrigrams(), fmgr_security_definer(), gistAllocateNewPageBuffer(), index_form_tuple_context(), init_MultiFuncCall(), initArrayResultArr(), InitializeSession(), InitXLogInsert(), json_populate_type(), llvm_create_context(), load_relcache_init_file(), LookupOpclassInfo(), LWLockRegisterTranche(), make_expanded_record_from_datum(), newLOfd(), NUM_cache_getnew(), pg_decode_begin_prepare_txn(), pg_decode_begin_txn(), pg_decode_stream_start(), pgoutput_begin_txn(), pgstat_prep_pending_entry(), pgstat_register_kind(), PLy_exec_function(), PLy_function_save_args(), PLy_input_setup_func(), PLy_input_setup_tuple(), PLy_output_setup_func(), PLy_output_setup_tuple(), populate_record_worker(), populate_recordset_worker(), prepare_column_cache(), PrepareInvalidationState(), push_old_value(), PushTransaction(), px_find_cipher(), RehashCatCache(), RehashCatCacheLists(), RelationBuildPartitionDesc(), RelationBuildPartitionKey(), RelationBuildRowSecurity(), RelationBuildTupleDesc(), RelationInitIndexAccessInfo(), ReorderBufferCopySnap(), ReorderBufferIterTXNInit(), ReorderBufferRestoreChange(), ResourceOwnerCreate(), ResourceOwnerEnlarge(), satisfies_hash_partition(), SearchCatCacheList(), secure_open_gssapi(), SetConstraintStateCreate(), setop_fill_hash_table(), SnapBuildBuildSnapshot(), SnapBuildRestoreSnapshot(), spgGetCache(), sts_puttuple(), ts_accum(), ts_stat_sql(), and WinGetPartitionLocalMemory().

◆ MemoryContextAllowInCriticalSection()

void MemoryContextAllowInCriticalSection ( MemoryContext  context,
bool  allow 
)

Definition at line 694 of file mcxt.c.

695{
697
698 context->allowInCritSection = allow;
699}
bool allowInCritSection
Definition: memnodes.h:124

References MemoryContextData::allowInCritSection, Assert, and MemoryContextIsValid.

Referenced by InitSync(), MemoryContextInit(), and XLOGShmemInit().

◆ MemoryContextCallResetCallbacks()

static void MemoryContextCallResetCallbacks ( MemoryContext  context)
static

Definition at line 585 of file mcxt.c.

586{
588
589 /*
590 * We pop each callback from the list before calling. That way, if an
591 * error occurs inside the callback, we won't try to call it a second time
592 * in the likely event that we reset or delete the context later.
593 */
594 while ((cb = context->reset_cbs) != NULL)
595 {
596 context->reset_cbs = cb->next;
597 cb->func(cb->arg);
598 }
599}
struct MemoryContextCallback * next
Definition: palloc.h:51
MemoryContextCallbackFunction func
Definition: palloc.h:49
MemoryContextCallback * reset_cbs
Definition: memnodes.h:133

References MemoryContextCallback::arg, MemoryContextCallback::func, MemoryContextCallback::next, and MemoryContextData::reset_cbs.

Referenced by MemoryContextDeleteOnly(), and MemoryContextResetOnly().

◆ MemoryContextCreate()

void MemoryContextCreate ( MemoryContext  node,
NodeTag  tag,
MemoryContextMethodID  method_id,
MemoryContext  parent,
const char *  name 
)

Definition at line 1100 of file mcxt.c.

1105{
1106 /* Creating new memory contexts is not allowed in a critical section */
1108
1109 /* Initialize all standard fields of memory context header */
1110 node->type = tag;
1111 node->isReset = true;
1112 node->methods = &mcxt_methods[method_id];
1113 node->parent = parent;
1114 node->firstchild = NULL;
1115 node->mem_allocated = 0;
1116 node->prevchild = NULL;
1117 node->name = name;
1118 node->ident = NULL;
1119 node->reset_cbs = NULL;
1120
1121 /* OK to link node into context tree */
1122 if (parent)
1123 {
1124 node->nextchild = parent->firstchild;
1125 if (parent->firstchild != NULL)
1126 parent->firstchild->prevchild = node;
1127 parent->firstchild = node;
1128 /* inherit allowInCritSection flag from parent */
1129 node->allowInCritSection = parent->allowInCritSection;
1130 }
1131 else
1132 {
1133 node->nextchild = NULL;
1134 node->allowInCritSection = false;
1135 }
1136
1137 VALGRIND_CREATE_MEMPOOL(node, 0, false);
1138}
volatile uint32 CritSectionCount
Definition: globals.c:44
static const MemoryContextMethods mcxt_methods[]
Definition: mcxt.c:46
#define VALGRIND_CREATE_MEMPOOL(context, redzones, zeroed)
Definition: memdebug.h:24
MemoryContext prevchild
Definition: memnodes.h:129
MemoryContext firstchild
Definition: memnodes.h:128
const char * ident
Definition: memnodes.h:132
MemoryContext parent
Definition: memnodes.h:127
MemoryContext nextchild
Definition: memnodes.h:130
const char * name

References MemoryContextData::allowInCritSection, Assert, CritSectionCount, MemoryContextData::firstchild, MemoryContextData::ident, MemoryContextData::isReset, mcxt_methods, MemoryContextData::mem_allocated, MemoryContextData::methods, name, MemoryContextData::name, MemoryContextData::nextchild, MemoryContextData::parent, MemoryContextData::prevchild, MemoryContextData::reset_cbs, and VALGRIND_CREATE_MEMPOOL.

Referenced by AllocSetContextCreateInternal(), BumpContextCreate(), GenerationContextCreate(), and SlabContextCreate().

◆ MemoryContextDelete()

void MemoryContextDelete ( MemoryContext  context)

Definition at line 454 of file mcxt.c.

455{
456 MemoryContext curr;
457
459
460 /*
461 * Delete subcontexts from the bottom up.
462 *
463 * Note: Do not use recursion here. A "stack depth limit exceeded" error
464 * would be unpleasant if we're already in the process of cleaning up from
465 * transaction abort. We also cannot use MemoryContextTraverseNext() here
466 * because we modify the tree as we go.
467 */
468 curr = context;
469 for (;;)
470 {
471 MemoryContext parent;
472
473 /* Descend down until we find a leaf context with no children */
474 while (curr->firstchild != NULL)
475 curr = curr->firstchild;
476
477 /*
478 * We're now at a leaf with no children. Free it and continue from the
479 * parent. Or if this was the original node, we're all done.
480 */
481 parent = curr->parent;
483
484 if (curr == context)
485 break;
486 curr = parent;
487 }
488}
static void MemoryContextDeleteOnly(MemoryContext context)
Definition: mcxt.c:496

References Assert, MemoryContextData::firstchild, MemoryContextDeleteOnly(), MemoryContextIsValid, and MemoryContextData::parent.

Referenced by _brin_parallel_merge(), AfterTriggerEndXact(), afterTriggerInvokeEvents(), ApplyLauncherMain(), AtEOSubXact_SPI(), AtEOXact_LargeObject(), AtSubCleanup_Memory(), AtSubCommit_Memory(), AttachPartitionEnsureIndexes(), autovacuum_do_vac_analyze(), AutoVacWorkerMain(), AuxiliaryProcessMainCommon(), BackgroundWorkerMain(), blbuild(), blinsert(), brin_free_desc(), brin_minmax_multi_union(), bringetbitmap(), brininsert(), bt_check_every_level(), btendscan(), btree_xlog_cleanup(), btvacuumscan(), BuildParamLogString(), BuildRelationExtStatistics(), CloneRowTriggersToPartition(), cluster(), compactify_ranges(), compile_plperl_function(), compile_pltcl_function(), compute_expr_stats(), compute_index_stats(), ComputeExtStatisticsRows(), createTrgmNFA(), CreateTriggerFiringOn(), daitch_mokotoff(), decr_dcc_refcount(), DeleteExpandedObject(), DiscreteKnapsack(), do_analyze_rel(), do_start_worker(), DoCopyTo(), DropCachedPlan(), each_worker(), each_worker_jsonb(), elements_worker(), elements_worker_jsonb(), end_heap_rewrite(), EndCopy(), EndCopyFrom(), ensure_free_space_in_buffer(), EventTriggerEndCompleteQuery(), EventTriggerInvoke(), exec_replication_command(), exec_simple_query(), ExecEndAgg(), ExecEndMemoize(), ExecEndRecursiveUnion(), ExecEndSetOp(), ExecEndWindowAgg(), ExecHashTableDestroy(), execute_sql_string(), ExecVacuum(), file_acquire_sample_rows(), fill_hba_view(), fill_ident_view(), fmgr_sql(), free_auth_file(), free_plperl_function(), FreeCachedExpression(), FreeDecodingContext(), FreeExecutorState(), FreeExprContext(), freeGISTstate(), FreeSnapshotBuilder(), geqo_eval(), get_actual_variable_range(), get_rel_sync_entry(), GetWALRecordsInfo(), GetXLogSummaryStats(), gin_xlog_cleanup(), ginbuild(), ginbulkdelete(), ginendscan(), gininsert(), ginInsertCleanup(), ginPlaceToPage(), gist_xlog_cleanup(), gistbuild(), gistvacuumscan(), hash_destroy(), inline_function(), inline_set_returning_function(), libpqrcv_processTuples(), load_hba(), load_ident(), load_tzoffsets(), makeArrayResultArr(), makeMdArrayResult(), MemoryContextDeleteChildren(), NIFinishBuild(), pg_backup_stop(), pg_decode_shutdown(), pg_get_wal_block_info(), pgstat_clear_backend_activity_snapshot(), pgstat_clear_snapshot(), plperl_spi_freeplan(), plperl_spi_prepare(), plpgsql_free_function_memory(), pltcl_handler(), pltcl_SPI_prepare(), PLy_cursor_dealloc(), PLy_cursor_plan(), PLy_plan_dealloc(), PLy_pop_execution_context(), PLy_procedure_delete(), PLy_spi_execute_fetch_result(), PLy_spi_execute_plan(), PortalDrop(), PostgresMain(), printtup_shutdown(), ProcessConfigFile(), publicationListToArray(), RE_compile_and_cache(), rebuild_database_list(), ReindexMultipleTables(), ReindexPartitions(), ReindexRelationConcurrently(), RelationBuildDesc(), RelationBuildRuleLock(), RelationDestroyRelation(), ReleaseCachedPlan(), ReorderBufferFree(), ResetUnloggedRelations(), RevalidateCachedQuery(), serializeAnalyzeShutdown(), shdepReassignOwned(), shutdown_MultiFuncCall(), spg_xlog_cleanup(), spgbuild(), spgendscan(), spginsert(), SPI_finish(), SPI_freeplan(), SPI_freetuptable(), statext_dependencies_build(), strlist_to_textarray(), SysLoggerMain(), test_pattern(), TidStoreDestroy(), tokenize_auth_file(), tuplesort_end(), tuplestore_end(), union_tuples(), UploadManifest(), and validateForeignKeyConstraint().

◆ MemoryContextDeleteChildren()

void MemoryContextDeleteChildren ( MemoryContext  context)

Definition at line 539 of file mcxt.c.

540{
542
543 /*
544 * MemoryContextDelete will delink the child from me, so just iterate as
545 * long as there is a child.
546 */
547 while (context->firstchild != NULL)
549}
void MemoryContextDelete(MemoryContext context)
Definition: mcxt.c:454

References Assert, MemoryContextData::firstchild, MemoryContextDelete(), and MemoryContextIsValid.

Referenced by AtAbort_Portals(), AtSubAbort_Portals(), exec_stmt_block(), MemoryContextReset(), PersistHoldablePortal(), PortalRunMulti(), and RelationCloseCleanup().

◆ MemoryContextDeleteOnly()

static void MemoryContextDeleteOnly ( MemoryContext  context)
static

Definition at line 496 of file mcxt.c.

497{
499 /* We had better not be deleting TopMemoryContext ... */
500 Assert(context != TopMemoryContext);
501 /* And not CurrentMemoryContext, either */
502 Assert(context != CurrentMemoryContext);
503 /* All the children should've been deleted already */
504 Assert(context->firstchild == NULL);
505
506 /*
507 * It's not entirely clear whether 'tis better to do this before or after
508 * delinking the context; but an error in a callback will likely result in
509 * leaking the whole context (if it's not a root context) if we do it
510 * after, so let's do it before.
511 */
513
514 /*
515 * We delink the context from its parent before deleting it, so that if
516 * there's an error we won't have deleted/busted contexts still attached
517 * to the context tree. Better a leak than a crash.
518 */
519 MemoryContextSetParent(context, NULL);
520
521 /*
522 * Also reset the context's ident pointer, in case it points into the
523 * context. This would only matter if someone tries to get stats on the
524 * (already unlinked) context, which is unlikely, but let's be safe.
525 */
526 context->ident = NULL;
527
528 context->methods->delete_context(context);
529
531}
static void MemoryContextCallResetCallbacks(MemoryContext context)
Definition: mcxt.c:585
void MemoryContextSetParent(MemoryContext context, MemoryContext new_parent)
Definition: mcxt.c:637
MemoryContext CurrentMemoryContext
Definition: mcxt.c:143
#define VALGRIND_DESTROY_MEMPOOL(context)
Definition: memdebug.h:25
void(* delete_context)(MemoryContext context)
Definition: memnodes.h:86

References Assert, CurrentMemoryContext, MemoryContextMethods::delete_context, MemoryContextData::firstchild, MemoryContextData::ident, MemoryContextCallResetCallbacks(), MemoryContextIsValid, MemoryContextSetParent(), MemoryContextData::methods, TopMemoryContext, and VALGRIND_DESTROY_MEMPOOL.

Referenced by MemoryContextDelete().

◆ MemoryContextGetParent()

MemoryContext MemoryContextGetParent ( MemoryContext  context)

◆ MemoryContextInit()

void MemoryContextInit ( void  )

Definition at line 339 of file mcxt.c.

340{
341 Assert(TopMemoryContext == NULL);
342
343 /*
344 * First, initialize TopMemoryContext, which is the parent of all others.
345 */
347 "TopMemoryContext",
349
350 /*
351 * Not having any other place to point CurrentMemoryContext, make it point
352 * to TopMemoryContext. Caller should change this soon!
353 */
355
356 /*
357 * Initialize ErrorContext as an AllocSetContext with slow growth rate ---
358 * we don't really expect much to be allocated in it. More to the point,
359 * require it to contain at least 8K at all times. This is the only case
360 * where retained memory in a context is *essential* --- we want to be
361 * sure ErrorContext still has some memory even if we've run out
362 * elsewhere! Also, allow allocations in ErrorContext within a critical
363 * section. Otherwise a PANIC will cause an assertion failure in the error
364 * reporting code, before printing out the real cause of the failure.
365 *
366 * This should be the last step in this function, as elog.c assumes memory
367 * management works once ErrorContext is non-null.
368 */
370 "ErrorContext",
371 8 * 1024,
372 8 * 1024,
373 8 * 1024);
375}
MemoryContext ErrorContext
Definition: mcxt.c:150
void MemoryContextAllowInCriticalSection(MemoryContext context, bool allow)
Definition: mcxt.c:694
#define AllocSetContextCreate
Definition: memutils.h:129
#define ALLOCSET_DEFAULT_SIZES
Definition: memutils.h:160

References ALLOCSET_DEFAULT_SIZES, AllocSetContextCreate, Assert, CurrentMemoryContext, ErrorContext, MemoryContextAllowInCriticalSection(), and TopMemoryContext.

Referenced by main().

◆ MemoryContextIsEmpty()

bool MemoryContextIsEmpty ( MemoryContext  context)

Definition at line 743 of file mcxt.c.

744{
746
747 /*
748 * For now, we consider a memory context nonempty if it has any children;
749 * perhaps this should be changed later.
750 */
751 if (context->firstchild != NULL)
752 return false;
753 /* Otherwise use the type-specific inquiry */
754 return context->methods->is_empty(context);
755}
bool(* is_empty)(MemoryContext context)
Definition: memnodes.h:101

References Assert, MemoryContextData::firstchild, MemoryContextMethods::is_empty, MemoryContextIsValid, and MemoryContextData::methods.

Referenced by AtSubCommit_Memory().

◆ MemoryContextMemAllocated()

Size MemoryContextMemAllocated ( MemoryContext  context,
bool  recurse 
)

Definition at line 762 of file mcxt.c.

763{
764 Size total = context->mem_allocated;
765
767
768 if (recurse)
769 {
770 for (MemoryContext curr = context->firstchild;
771 curr != NULL;
772 curr = MemoryContextTraverseNext(curr, context))
773 {
774 total += curr->mem_allocated;
775 }
776 }
777
778 return total;
779}
static MemoryContext MemoryContextTraverseNext(MemoryContext curr, MemoryContext top)
Definition: mcxt.c:257

References Assert, MemoryContextData::firstchild, MemoryContextData::mem_allocated, MemoryContextIsValid, and MemoryContextTraverseNext().

Referenced by hash_agg_check_limits(), hash_agg_update_metrics(), and RT_MEMORY_USAGE().

◆ MemoryContextMemConsumed()

void MemoryContextMemConsumed ( MemoryContext  context,
MemoryContextCounters consumed 
)

Definition at line 786 of file mcxt.c.

788{
790
791 memset(consumed, 0, sizeof(*consumed));
792
793 /* Examine the context itself */
794 context->methods->stats(context, NULL, NULL, consumed, false);
795
796 /* Examine children, using iteration not recursion */
797 for (MemoryContext curr = context->firstchild;
798 curr != NULL;
799 curr = MemoryContextTraverseNext(curr, context))
800 {
801 curr->methods->stats(curr, NULL, NULL, consumed, false);
802 }
803}
void(* stats)(MemoryContext context, MemoryStatsPrintFunc printfunc, void *passthru, MemoryContextCounters *totals, bool print_to_stderr)
Definition: memnodes.h:102

References Assert, MemoryContextData::firstchild, MemoryContextIsValid, MemoryContextTraverseNext(), MemoryContextData::methods, and MemoryContextMethods::stats.

Referenced by ExplainExecuteQuery(), and standard_ExplainOneQuery().

◆ MemoryContextRegisterResetCallback()

void MemoryContextRegisterResetCallback ( MemoryContext  context,
MemoryContextCallback cb 
)

Definition at line 568 of file mcxt.c.

570{
572
573 /* Push onto head so this will be called before older registrants. */
574 cb->next = context->reset_cbs;
575 context->reset_cbs = cb;
576 /* Mark the context as non-reset (it probably is already). */
577 context->isReset = false;
578}

References Assert, MemoryContextData::isReset, MemoryContextIsValid, MemoryContextCallback::next, and MemoryContextData::reset_cbs.

Referenced by expanded_record_fetch_tupdesc(), InitDomainConstraintRef(), make_expanded_record_from_exprecord(), make_expanded_record_from_tupdesc(), make_expanded_record_from_typeid(), and PLy_exec_function().

◆ MemoryContextReset()

void MemoryContextReset ( MemoryContext  context)

Definition at line 383 of file mcxt.c.

384{
386
387 /* save a function call in common case where there are no children */
388 if (context->firstchild != NULL)
390
391 /* save a function call if no pallocs since startup or last reset */
392 if (!context->isReset)
393 MemoryContextResetOnly(context);
394}
void MemoryContextDeleteChildren(MemoryContext context)
Definition: mcxt.c:539
void MemoryContextResetOnly(MemoryContext context)
Definition: mcxt.c:402

References Assert, MemoryContextData::firstchild, MemoryContextData::isReset, MemoryContextDeleteChildren(), MemoryContextIsValid, and MemoryContextResetOnly().

Referenced by _brin_parallel_merge(), _bt_preprocess_array_keys(), _SPI_end_call(), AfterTriggerExecute(), apply_spooled_messages(), AtCleanup_Memory(), AtCommit_Memory(), AtEOSubXact_SPI(), AtSubCleanup_Memory(), BackgroundWriterMain(), bloomBuildCallback(), brin_memtuple_initialize(), bringetbitmap(), brininsert(), bt_check_level_from_leftmost(), btree_redo(), btvacuumpage(), BuildEventTriggerCache(), BuildRelationExtStatistics(), buildSubPlanHash(), cache_purge_all(), check_domain_for_new_field(), check_domain_for_new_tuple(), CheckpointerMain(), CloneRowTriggersToPartition(), compute_expr_stats(), compute_index_stats(), CopyOneRowTo(), CreateTriggerFiringOn(), do_analyze_rel(), do_autovacuum(), dumptuples(), each_object_field_end(), each_worker_jsonb(), elements_array_element_end(), elements_worker_jsonb(), errstart(), eval_windowaggregates(), EventTriggerInvoke(), exec_dynquery_with_params(), exec_stmt_block(), exec_stmt_dynexecute(), exec_stmt_forc(), exec_stmt_foreach_a(), exec_stmt_open(), exec_stmt_raise(), exec_stmt_return_query(), ExecFindMatchingSubPlans(), ExecHashTableReset(), ExecMakeTableFunctionResult(), ExecProjectSet(), ExecQualAndReset(), ExecRecursiveUnion(), ExecReScanRecursiveUnion(), ExecReScanSetOp(), execTuplesUnequal(), execute_foreign_modify(), expanded_record_set_field_internal(), expanded_record_set_tuple(), fetch_more_data(), file_acquire_sample_rows(), FlushErrorState(), get_rel_sync_entry(), get_short_term_cxt(), GetWALRecordsInfo(), GetXLogSummaryStats(), gin_redo(), ginBuildCallback(), ginFreeScanKeys(), ginHeapTupleBulkInsert(), ginInsertCleanup(), ginVacuumPostingTreeLeaves(), gist_indexsortbuild(), gist_redo(), gistBuildCallback(), gistgetbitmap(), gistgettuple(), gistinsert(), gistProcessEmptyingQueue(), gistrescan(), gistScanPage(), gistSortedBuildCallback(), HandleParallelApplyMessages(), HandleParallelMessages(), heapam_index_build_range_scan(), heapam_index_validate_scan(), IndexCheckExclusion(), initialize_windowaggregate(), InvalidateEventCacheCallback(), keyGetItem(), libpqrcv_processTuples(), LogicalParallelApplyLoop(), LogicalRepApplyLoop(), lookup_ts_dictionary_cache(), make_tuple_from_result_row(), perform_work_item(), pg_backup_start(), pg_decode_change(), pg_decode_truncate(), pg_get_wal_block_info(), pgarch_archiveXlog(), pgoutput_change(), pgoutput_truncate(), plperl_return_next_internal(), PLy_input_convert(), PLy_input_from_tuple(), PostgresMain(), printtup(), process_ordered_aggregate_single(), release_partition(), ReScanExprContext(), resetSpGistScanOpaque(), RT_FREE(), scanPendingInsert(), sepgsql_avc_reset(), serializeAnalyzeReceive(), spcache_init(), spg_redo(), spginsert(), spgistBuildCallback(), spgWalk(), startScanKey(), statext_dependencies_build(), storeRow(), stream_stop_internal(), tfuncFetchRows(), tfuncLoadRows(), tuplesort_free(), tuplestore_clear(), validateForeignKeyConstraint(), WalSummarizerMain(), and WalWriterMain().

◆ MemoryContextResetChildren()

void MemoryContextResetChildren ( MemoryContext  context)

Definition at line 433 of file mcxt.c.

434{
436
437 for (MemoryContext curr = context->firstchild;
438 curr != NULL;
439 curr = MemoryContextTraverseNext(curr, context))
440 {
442 }
443}

References Assert, MemoryContextData::firstchild, MemoryContextIsValid, MemoryContextResetOnly(), and MemoryContextTraverseNext().

◆ MemoryContextResetOnly()

void MemoryContextResetOnly ( MemoryContext  context)

Definition at line 402 of file mcxt.c.

403{
405
406 /* Nothing to do if no pallocs since startup or last reset */
407 if (!context->isReset)
408 {
410
411 /*
412 * If context->ident points into the context's memory, it will become
413 * a dangling pointer. We could prevent that by setting it to NULL
414 * here, but that would break valid coding patterns that keep the
415 * ident elsewhere, e.g. in a parent context. So for now we assume
416 * the programmer got it right.
417 */
418
419 context->methods->reset(context);
420 context->isReset = true;
422 VALGRIND_CREATE_MEMPOOL(context, 0, false);
423 }
424}
void(* reset)(MemoryContext context)
Definition: memnodes.h:83

References Assert, MemoryContextData::isReset, MemoryContextCallResetCallbacks(), MemoryContextIsValid, MemoryContextData::methods, MemoryContextMethods::reset, VALGRIND_CREATE_MEMPOOL, and VALGRIND_DESTROY_MEMPOOL.

Referenced by AllocSetDelete(), JsonTableResetRowPattern(), MemoryContextReset(), MemoryContextResetChildren(), and mergeruns().

◆ MemoryContextSetIdentifier()

◆ MemoryContextSetParent()

void MemoryContextSetParent ( MemoryContext  context,
MemoryContext  new_parent 
)

Definition at line 637 of file mcxt.c.

638{
640 Assert(context != new_parent);
641
642 /* Fast path if it's got correct parent already */
643 if (new_parent == context->parent)
644 return;
645
646 /* Delink from existing parent, if any */
647 if (context->parent)
648 {
649 MemoryContext parent = context->parent;
650
651 if (context->prevchild != NULL)
652 context->prevchild->nextchild = context->nextchild;
653 else
654 {
655 Assert(parent->firstchild == context);
656 parent->firstchild = context->nextchild;
657 }
658
659 if (context->nextchild != NULL)
660 context->nextchild->prevchild = context->prevchild;
661 }
662
663 /* And relink */
664 if (new_parent)
665 {
666 Assert(MemoryContextIsValid(new_parent));
667 context->parent = new_parent;
668 context->prevchild = NULL;
669 context->nextchild = new_parent->firstchild;
670 if (new_parent->firstchild != NULL)
671 new_parent->firstchild->prevchild = context;
672 new_parent->firstchild = context;
673 }
674 else
675 {
676 context->parent = NULL;
677 context->prevchild = NULL;
678 context->nextchild = NULL;
679 }
680}

References Assert, MemoryContextData::firstchild, MemoryContextIsValid, MemoryContextData::nextchild, MemoryContextData::parent, and MemoryContextData::prevchild.

Referenced by _SPI_save_plan(), CachedPlanSetParentContext(), CompleteCachedPlan(), exec_parse_message(), GetCachedExpression(), GetCachedPlan(), load_domaintype_info(), MemoryContextDeleteOnly(), RE_compile_and_cache(), RelationBuildPartitionDesc(), RelationBuildPartitionKey(), RelationBuildRowSecurity(), RelationRebuildRelation(), RevalidateCachedQuery(), SaveCachedPlan(), SPI_keepplan(), TransferExpandedObject(), and UploadManifest().

◆ MemoryContextSizeFailure()

void MemoryContextSizeFailure ( MemoryContext  context,
Size  size,
int  flags 
)

Definition at line 1168 of file mcxt.c.

1169{
1170 elog(ERROR, "invalid memory alloc request size %zu", size);
1171}

References elog, ERROR, and size.

Referenced by MemoryContextCheckSize().

◆ MemoryContextStats()

void MemoryContextStats ( MemoryContext  context)

Definition at line 814 of file mcxt.c.

815{
816 /* Hard-wired limits are usually good enough */
817 MemoryContextStatsDetail(context, 100, 100, true);
818}
void MemoryContextStatsDetail(MemoryContext context, int max_level, int max_children, bool print_to_stderr)
Definition: mcxt.c:829

References MemoryContextStatsDetail().

Referenced by AllocSetContextCreateInternal(), BumpContextCreate(), finish_xact_command(), GenerationContextCreate(), MemoryContextAllocationFailure(), SlabContextCreate(), and test_pattern().

◆ MemoryContextStatsDetail()

void MemoryContextStatsDetail ( MemoryContext  context,
int  max_level,
int  max_children,
bool  print_to_stderr 
)

Definition at line 829 of file mcxt.c.

832{
833 MemoryContextCounters grand_totals;
834
835 memset(&grand_totals, 0, sizeof(grand_totals));
836
837 MemoryContextStatsInternal(context, 0, max_level, max_children,
838 &grand_totals, print_to_stderr);
839
840 if (print_to_stderr)
841 fprintf(stderr,
842 "Grand total: %zu bytes in %zu blocks; %zu free (%zu chunks); %zu used\n",
843 grand_totals.totalspace, grand_totals.nblocks,
844 grand_totals.freespace, grand_totals.freechunks,
845 grand_totals.totalspace - grand_totals.freespace);
846 else
847 {
848 /*
849 * Use LOG_SERVER_ONLY to prevent the memory contexts from being sent
850 * to the connected client.
851 *
852 * We don't buffer the information about all memory contexts in a
853 * backend into StringInfo and log it as one message. That would
854 * require the buffer to be enlarged, risking an OOM as there could be
855 * a large number of memory contexts in a backend. Instead, we log
856 * one message per memory context.
857 */
859 (errhidestmt(true),
860 errhidecontext(true),
861 errmsg_internal("Grand total: %zu bytes in %zu blocks; %zu free (%zu chunks); %zu used",
862 grand_totals.totalspace, grand_totals.nblocks,
863 grand_totals.freespace, grand_totals.freechunks,
864 grand_totals.totalspace - grand_totals.freespace)));
865 }
866}
#define fprintf(file, fmt, msg)
Definition: cubescan.l:21
int errmsg_internal(const char *fmt,...)
Definition: elog.c:1157
int errhidestmt(bool hide_stmt)
Definition: elog.c:1411
int errhidecontext(bool hide_ctx)
Definition: elog.c:1430
#define LOG_SERVER_ONLY
Definition: elog.h:32
static void MemoryContextStatsInternal(MemoryContext context, int level, int max_level, int max_children, MemoryContextCounters *totals, bool print_to_stderr)
Definition: mcxt.c:876

References ereport, errhidecontext(), errhidestmt(), errmsg_internal(), fprintf, MemoryContextCounters::freechunks, MemoryContextCounters::freespace, LOG_SERVER_ONLY, MemoryContextStatsInternal(), MemoryContextCounters::nblocks, and MemoryContextCounters::totalspace.

Referenced by MemoryContextStats(), and ProcessLogMemoryContextInterrupt().

◆ MemoryContextStatsInternal()

static void MemoryContextStatsInternal ( MemoryContext  context,
int  level,
int  max_level,
int  max_children,
MemoryContextCounters totals,
bool  print_to_stderr 
)
static

Definition at line 876 of file mcxt.c.

880{
881 MemoryContext child;
882 int ichild;
883
885
886 /* Examine the context itself */
887 context->methods->stats(context,
889 &level,
890 totals, print_to_stderr);
891
892 /*
893 * Examine children.
894 *
895 * If we are past the recursion depth limit or already running low on
896 * stack, do not print them explicitly but just summarize them. Similarly,
897 * if there are more than max_children of them, we do not print the rest
898 * explicitly, but just summarize them.
899 */
900 child = context->firstchild;
901 ichild = 0;
902 if (level < max_level && !stack_is_too_deep())
903 {
904 for (; child != NULL && ichild < max_children;
905 child = child->nextchild, ichild++)
906 {
907 MemoryContextStatsInternal(child, level + 1,
908 max_level, max_children,
909 totals,
910 print_to_stderr);
911 }
912 }
913
914 if (child != NULL)
915 {
916 /* Summarize the rest of the children, avoiding recursion. */
917 MemoryContextCounters local_totals;
918
919 memset(&local_totals, 0, sizeof(local_totals));
920
921 ichild = 0;
922 while (child != NULL)
923 {
924 child->methods->stats(child, NULL, NULL, &local_totals, false);
925 ichild++;
926 child = MemoryContextTraverseNext(child, context);
927 }
928
929 if (print_to_stderr)
930 {
931 for (int i = 0; i <= level; i++)
932 fprintf(stderr, " ");
933 fprintf(stderr,
934 "%d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used\n",
935 ichild,
936 local_totals.totalspace,
937 local_totals.nblocks,
938 local_totals.freespace,
939 local_totals.freechunks,
940 local_totals.totalspace - local_totals.freespace);
941 }
942 else
944 (errhidestmt(true),
945 errhidecontext(true),
946 errmsg_internal("level: %d; %d more child contexts containing %zu total in %zu blocks; %zu free (%zu chunks); %zu used",
947 level,
948 ichild,
949 local_totals.totalspace,
950 local_totals.nblocks,
951 local_totals.freespace,
952 local_totals.freechunks,
953 local_totals.totalspace - local_totals.freespace)));
954
955 if (totals)
956 {
957 totals->nblocks += local_totals.nblocks;
958 totals->freechunks += local_totals.freechunks;
959 totals->totalspace += local_totals.totalspace;
960 totals->freespace += local_totals.freespace;
961 }
962 }
963}
int i
Definition: isn.c:72
static void MemoryContextStatsPrint(MemoryContext context, void *passthru, const char *stats_string, bool print_to_stderr)
Definition: mcxt.c:973
bool stack_is_too_deep(void)
Definition: stack_depth.c:109

References Assert, ereport, errhidecontext(), errhidestmt(), errmsg_internal(), MemoryContextData::firstchild, fprintf, MemoryContextCounters::freechunks, MemoryContextCounters::freespace, i, LOG_SERVER_ONLY, MemoryContextIsValid, MemoryContextStatsInternal(), MemoryContextStatsPrint(), MemoryContextTraverseNext(), MemoryContextData::methods, MemoryContextCounters::nblocks, MemoryContextData::nextchild, stack_is_too_deep(), MemoryContextMethods::stats, and MemoryContextCounters::totalspace.

Referenced by MemoryContextStatsDetail(), and MemoryContextStatsInternal().

◆ MemoryContextStatsPrint()

static void MemoryContextStatsPrint ( MemoryContext  context,
void *  passthru,
const char *  stats_string,
bool  print_to_stderr 
)
static

Definition at line 973 of file mcxt.c.

976{
977 int level = *(int *) passthru;
978 const char *name = context->name;
979 const char *ident = context->ident;
980 char truncated_ident[110];
981 int i;
982
983 /*
984 * It seems preferable to label dynahash contexts with just the hash table
985 * name. Those are already unique enough, so the "dynahash" part isn't
986 * very helpful, and this way is more consistent with pre-v11 practice.
987 */
988 if (ident && strcmp(name, "dynahash") == 0)
989 {
990 name = ident;
991 ident = NULL;
992 }
993
994 truncated_ident[0] = '\0';
995
996 if (ident)
997 {
998 /*
999 * Some contexts may have very long identifiers (e.g., SQL queries).
1000 * Arbitrarily truncate at 100 bytes, but be careful not to break
1001 * multibyte characters. Also, replace ASCII control characters, such
1002 * as newlines, with spaces.
1003 */
1004 int idlen = strlen(ident);
1005 bool truncated = false;
1006
1007 strcpy(truncated_ident, ": ");
1008 i = strlen(truncated_ident);
1009
1010 if (idlen > 100)
1011 {
1012 idlen = pg_mbcliplen(ident, idlen, 100);
1013 truncated = true;
1014 }
1015
1016 while (idlen-- > 0)
1017 {
1018 unsigned char c = *ident++;
1019
1020 if (c < ' ')
1021 c = ' ';
1022 truncated_ident[i++] = c;
1023 }
1024 truncated_ident[i] = '\0';
1025
1026 if (truncated)
1027 strcat(truncated_ident, "...");
1028 }
1029
1030 if (print_to_stderr)
1031 {
1032 for (i = 0; i < level; i++)
1033 fprintf(stderr, " ");
1034 fprintf(stderr, "%s: %s%s\n", name, stats_string, truncated_ident);
1035 }
1036 else
1038 (errhidestmt(true),
1039 errhidecontext(true),
1040 errmsg_internal("level: %d; %s: %s%s",
1041 level, name, stats_string, truncated_ident)));
1042}
#define ident
Definition: indent_codes.h:47
int pg_mbcliplen(const char *mbstr, int len, int limit)
Definition: mbutils.c:1083
char * c

References ereport, errhidecontext(), errhidestmt(), errmsg_internal(), fprintf, i, MemoryContextData::ident, ident, LOG_SERVER_ONLY, name, MemoryContextData::name, and pg_mbcliplen().

Referenced by MemoryContextStatsInternal().

◆ MemoryContextStrdup()

◆ MemoryContextTraverseNext()

static MemoryContext MemoryContextTraverseNext ( MemoryContext  curr,
MemoryContext  top 
)
static

Definition at line 257 of file mcxt.c.

258{
259 /* After processing a node, traverse to its first child if any */
260 if (curr->firstchild != NULL)
261 return curr->firstchild;
262
263 /*
264 * After processing a childless node, traverse to its next sibling if
265 * there is one. If there isn't, traverse back up to the parent (which
266 * has already been visited, and now so have all its descendants). We're
267 * done if that is "top", otherwise traverse to its next sibling if any,
268 * otherwise repeat moving up.
269 */
270 while (curr->nextchild == NULL)
271 {
272 curr = curr->parent;
273 if (curr == top)
274 return NULL;
275 }
276 return curr->nextchild;
277}

References MemoryContextData::firstchild, MemoryContextData::nextchild, and MemoryContextData::parent.

Referenced by MemoryContextMemAllocated(), MemoryContextMemConsumed(), MemoryContextResetChildren(), and MemoryContextStatsInternal().

◆ palloc()

void * palloc ( Size  size)

Definition at line 1317 of file mcxt.c.

1318{
1319 /* duplicates MemoryContextAlloc to avoid increased overhead */
1320 void *ret;
1322
1323 Assert(MemoryContextIsValid(context));
1325
1326 context->isReset = false;
1327
1328 /*
1329 * For efficiency reasons, we purposefully offload the handling of
1330 * allocation failures to the MemoryContextMethods implementation as this
1331 * allows these checks to be performed only when an actual malloc needs to
1332 * be done to request more memory from the OS. Additionally, not having
1333 * to execute any instructions after this call allows the compiler to use
1334 * the sibling call optimization. If you're considering adding code after
1335 * this call, consider making it the responsibility of the 'alloc'
1336 * function instead.
1337 */
1338 ret = context->methods->alloc(context, size, 0);
1339 /* We expect OOM to be handled by the alloc function */
1340 Assert(ret != NULL);
1341 VALGRIND_MEMPOOL_ALLOC(context, ret, size);
1342
1343 return ret;
1344}

References MemoryContextMethods::alloc, Assert, AssertNotInCriticalSection, CurrentMemoryContext, MemoryContextData::isReset, MemoryContextIsValid, MemoryContextData::methods, size, and VALGRIND_MEMPOOL_ALLOC.

Referenced by _bt_bottomupdel_pass(), _bt_deadblocks(), _bt_dedup_pass(), _bt_delitems_delete_check(), _bt_delitems_update(), _bt_findsplitloc(), _bt_load(), _bt_mkscankey(), _bt_newlevel(), _bt_pendingfsm_init(), _bt_preprocess_array_keys(), _bt_search(), _bt_simpledel_pass(), _intbig_alloc(), _lca(), _ltree_compress(), _ltree_picksplit(), _metaphone(), _SPI_make_plan_non_temp(), _SPI_save_plan(), AbsorbSyncRequests(), accum_sum_copy(), accumArrayResultArr(), aclexplode(), aclitemin(), aclitemout(), aclmembers(), acquire_inherited_sample_rows(), add_exact_object_address_extra(), add_gin_entry(), add_local_reloption(), add_reloption(), add_rte_to_flat_rtable(), add_to_tsvector(), add_unique_group_var(), addArc(), addArcs(), addCompiledLexeme(), AddEnumLabel(), addFkRecurseReferenced(), addItemsToLeaf(), addKey(), addKeyToQueue(), addNode(), addNorm(), addNSItemForReturning(), addRangeClause(), addRangeTableEntryForFunction(), addRangeTableEntryForJoin(), AddRelationNewConstraints(), AddRoleMems(), addWrd(), alloc_chromo(), alloc_edge_table(), alloc_pool(), allocate_recordbuf(), allocate_reloption(), AllocateRelationDesc(), AlterPolicy(), AlterPublicationTables(), AlterSubscription_refresh(), anybit_typmodout(), anychar_typmodout(), append_nonpartial_cost(), appendJSONKeyValueFmt(), AppendStringCommandOption(), apply_spooled_messages(), apw_dump_now(), array_agg_array_combine(), array_agg_array_deserialize(), array_cat(), array_create_iterator(), array_exec_setup(), array_map(), array_out(), array_recv(), array_replace_internal(), array_set_element(), array_typanalyze(), array_unnest(), arrayconst_startup_fn(), arrayexpr_startup_fn(), ArrayGetIntegerTypmods(), AssignTransactionId(), Async_Notify(), ATExecAddColumn(), ATExecColumnDefault(), ATExecSetExpression(), attach_internal(), AttachPartitionEnsureIndexes(), autoinc(), BaseBackupAddTarget(), BaseBackupGetTargetHandle(), bbsink_copystream_begin_backup(), be_loread(), be_tls_get_certificate_hash(), begin_tup_output_tupdesc(), BeginCopyFrom(), binary_decode(), binary_encode(), binaryheap_allocate(), BipartiteMatch(), bit_and(), bit_catenate(), bit_or(), bit_out(), bit_recv(), bitfromint4(), bitfromint8(), bitnot(), bits_to_text(), bitsetbit(), bitshiftleft(), bitshiftright(), bitsubstring(), bitxor(), blbeginscan(), blbuild(), BlockRefTableEntryMarkBlockModified(), BlockRefTableReaderNextRelation(), bms_copy(), boolout(), BootStrapXLOG(), bottomup_sort_and_shrink(), box_add(), box_center(), box_circle(), box_copy(), box_diagonal(), box_div(), box_in(), box_intersect(), box_mul(), box_poly(), box_recv(), box_sub(), boxes_bound_box(), bpchar(), bpchar_input(), bqarr_in(), bqarr_out(), brin_build_desc(), brin_copy_tuple(), brin_form_tuple(), brin_minmax_multi_distance_inet(), brin_new_memtuple(), brin_page_items(), brin_range_deserialize(), brin_revmap_data(), bringetbitmap(), brinRevmapInitialize(), bt_multi_page_stats(), bt_normalize_tuple(), bt_page_items_bytea(), bt_page_items_internal(), bt_page_print_tuples(), btbeginscan(), btbuild(), btgettuple(), btree_xlog_dedup(), btree_xlog_updates(), btreevacuumposting(), btrescan(), BufferSync(), BufFileCreateFileSet(), BufFileOpenFileSet(), build_attnums_array(), build_column_frequencies(), build_datatype(), build_distinct_groups(), build_EvalXFuncInt(), build_function_result_tupdesc_d(), build_local_reloptions(), build_merged_partition_bounds(), build_minmax_path(), build_pertrans_for_aggref(), build_row_from_vars(), build_server_final_message(), build_server_first_message(), build_sorted_items(), build_tlist_index(), build_tlist_index_other_vars(), build_tuplestore_recursively(), BuildCachedPlan(), buildNSItemFromLists(), buildNSItemFromTupleDesc(), BuildSpeculativeIndexInfo(), BuildTupleFromCStrings(), BuildTupleHashTable(), bytea_catenate(), bytea_string_agg_finalfn(), byteain(), byteaout(), bytearecv(), cache_lookup(), cache_store_tuple(), cached_scansel(), calc_distr(), calc_hist(), calc_hist_selectivity(), calc_word_similarity(), CatalogCacheCreateEntry(), catenate_stringinfo_string(), char_bpchar(), char_text(), charout(), check_foreign_key(), check_primary_key(), check_temp_tablespaces(), CheckAffix(), checkAllTheSame(), checkclass_str(), checkcondition_HL(), checkcondition_str(), checkSharedDependencies(), choose_bitmap_and(), chr(), cidout(), circle_add_pt(), circle_box(), circle_center(), circle_div_pt(), circle_in(), circle_mul_pt(), circle_recv(), circle_sub_pt(), classify_index_clause_usage(), clauselist_apply_dependencies(), cleanup_tsquery_stopwords(), clone_parse_state(), close_ls(), close_lseg(), close_pb(), close_pl(), close_ps(), close_sb(), collect_corrupt_items(), collectTSQueryValues(), combinebackup_per_wal_range_cb(), compileTheLexeme(), compileTheSubstitute(), CompleteCachedPlan(), complex_add(), complex_in(), complex_recv(), compute_array_stats(), compute_distinct_stats(), compute_expr_stats(), compute_index_stats(), compute_range_stats(), compute_scalar_stats(), compute_tsvector_stats(), computeLeafRecompressWALData(), concat_text(), connect_pg_server(), consider_groupingsets_paths(), construct_point(), convert_prep_stmt_params(), convert_requires_to_datum(), convert_string_datum(), convert_tuples_by_name_attrmap(), convert_tuples_by_position(), copy_file(), copy_pathtarget(), copy_plpgsql_datums(), CopyCachedPlan(), CopyErrorData(), CopyIndexAttOptions(), CopyIndexTuple(), copyJsonbValue(), CopyLimitPrintoutLength(), CopyMultiInsertBufferInit(), CopySearchPathMatcher(), copyTemplateDependencies(), copytext(), CopyTriggerDesc(), copyTSLexeme(), CopyVar(), copyVar(), core_yyalloc(), core_yyrealloc(), count_usable_fds(), cr_circle(), create_hash_bounds(), create_internal(), create_limit_plan(), create_list_bounds(), create_memoize_plan(), create_mergejoin_plan(), create_range_bounds(), create_secmsg(), create_unique_plan(), create_windowagg_plan(), CreateConstraintEntry(), CreateCopyDestReceiver(), CreateEmptyBlockRefTable(), CreateFunction(), CreatePartitionDirectory(), CreatePartitionPruneState(), createPostingTree(), CreateQueryDesc(), CreateTemplateTupleDesc(), CreateTriggerFiringOn(), CreateTupleDescCopyConstr(), cstring_to_text_with_len(), cube_recv(), current_database(), current_schemas(), currtid_internal(), dataBeginPlaceToPageLeaf(), dataPrepareDownlink(), datetime_format_has_tz(), datetime_to_char_body(), datumCopy(), datumRestore(), datumSerialize(), dead_items_alloc(), debackslash(), decodePageSplitRecord(), deconstruct_array(), DeescapeQuotedString(), DefineRelation(), DefineTSConfiguration(), deparse_lquery(), deparse_ltree(), dependencies_clauselist_selectivity(), dependency_degree(), DependencyGenerator_init(), deserialize_deflist(), detoast_attr(), detoast_attr_slice(), detoast_external_attr(), dibuild(), disassembleLeaf(), DiscreteKnapsack(), div_var(), do_analyze_rel(), do_compile(), do_pg_backup_start(), do_to_timestamp(), dobyteatrim(), DoCopyTo(), doPickSplit(), dotrim(), double_to_shortest_decimal(), downcase_convert(), downcase_identifier(), DropRelationFiles(), DropRelationsAllBuffers(), dshash_attach(), dshash_create(), dsynonym_init(), duplicate_numeric(), dxsyn_lexize(), encrypt_password(), entry_dealloc(), entryPrepareDownlink(), enum_range_internal(), EnumValuesCreate(), EventTriggerAlterTableStart(), EventTriggerCollectAlterOpFam(), EventTriggerCollectAlterTableSubcmd(), EventTriggerCollectAlterTSConfig(), EventTriggerCollectGrant(), EventTriggerCollectSimpleCommand(), ExecAggRetrieveInstrumentation(), ExecBitmapHeapRetrieveInstrumentation(), ExecBuildHash32Expr(), ExecBuildHash32FromAttrs(), ExecComputeStoredGenerated(), ExecEvalArrayExpr(), ExecGather(), ExecGatherMerge(), ExecGetJsonValueItemString(), ExecHashJoinGetSavedTuple(), ExecHashRetrieveInstrumentation(), ExecIncrementalSortRetrieveInstrumentation(), ExecIndexBuildScanKeys(), ExecInitAgg(), ExecInitAppend(), ExecInitCoerceToDomain(), ExecInitExprRec(), ExecInitFunctionScan(), ExecInitIndexOnlyScan(), ExecInitIndexScan(), ExecInitJsonExpr(), ExecInitJunkFilter(), ExecInitMemoize(), ExecInitMergeAppend(), ExecInitModifyTable(), ExecInitPartitionDispatchInfo(), ExecInitProjectSet(), ExecInitRoutingInfo(), ExecInitSubPlan(), ExecInitTableFuncScan(), ExecInitValuesScan(), ExecInsert(), ExecMakeTableFunctionResult(), ExecMemoizeRetrieveInstrumentation(), ExecOpenIndices(), ExecParallelCreateReaders(), ExecParallelRetrieveInstrumentation(), ExecParallelSetupTupleQueues(), ExecSortRetrieveInstrumentation(), execTuplesHashPrepare(), execTuplesMatchPrepare(), executeBinaryArithmExpr(), executeDateTimeMethod(), executeItemOptUnwrapTarget(), executeNumericItemMethod(), ExecuteTruncateGuts(), ExplainCreateWorkersState(), ExportSnapshot(), ExprEvalPushStep(), extract_autovac_opts(), extract_grouping_collations(), extract_grouping_cols(), extract_grouping_ops(), extract_rollup_sets(), fallbackSplit(), FetchTableStates(), file_acquire_sample_rows(), fileBeginForeignScan(), fileGetForeignRelSize(), filter_list_to_array(), find_appinfos_by_relids(), find_hash_columns(), find_in_dynamic_libpath(), find_inheritance_children_extended(), find_partition_scheme(), find_plan(), find_tabstat_entry(), find_window_functions(), findDependentObjects(), findJsonbValueFromContainer(), FinishWalRecovery(), fix_merged_indexes(), flagInhTables(), float4_to_char(), float4out(), float8_to_char(), Float8GetDatum(), float8out_internal(), float_to_shortest_decimal(), FlushRelationsAllBuffers(), format_operator_extended(), format_procedure_extended(), formTextDatum(), FreezeMultiXactId(), FuncnameGetCandidates(), g_cube_decompress(), g_cube_picksplit(), g_int_compress(), g_int_decompress(), g_int_picksplit(), g_intbig_compress(), g_intbig_picksplit(), gbt_bit_xfrm(), gbt_bool_union(), gbt_cash_union(), gbt_date_union(), gbt_enum_union(), gbt_float4_union(), gbt_float8_union(), gbt_inet_compress(), gbt_inet_union(), gbt_int2_union(), gbt_int4_union(), gbt_int8_union(), gbt_intv_compress(), gbt_intv_decompress(), gbt_intv_union(), gbt_num_compress(), gbt_num_fetch(), gbt_num_picksplit(), gbt_oid_union(), gbt_time_union(), gbt_timetz_compress(), gbt_ts_union(), gbt_tstz_compress(), gbt_uuid_compress(), gbt_uuid_union(), gbt_var_compress(), gbt_var_decompress(), gbt_var_fetch(), gbt_var_key_from_datum(), gbt_var_picksplit(), gen_random_uuid(), generate_append_tlist(), generate_matching_part_pairs(), generate_normalized_query(), generate_series_step_int4(), generate_series_step_int8(), generate_series_step_numeric(), generate_series_timestamp(), generate_series_timestamptz_internal(), generate_subscripts(), generate_trgm(), generate_trgm_only(), generate_uuidv7(), generate_wildcard_trgm(), generateHeadline(), generator_init(), genericPickSplit(), get_attribute_options(), get_database_list(), get_docrep(), get_environ(), get_explain_guc_options(), get_ext_ver_info(), get_extension_aux_control_filename(), get_extension_control_directory(), get_extension_control_filename(), get_extension_script_directory(), get_extension_script_filename(), get_func_arg_info(), get_func_input_arg_names(), get_func_signature(), get_func_trftypes(), get_guc_variables(), get_name_for_var_field(), get_op_btree_interpretation(), get_page_from_raw(), get_path_all(), get_raw_page_internal(), get_relation_info(), get_rels_with_domain(), get_str_from_var(), get_str_from_var_sci(), get_tables_to_cluster(), get_tables_to_cluster_partitioned(), get_tsearch_config_filename(), get_val(), get_worker(), GetBlockerStatusData(), GetBulkInsertState(), GetCachedExpression(), getColorInfo(), GetConfFilesInDir(), GetCurrentVirtualXIDs(), GetFdwRoutineForRelation(), GetForeignDataWrapperExtended(), GetForeignServerExtended(), GetForeignTable(), getIthJsonbValueFromContainer(), getJsonEncodingConst(), GetJsonPathVar(), getKeyJsonValueFromContainer(), GetLockStatusData(), GetMultiXactIdMembers(), GetPermutation(), GetPredicateLockStatusData(), GetPreparedTransactionList(), GetPublication(), getQuadrantArea(), getRangeBox(), GetRunningTransactionLocks(), GetSQLCurrentTime(), GetSubscription(), GetSubscriptionRelations(), gettoken_tsvector(), GetUserMapping(), GetVirtualXIDsDelayingChkpt(), GetWaitEventCustomNames(), GetWALBlockInfo(), GetWalSummaries(), ghstore_alloc(), ghstore_compress(), ghstore_picksplit(), gimme_tree(), gin_bool_consistent(), gin_btree_extract_query(), gin_btree_extract_value(), gin_extract_hstore(), gin_extract_hstore_query(), gin_extract_jsonb_path(), gin_extract_jsonb_query(), gin_extract_query_trgm(), gin_extract_tsquery(), gin_extract_tsvector(), gin_extract_value_trgm(), gin_leafpage_items(), gin_trgm_triconsistent(), ginAllocEntryAccumulator(), ginbeginscan(), ginbuild(), ginCompressPostingList(), GinDataLeafPageGetItems(), ginExtractEntries(), ginFillScanEntry(), ginFillScanKey(), ginFindLeafPage(), ginFindParents(), GinFormInteriorTuple(), ginHeapTupleFastInsert(), gininsert(), ginInsertBAEntry(), ginint4_queryextract(), ginMergeItemPointers(), ginPostingListDecodeAllSegments(), ginReadTuple(), ginRedoRecompress(), ginVacuumItemPointers(), ginVacuumPostingTreeLeaf(), gist_box_picksplit(), gist_box_union(), gist_circle_compress(), gist_indexsortbuild(), gist_indexsortbuild_levelstate_flush(), gist_page_items_bytea(), gist_point_compress(), gist_point_fetch(), gist_poly_compress(), gistbeginscan(), gistbufferinginserttuples(), gistbuild(), gistextractpage(), gistfillitupvec(), gistfixsplit(), gistGetItupFromPage(), gistgettuple(), gistInitBuildBuffers(), gistMakeUnionItVec(), gistplacetopage(), gistRelocateBuildBuffersOnSplit(), gistrescan(), gistScanPage(), gistSplit(), gistSplitByKey(), gistSplitHalf(), gistunionsubkeyvec(), group_similar_or_args(), gseg_picksplit(), gtrgm_alloc(), gtrgm_compress(), gtrgm_consistent(), gtrgm_decompress(), gtrgm_picksplit(), gtsquery_compress(), gtsquery_picksplit(), gtsvector_alloc(), gtsvector_compress(), gtsvector_decompress(), gtsvector_penalty(), gtsvector_picksplit(), hash_agg_enter_spill_mode(), hash_object_field_end(), hash_page_items(), hash_record(), hash_record_extended(), hashagg_batch_read(), hashbeginscan(), hashbpchar(), hashbpcharextended(), hashbuild(), hashgettuple(), hashtext(), hashtextextended(), heap_beginscan(), heap_copy_minimal_tuple(), heap_copy_tuple_as_datum(), heap_copytuple(), heap_copytuple_with_tuple(), heap_modify_tuple(), heap_modify_tuple_by_cols(), heap_multi_insert(), heap_page_items(), heap_tuple_from_minimal_tuple(), heap_vacuum_rel(), heapam_relation_copy_for_cluster(), hladdword(), hmac_finish(), hstore_akeys(), hstore_avals(), hstore_concat(), hstore_delete(), hstore_delete_array(), hstore_delete_hstore(), hstore_from_array(), hstore_from_arrays(), hstore_from_record(), hstore_out(), hstore_populate_record(), hstore_recv(), hstore_slice_to_array(), hstore_slice_to_hstore(), hstore_subscript_assign(), hstore_to_array_internal(), hstoreArrayToPairs(), hstorePairs(), icu_language_tag(), identify_opfamily_groups(), ImportSnapshot(), index_compute_xid_horizon_for_tuples(), index_register(), inet_gist_compress(), inet_gist_fetch(), inet_gist_picksplit(), inet_set_masklen(), inet_spg_inner_consistent(), inet_spg_picksplit(), infix(), init_execution_state(), init_gin_entries(), init_partition_map(), init_sexpr(), init_slab_allocator(), init_tsvector_parser(), InitCatCache(), InitDeadLockChecking(), initGISTstate(), initialize_revoke_actions(), InitPlan(), InitPostmasterChildSlots(), initRectBox(), initStringInfoInternal(), initTrie(), InitWalRecovery(), inplaceGetInvalidationMessages(), InsertPgAttributeTuples(), int2out(), int2vectorout(), int44in(), int44out(), int4_to_char(), int4out(), Int64GetDatum(), int8_to_char(), int8out(), int_list_to_array(), int_to_roman(), interpret_AS_clause(), interpret_function_parameter_list(), interval_avg(), interval_div(), interval_in(), interval_justify_days(), interval_justify_hours(), interval_justify_interval(), interval_mi(), interval_mul(), interval_pl(), interval_recv(), interval_scale(), interval_sum(), interval_trunc(), interval_um(), intervaltypmodout(), intset_create(), irbt_alloc(), iterate_word_similarity(), json_agg_transfn_worker(), json_manifest_finalize_file(), json_object_agg_transfn_worker(), json_object_keys(), json_parse_manifest_incremental_init(), json_unique_object_start(), jsonb_agg_transfn_worker(), jsonb_object_agg_transfn_worker(), jsonb_object_keys(), jsonb_ops__add_path_item(), JsonbDeepContains(), JsonbValueToJsonb(), JsonEncodeDateTime(), jsonpath_yyalloc(), jsonpath_yyrealloc(), JsonTableInitOpaque(), JumbleQuery(), lca(), leafRepackItems(), leftmostvalue_interval(), leftmostvalue_timetz(), LexizeAddLemm(), libpqrcv_readtimelinehistoryfile(), like_fixed_prefix(), line_construct_pp(), line_in(), line_interpt(), line_recv(), litbufdup(), llvm_copy_attributes_at_index(), lo_get_fragment_internal(), load_categories_hash(), load_domaintype_info(), load_enum_cache_data(), load_relcache_init_file(), load_tzoffsets(), LocalProcessControlFile(), logfile_getname(), logical_heap_rewrite_flush_mappings(), logicalrep_partition_open(), logicalrep_read_attrs(), logicalrep_read_rel(), logicalrep_read_tuple(), logicalrep_relmap_update(), LogicalRepSyncTableStart(), LogicalTapeFreeze(), LogicalTapeSetCreate(), LogicalTapeWrite(), lookup_var_attr_stats(), lpad(), lrq_alloc(), lseg_center(), lseg_construct(), lseg_in(), lseg_interpt(), lseg_recv(), ltree2text(), ltree_compress(), ltree_decompress(), ltree_gist_alloc(), ltree_picksplit(), ltsCreateTape(), ltsGetPreallocBlock(), ltsInitReadBuffer(), ltxtq_out(), ltxtq_send(), lz4_compress_datum(), lz4_decompress_datum(), lz4_decompress_datum_slice(), macaddr8_out(), macaddr_and(), macaddr_in(), macaddr_not(), macaddr_or(), macaddr_out(), macaddr_recv(), macaddr_sortsupport(), macaddr_trunc(), main(), make_build_data(), make_callstmt_target(), make_colname_unique(), make_greater_string(), make_interval(), make_jsp_entry_node(), make_jsp_expr_node(), make_partitionedrel_pruneinfo(), make_pathtarget_from_tlist(), make_positional_trgm(), make_recursive_union(), make_result_opt_error(), make_row_comparison_op(), make_setop(), make_sort_from_groupcols(), make_sort_from_sortclauses(), make_text_key(), make_tuple_from_result_row(), make_tuple_indirect(), make_unique_from_pathkeys(), make_unique_from_sortclauses(), makeaclitem(), makeBufFile(), makeBufFileCommon(), MakeConfigurationMapping(), makeitem(), makeObjectName(), makeParamList(), makepoint(), makeStringInfoInternal(), MakeTidOpExpr(), maketree(), manifest_process_wal_range(), map_variable_attnos_mutator(), mark_hl_fragments(), match_clause_to_partition_key(), match_orclause_to_indexcol(), MatchNamedCall(), MatchText(), mbuf_create(), mbuf_create_from_data(), mcelem_array_contained_selec(), mcelem_tsquery_selec(), mcv_get_match_bitmap(), mdunlinkfork(), minimal_tuple_from_heap_tuple(), mock_scram_secret(), moveLeafs(), mul_var(), multirange_deserialize(), multirange_gist_compress(), multirange_in(), multirange_recv(), multirange_unnest(), MultiXactIdExpand(), mXactCacheGetById(), ndistinct_for_combination(), network_sortsupport(), new_list(), new_object_addresses(), newLexeme(), newTParserPosition(), nextRectBox(), NIAddAffix(), NISortAffixes(), nodeRead(), normal_rand(), NormalizeSubWord(), NUM_cache(), numeric_sortsupport(), numeric_to_char(), numeric_to_number(), numerictypmodout(), offset_to_interval(), oidout(), oidvectorout(), oidvectortypes(), OpenTableList(), OpernameGetCandidates(), optionListToArray(), order_qual_clauses(), ordered_set_startup(), packGraph(), pad_eme_pkcs1_v15(), PageGetTempPage(), PageGetTempPageCopy(), PageGetTempPageCopySpecial(), pairingheap_allocate(), palloc_btree_page(), parse_compress_specification(), parse_datetime(), parse_fcall_arguments(), parse_hstore(), parse_key_value_arrays(), parse_ltree(), parse_one_reloption(), parse_scram_secret(), parse_tsquery(), ParseConfigFp(), parseLocalRelOptions(), ParseLongOption(), parseRelOptions(), partition_bounds_copy(), partition_bounds_create(), path_add(), path_in(), path_poly(), path_recv(), percentile_cont_multi_final_common(), percentile_disc_multi_final(), perform_pruning_base_step(), PerformRadiusTransaction(), pg_armor(), pg_blocking_pids(), pg_buffercache_pages(), pg_convert(), pg_current_snapshot(), pg_dearmor(), pg_decrypt(), pg_decrypt_iv(), pg_detoast_datum_copy(), pg_digest(), pg_encrypt(), pg_encrypt_iv(), pg_get_catalog_foreign_keys(), pg_get_constraintdef_worker(), pg_get_logical_snapshot_info(), pg_get_multixact_members(), pg_get_publication_tables(), pg_get_userbyid(), pg_hmac(), pg_import_system_collations(), pg_lock_status(), pg_prepared_xact(), pg_random_bytes(), pg_safe_snapshot_blocking_pids(), pg_snapshot_recv(), pg_timezone_abbrevs_abbrevs(), pg_timezone_abbrevs_zone(), PgArchiverMain(), pgfnames(), pglz_compress_datum(), pglz_decompress_datum(), pglz_decompress_datum_slice(), pgp_armor_headers(), pgp_create_pkt_reader(), pgp_extract_armor_headers(), pgp_key_id_w(), pgp_mpi_alloc(), pgrowlocks(), pgss_shmem_startup(), pgstat_fetch_entry(), pgstat_get_transactional_drops(), pkt_stream_init(), placeChar(), plaintree(), plperl_build_tuple_result(), plperl_ref_from_pg_array(), plperl_spi_exec_prepared(), plperl_spi_prepare(), plperl_spi_query_prepared(), plperl_to_hstore(), plpgsql_add_initdatums(), plpgsql_finish_datums(), plpgsql_fulfill_promise(), plpgsql_ns_additem(), plpgsql_parse_err_condition(), plpython_to_hstore(), pltcl_quote(), pltcl_SPI_execute_plan(), pltcl_SPI_prepare(), PLy_cursor_plan(), PLy_procedure_munge_source(), PLy_spi_execute_plan(), PLyGenericObject_ToComposite(), PLyMapping_ToComposite(), PLyObject_ToBytea(), PLyObject_ToJsonbValue(), PLySequence_ToComposite(), pnstrdup(), point_add(), point_box(), point_div(), point_in(), point_mul(), point_recv(), point_sub(), points_box(), policy_role_list_to_array(), poly_box(), poly_center(), poly_circle(), poly_path(), populate_array(), populate_array_assign_ndims(), populate_record(), populate_recordset_object_field_end(), populate_scalar(), populate_typ_list(), postmaster_child_launch(), PostmasterMain(), pq_getmsgtext(), prepare_sort_from_pathkeys(), prepare_sql_fn_parse_info(), preparePresortedCols(), preprocess_grouping_sets(), PrescanPreparedTransactions(), ProcArrayApplyRecoveryInfo(), process_pipe_input(), process_startup_options(), ProcessStartupPacket(), prs_setup_firstcall(), prsd_lextype(), psprintf(), publicationListToArray(), pull_up_sublinks_jointree_recurse(), pullf_create(), pushf_create(), pushJsonbValueScalar(), pushquery(), pushState(), pushval_morph(), px_find_cipher(), px_find_digest(), px_find_hmac(), QTNCopy(), queryin(), queue_listen(), quote_identifier(), quote_literal(), quote_literal_cstr(), range_gist_double_sorting_split(), range_gist_picksplit(), range_gist_single_sorting_split(), rbt_create(), RE_compile(), RE_compile_and_cache(), RE_execute(), read_binary_file(), read_client_final_message(), read_dictionary(), read_extension_aux_control_file(), read_stream_begin_impl(), read_whole_file(), readDatum(), readstoplist(), readTimeLineHistory(), readtup_heap(), ReadTwoPhaseFile(), rebuild_database_list(), record_cmp(), record_config_file_error(), record_eq(), record_image_cmp(), record_image_eq(), record_in(), record_out(), record_recv(), record_send(), recordMultipleDependencies(), reduce_expanded_ranges(), reduce_outer_joins_pass1(), regclassout(), regcollationout(), regcomp_auth_token(), regconfigout(), regdictionaryout(), regexec_auth_token(), regexp_fixed_prefix(), regexp_match(), regexp_matches(), register_label_provider(), register_on_commit_action(), RegisterDynamicBackgroundWorker(), regnamespaceout(), regoperout(), regprocout(), regroleout(), regtypeout(), RelationBuildPartitionDesc(), RelationBuildPublicationDesc(), RelationBuildTriggers(), RelationGetExclusionInfo(), RelationGetIndexScan(), RelationGetNotNullConstraints(), RememberManyTestResources(), RememberSyncRequest(), RememberToFreeTupleDescAtEOX(), remove_dbtablespaces(), remove_self_joins_recurse(), RemoveRoleFromObjectPolicy(), ReorderBufferAddInvalidations(), ReorderBufferGetCatalogChangesXacts(), ReorderBufferQueueMessage(), reorderqueue_push(), repeat(), replace_auto_config_value(), replace_text_regexp(), report_json_context(), report_reduced_full_join(), resizeString(), RewriteQuery(), rmtree(), rot13_passphrase(), rpad(), save_state_data(), scanner_init(), scanPendingInsert(), ScanSourceDatabasePgClassTuple(), scram_build_secret(), scram_verify_plain_password(), SearchCatCacheList(), searchRangeTableForCol(), secure_open_server(), seg_in(), seg_inter(), seg_out(), seg_union(), select_active_windows(), select_outer_pathkeys_for_merge(), selectColorTrigrams(), sendDir(), sepgsql_fmgr_hook(), seq_redo(), serialize_expr_stats(), SerializeTransactionState(), set_baserel_partition_key_exprs(), set_plan_references(), set_relation_column_names(), set_rtable_names(), set_var_from_str(), setup_firstcall(), setup_parse_fixed_parameters(), setup_parse_variable_parameters(), setup_pct_info(), setup_regexp_matches(), setup_test_matches(), shm_mq_attach(), show_trgm(), SignalBackends(), similar_escape_internal(), slot_compile_deform(), slot_fill_defaults(), smgr_bulk_start_smgr(), smgrDoPendingDeletes(), smgrDoPendingSyncs(), smgrdounlinkall(), smgrGetPendingDeletes(), SnapBuildInitialSnapshot(), SortAndUniqItems(), spg_box_quad_inner_consistent(), spg_box_quad_picksplit(), spg_kd_inner_consistent(), spg_kd_picksplit(), spg_key_orderbys_distances(), spg_poly_quad_compress(), spg_quad_inner_consistent(), spg_quad_picksplit(), spg_range_quad_inner_consistent(), spg_range_quad_picksplit(), spg_text_choose(), spg_text_inner_consistent(), spg_text_leaf_consistent(), spg_text_picksplit(), spgAddPendingTID(), spgAllocSearchItem(), spgbeginscan(), spgExtractNodeLabels(), spgInnerTest(), spgist_name_choose(), spgist_name_inner_consistent(), spgNewHeapItem(), spgRedoVacuumRedirect(), spgSplitNodeAction(), spi_dest_startup(), SPI_modifytuple(), SPI_register_trigger_data(), split_pathtarget_walker(), SplitToVariants(), ssl_extension_info(), StartPrepare(), startScanKey(), statext_mcv_build(), statext_mcv_clauselist_selectivity(), statext_mcv_deserialize(), statext_ndistinct_build(), statext_ndistinct_deserialize(), statext_ndistinct_serialize(), std_typanalyze(), store_flush_position(), storeGettuple(), StoreRelCheck(), str_casefold(), str_initcap(), str_time(), str_tolower(), str_toupper(), str_udeescape(), stream_start_internal(), string_to_bytea_const(), strlist_to_textarray(), strlower_libc_mb(), strncoll_libc(), strnxfrm_libc(), strtitle_libc_mb(), strupper_libc_mb(), subxact_info_add(), subxact_info_read(), SV_to_JsonbValue(), SyncRepGetCandidateStandbys(), SyncRepGetNthLatestSyncRecPtr(), systable_beginscan(), systable_beginscan_ordered(), table_recheck_autovac(), tablesample_init(), tbm_begin_private_iterate(), test_basic(), test_enc_conversion(), test_pattern(), test_random(), test_re_compile(), test_regex(), test_resowner_many(), test_resowner_priorities(), test_single_value_and_filler(), testdelete(), testprs_lextype(), text_catenate(), text_reverse(), text_substring(), text_to_bits(), text_to_cstring(), thesaurus_lexize(), tidin(), TidListEval(), tidrecv(), time_interval(), time_mi_time(), time_timetz(), timestamp_age(), timestamp_mi(), timestamptz_age(), timestamptz_timetz(), timetz_in(), timetz_izone(), timetz_mi_interval(), timetz_pl_interval(), timetz_recv(), timetz_scale(), timetz_zone(), to_tsvector_byid(), toast_fetch_datum(), toast_fetch_datum_slice(), toast_open_indexes(), toast_save_datum(), TParserInit(), transformFromClauseItem(), transformRangeTableFunc(), transformRelOptions(), translate(), ts_dist(), ts_headline_byid_opt(), ts_headline_json_byid_opt(), ts_headline_jsonb_byid_opt(), ts_lexize(), TS_phrase_output(), ts_process_call(), tsqueryout(), tsqueryrecv(), tsquerytree(), tstz_dist(), tsvector_setweight(), tsvector_setweight_by_filter(), tsvector_to_array(), tsvector_unnest(), tsvector_update_trigger(), tsvectorin(), tsvectorout(), tt_setup_firstcall(), ttdummy(), tuple_data_split_internal(), TupleDescGetAttInMetadata(), tuplesort_begin_batch(), tuplesort_begin_datum(), tuplesort_begin_index_btree(), tuplesort_begin_index_gist(), tuplesort_begin_index_hash(), tuplesort_putbrintuple(), tuplestore_begin_common(), typenameTypeMod(), unicode_is_normalized(), unicode_normalize_func(), uniqueWORD(), update_attstats(), UpdateLogicalMappings(), uuid_in(), uuid_out(), uuid_recv(), uuid_sortsupport(), vac_open_indexes(), varbit(), varbit_out(), varbit_recv(), varstr_levenshtein(), varstr_sortsupport(), verifybackup_per_wal_range_cb(), widget_in(), worker_spi_main(), WriteBlockRefTable(), xid8out(), xidout(), XLogInsertRecord(), XLogReadRecordAlloc(), XlogReadTwoPhaseData(), xml_recv(), xpath_string(), xpath_table(), xslt_process(), yyalloc(), and yyrealloc().

◆ palloc0()

void * palloc0 ( Size  size)

Definition at line 1347 of file mcxt.c.

1348{
1349 /* duplicates MemoryContextAllocZero to avoid increased overhead */
1350 void *ret;
1352
1353 Assert(MemoryContextIsValid(context));
1355
1356 context->isReset = false;
1357
1358 ret = context->methods->alloc(context, size, 0);
1359
1360 VALGRIND_MEMPOOL_ALLOC(context, ret, size);
1361
1362 MemSetAligned(ret, 0, size);
1363
1364 return ret;
1365}

References MemoryContextMethods::alloc, Assert, AssertNotInCriticalSection, CurrentMemoryContext, MemoryContextData::isReset, MemoryContextIsValid, MemSetAligned, MemoryContextData::methods, size, and VALGRIND_MEMPOOL_ALLOC.

Referenced by _brin_begin_parallel(), _brin_parallel_scan_and_build(), _bt_begin_parallel(), _bt_buildadd(), _bt_form_posting(), _bt_leader_participate_as_worker(), _bt_load(), _bt_pagestate(), _bt_parallel_build_main(), _bt_parallel_scan_and_sort(), _bt_spools_heapscan(), _bt_truncate(), _bt_update_posting(), _h_spoolinit(), _ltq_extract_regex(), _ltree_extract_isparent(), _ltree_extract_risparent(), _ltxtq_extract_exec(), _SPI_make_plan_non_temp(), _SPI_save_plan(), accum_sum_rescale(), add_column_to_pathtarget(), add_dummy_return(), add_foreign_final_paths(), add_foreign_ordered_paths(), add_sp_item_to_pathtarget(), addFkRecurseReferencing(), allocacl(), AllocateRelationDesc(), allocateReloptStruct(), AllocateSnapshotBuilder(), AlterObjectNamespace_internal(), AlterObjectOwner_internal(), AlterObjectRename_internal(), AlterOpFamilyAdd(), AlterOpFamilyDrop(), array_cat(), array_create_iterator(), array_get_slice(), array_in(), array_map(), array_recv(), array_replace_internal(), array_set_element(), array_set_slice(), array_to_tsvector(), astreamer_extractor_new(), astreamer_gzip_decompressor_new(), astreamer_gzip_writer_new(), astreamer_lz4_compressor_new(), astreamer_lz4_decompressor_new(), astreamer_plain_writer_new(), astreamer_recovery_injector_new(), astreamer_tar_archiver_new(), astreamer_tar_parser_new(), astreamer_tar_terminator_new(), astreamer_verify_content_new(), astreamer_zstd_compressor_new(), astreamer_zstd_decompressor_new(), ATAddCheckNNConstraint(), ATExecAddColumn(), ATExecSetExpression(), ATGetQueueEntry(), ATPrepAlterColumnType(), bbsink_copystream_new(), bbsink_gzip_new(), bbsink_lz4_new(), bbsink_progress_new(), bbsink_server_new(), bbsink_throttle_new(), bbsink_zstd_new(), begin_heap_rewrite(), BeginCopyFrom(), BeginCopyTo(), bernoulli_initsamplescan(), BipartiteMatch(), bit(), bit_in(), blbulkdelete(), blgetbitmap(), BlockRefTableEntryMarkBlockModified(), bloom_create(), bloom_init(), BloomFormTuple(), blvacuumcleanup(), bms_add_range(), bms_make_singleton(), bpchar_name(), brin_bloom_opcinfo(), brin_form_placeholder_tuple(), brin_form_tuple(), brin_inclusion_opcinfo(), brin_minmax_multi_opcinfo(), brin_minmax_multi_union(), brin_minmax_opcinfo(), brin_new_memtuple(), brin_range_serialize(), brinbuild(), bt_check_every_level(), bt_page_print_tuples(), btbulkdelete(), btvacuumcleanup(), build_distances(), build_expanded_ranges(), build_expr_data(), build_inet_union_key(), build_pertrans_for_aggref(), build_row_from_vars(), build_simple_rel(), build_sorted_items(), BuildEventTriggerCache(), buildint2vector(), buildNSItemFromLists(), buildNSItemFromTupleDesc(), buildoidvector(), calc_rank_and(), calc_rank_cd(), calc_word_similarity(), check_hba(), check_ident_usermap(), check_tuple_attribute(), cidr_set_masklen_internal(), circle_poly(), collect_corrupt_items(), collect_visibility_data(), combo_init(), compact_palloc0(), CompactCheckpointerRequestQueue(), compile_plperl_function(), compile_pltcl_function(), compute_partition_bounds(), connect_pg_server(), construct_empty_array(), construct_md_array(), copy_ltree(), CopyCachedPlan(), create_array_envelope(), create_edata_for_relation(), create_foreign_modify(), create_groupingsets_plan(), create_hash_bounds(), create_list_bounds(), create_queryEnv(), create_range_bounds(), CreateBlockRefTableEntry(), CreateBlockRefTableReader(), CreateBlockRefTableWriter(), CreateCachedPlan(), CreateExplainSerializeDestReceiver(), CreateFakeRelcacheEntry(), CreateIncrementalBackupInfo(), CreateIntoRelDestReceiver(), CreateOneShotCachedPlan(), CreateParallelContext(), CreateSQLFunctionDestReceiver(), CreateTransientRelDestReceiver(), CreateTupleDescCopyConstr(), CreateTupleQueueDestReceiver(), CreateTupleQueueReader(), CreateTuplestoreDestReceiver(), crosstab(), cryptohash_internal(), cube_a_f8(), cube_a_f8_f8(), cube_c_f8(), cube_c_f8_f8(), cube_enlarge(), cube_f8(), cube_f8_f8(), cube_inter(), cube_subset(), cube_union_v0(), deconstruct_array(), DefineOpClass(), deparse_context_for(), deparse_context_for_plan_tree(), DependencyGenerator_init(), dintdict_init(), dintdict_lexize(), disassembleLeaf(), dispell_init(), do_analyze_rel(), doPickSplit(), dsimple_init(), dsimple_lexize(), dsm_impl_mmap(), dsnowball_init(), dsnowball_lexize(), dsynonym_init(), dsynonym_lexize(), dxsyn_init(), each_worker(), elements_worker(), encrypt_init(), EnumValuesCreate(), eqjoinsel_inner(), eqjoinsel_semi(), EvalPlanQualInit(), EvalPlanQualStart(), EventTriggerCollectAlterDefPrivs(), EventTriggerCollectAlterTSConfig(), EventTriggerCollectCreateOpClass(), EventTriggerSQLDropAddObject(), examine_attribute(), examine_expression(), ExecBuildAuxRowMark(), ExecBuildGroupingEqual(), ExecBuildHash32Expr(), ExecBuildHash32FromAttrs(), ExecBuildParamSetEqual(), ExecEvalArrayExpr(), ExecEvalHashedScalarArrayOp(), ExecGrant_Relation(), ExecIndexBuildScanKeys(), ExecInitAgg(), ExecInitAppend(), ExecInitBitmapAnd(), ExecInitBitmapOr(), ExecInitExprRec(), ExecInitFunc(), ExecInitGatherMerge(), ExecInitGenerated(), ExecInitHashJoin(), ExecInitIndexScan(), ExecInitJsonExpr(), ExecInitJunkFilterConversion(), ExecInitMergeAppend(), ExecInitParallelPlan(), ExecInitRangeTable(), ExecInitResultRelation(), ExecInitSetOp(), ExecInitSubscriptingRef(), ExecInitValuesScan(), ExecInitWindowAgg(), ExecRelCheck(), ExecReScanHashJoin(), ExecSetupPartitionTupleRouting(), expand_partitioned_rtentry(), expand_tuple(), ExplainCreateWorkersState(), extract_jsp_query(), extract_rollup_sets(), extract_variadic_args(), fetch_more_data(), fetch_remote_table_info(), fetch_statentries_for_relation(), fillFakeState(), find_partition_scheme(), find_window_functions(), findeq(), formrdesc(), g_intbig_consistent(), gather_merge_setup(), gbt_macad8_union(), gbt_macad_union(), gbt_num_bin_union(), gbt_num_compress(), gbt_var_key_copy(), gbt_var_node_truncate(), generate_base_implied_equalities_no_const(), generate_combinations(), generate_dependencies(), get_crosstab_tuplestore(), get_json_object_as_hash(), get_matching_hash_bounds(), get_matching_list_bounds(), get_matching_partitions(), get_matching_range_bounds(), get_relation_info(), get_subscription_list(), get_worker(), GetAccessStrategyWithSize(), GetAfterTriggersTableData(), getColorInfo(), GetLockConflicts(), GetSearchPathMatcher(), getTokenTypes(), GetWALBlockInfo(), gin_extract_tsquery(), ginbulkdelete(), ginExtractEntries(), ginFillScanKey(), ginScanToDelete(), ginvacuumcleanup(), gist_box_picksplit(), gist_indexsortbuild(), gist_indexsortbuild_levelstate_add(), gist_indexsortbuild_levelstate_flush(), gistbeginscan(), gistbulkdelete(), gistdoinsert(), gistFindPath(), gistUserPicksplit(), gistvacuumcleanup(), hash_array(), hashagg_batch_new(), hashagg_spill_init(), hashbulkdelete(), heap_form_minimal_tuple(), heap_form_tuple(), heap_toast_insert_or_update(), heap_tuple_infomask_flags(), heap_vacuum_rel(), heapam_index_fetch_begin(), hmac_init(), identify_join_columns(), index_concurrently_create_copy(), inet_gist_compress(), inet_gist_fetch(), inetand(), inetnot(), inetor(), init_returning_filter(), init_sql_fcache(), InitCatCache(), InitExecPartitionPruneContexts(), initHyperLogLog(), initialize_brin_insertstate(), InitializeParallelDSM(), InitPartitionPruneContext(), InitPlan(), InitResultRelInfo(), initSpGistState(), inittapes(), InitWalRecovery(), InitXLogReaderState(), inline_function(), inner_subltree(), InstrAlloc(), int2vectorin(), internal_inetpl(), interpret_AS_clause(), interpret_function_parameter_list(), interval_avg_deserialize(), iterate_json_values(), iteratorFromContainer(), join_tsqueries(), json_array_length(), json_object_keys(), json_strip_nulls(), jsonb_agg_transfn_worker(), jsonb_exec_setup(), jsonb_object_agg_transfn_worker(), jsonb_set_element(), JsonTableInitOpaque(), JsonTableInitPlan(), LaunchParallelWorkers(), lca_inner(), leader_takeover_tapes(), leftmostvalue_macaddr(), leftmostvalue_macaddr8(), leftmostvalue_name(), leftmostvalue_uuid(), libpqrcv_connect(), libpqrcv_exec(), llvm_resolve_symbols(), load_relcache_init_file(), LoadArchiveLibrary(), logicalrep_read_tuple(), ltree_concat(), ltree_picksplit(), ltree_union(), macaddr8_and(), macaddr8_in(), macaddr8_not(), macaddr8_or(), macaddr8_recv(), macaddr8_set7bit(), macaddr8_trunc(), macaddr8tomacaddr(), macaddrtomacaddr8(), make_attrmap(), make_auth_token(), make_callstmt_target(), make_inh_translation_list(), make_multirange(), make_one_partition_rbound(), make_parsestate(), make_partition_pruneinfo(), make_partitionedrel_pruneinfo(), make_setop_translation_list(), make_sort_input_target(), make_tsvector(), make_tuple_from_result_row(), make_tuple_indirect(), makeArrayResultArr(), makeDefaultBloomOptions(), makeIntervalAggState(), makeNumericAggState(), makeNumericAggStateCurrentContext(), MakeTransitionCaptureState(), MakeTupleTableSlot(), mcv_clause_selectivity_or(), mdcbuf_init(), mergeruns(), minmax_multi_init(), MJExamineQuals(), mkVoidAffix(), multi_sort_init(), multirange_constructor2(), multirange_get_range(), multirange_intersect_internal(), multirange_minus_internal(), multirange_union(), nameconcatoid(), namein(), namerecv(), ndistinct_for_combination(), network_broadcast(), network_hostmask(), network_in(), network_netmask(), network_network(), network_recv(), new_intArrayType(), NewExplainState(), newNode(), newRegisNode(), NIImportOOAffixes(), NISortDictionary(), oidvectorin(), ordered_set_startup(), pa_launch_parallel_worker(), parallel_vacuum_end(), parallel_vacuum_init(), ParallelSlotsSetup(), parse_hba_line(), parse_ident_line(), parse_lquery(), parse_ltree(), parse_tsquery(), perform_base_backup(), perform_pruning_combine_step(), pg_backup_start(), pg_crypt(), pg_decode_startup(), pg_logical_slot_get_changes_guts(), pg_stat_get_wal_receiver(), pg_tzenumerate_start(), pgoutput_startup(), pgoutput_truncate(), pgp_cfb_create(), pgp_init(), pgp_key_alloc(), placeChar(), plperl_build_tuple_result(), plperl_modify_tuple(), plperl_ref_from_pg_array(), plperl_spi_prepare(), plpgsql_build_recfield(), plpgsql_build_record(), plpgsql_build_variable(), plpgsql_compile_inline(), plsample_func_handler(), pltcl_build_tuple_result(), pltcl_SPI_prepare(), PLy_modify_tuple(), PLy_procedure_create(), PLy_spi_prepare(), poly_in(), poly_recv(), populate_array_assign_ndims(), populate_recordset_worker(), postgresBeginDirectModify(), postgresBeginForeignScan(), postgresGetForeignJoinPaths(), postgresGetForeignRelSize(), postgresGetForeignUpperPaths(), pq_init(), prepare_query_params(), prepare_sql_fn_parse_info(), PrepareForIncrementalBackup(), PrepareInplaceInvalidationState(), preparePresortedCols(), preprocess_grouping_sets(), printtup_create_DR(), printtup_prepare_info(), ProcessCopyOptions(), prune_append_rel_partitions(), pull_up_constant_function(), pull_up_simple_subquery(), pull_up_simple_values(), pullf_create(), push_path(), pushf_create(), pushOperator(), pushStop(), pushValue_internal(), px_find_combo(), QT2QTN(), QTN2QT(), QTNBinary(), queryin(), QueueCheckConstraintValidation(), QueueFKConstraintValidation(), range_agg_finalfn(), range_serialize(), read_extension_control_file(), read_tablespace_map(), refresh_by_match_merge(), regcomp_auth_token(), RelationBuildLocalRelation(), RelationBuildPartitionKey(), RelationBuildTriggers(), RelationFindReplTupleByIndex(), RelationFindReplTupleSeq(), RelationGetIndexAttOptions(), remap_groupColIdx(), remove_useless_groupby_columns(), ReorderBufferProcessTXN(), ReorderBufferToastReplace(), reverse_name(), rewriteTargetListIU(), rewriteValuesRTE(), RT_BEGIN_ITERATE(), save_state_data(), scram_init(), selectColorTrigrams(), sepgsql_avc_compute(), sepgsql_set_client_label(), serialize_prepare_info(), set_append_rel_size(), set_baserel_partition_key_exprs(), set_deparse_for_query(), set_join_column_names(), set_joinrel_partition_key_exprs(), set_plan_references(), set_simple_column_names(), set_subquery_pathlist(), setup_regexp_matches(), setup_simple_rel_arrays(), setup_test_matches(), shell_get_sink(), SnapBuildSerialize(), spg_quad_picksplit(), spgbeginscan(), spgbuild(), spgbulkdelete(), spgFormInnerTuple(), spgFormLeafTuple(), spgFormNodeTuple(), spgist_name_leaf_consistent(), spgvacuumcleanup(), spi_dest_startup(), standard_ExecutorStart(), standard_join_search(), StartPrepare(), StartupDecodingContext(), statext_dependencies_build(), statext_dependencies_deserialize(), statext_dependencies_serialize(), statext_mcv_build(), statext_mcv_deserialize(), statext_mcv_serialize(), statext_ndistinct_deserialize(), sts_attach(), sts_initialize(), SummarizeWAL(), synchronize_slots(), system_initsamplescan(), system_rows_initsamplescan(), system_time_initsamplescan(), tbm_attach_shared_iterate(), test_create(), test_rls_hooks_permissive(), test_rls_hooks_restrictive(), testdelete(), testprs_start(), text_name(), thesaurus_init(), TidExprListCreate(), TidStoreAttach(), TidStoreBeginIterate(), TidStoreCreateLocal(), TidStoreCreateShared(), toast_flatten_tuple_to_datum(), tokenize_auth_file(), TParserCopyInit(), TParserInit(), transform_json_string_values(), transformFromClauseItem(), transformSetOperationStmt(), transformValuesClause(), transformWithClause(), trgm_presence_map(), ts_headline_json_byid_opt(), ts_headline_jsonb_byid_opt(), ts_setup_firstcall(), tsquery_not(), tsqueryrecv(), tsvector_concat(), tsvector_delete_arr(), tsvector_delete_by_indices(), tsvector_filter(), tsvector_strip(), tsvectorin(), tsvectorrecv(), TupleDescGetAttInMetadata(), tuplesort_begin_cluster(), tuplesort_begin_common(), tuplesort_begin_datum(), tuplesort_begin_heap(), tuplesort_begin_index_btree(), tuplesort_begin_index_gist(), tuplestore_begin_common(), unaccent_lexize(), varbit_in(), XLogPrefetcherAllocate(), and XmlTableInitOpaque().

◆ palloc_aligned()

void * palloc_aligned ( Size  size,
Size  alignto,
int  flags 
)

Definition at line 1511 of file mcxt.c.

1512{
1513 return MemoryContextAllocAligned(CurrentMemoryContext, size, alignto, flags);
1514}
void * MemoryContextAllocAligned(MemoryContext context, Size size, Size alignto, int flags)
Definition: mcxt.c:1409

References CurrentMemoryContext, MemoryContextAllocAligned(), and size.

Referenced by _mdfd_getseg(), GenericXLogStart(), and InitCatCache().

◆ palloc_extended()

void * palloc_extended ( Size  size,
int  flags 
)

Definition at line 1368 of file mcxt.c.

1369{
1370 /* duplicates MemoryContextAllocExtended to avoid increased overhead */
1371 void *ret;
1373
1374 Assert(MemoryContextIsValid(context));
1376
1377 context->isReset = false;
1378
1379 ret = context->methods->alloc(context, size, flags);
1380 if (unlikely(ret == NULL))
1381 {
1382 return NULL;
1383 }
1384
1385 VALGRIND_MEMPOOL_ALLOC(context, ret, size);
1386
1387 if ((flags & MCXT_ALLOC_ZERO) != 0)
1388 MemSetAligned(ret, 0, size);
1389
1390 return ret;
1391}

References MemoryContextMethods::alloc, Assert, AssertNotInCriticalSection, CurrentMemoryContext, MemoryContextData::isReset, MCXT_ALLOC_ZERO, MemoryContextIsValid, MemSetAligned, MemoryContextData::methods, size, unlikely, and VALGRIND_MEMPOOL_ALLOC.

Referenced by AllocDeadEndChild(), pg_clean_ascii(), and XLogReaderAllocate().

◆ pchomp()

char * pchomp ( const char *  in)

◆ pfree()

void pfree ( void *  pointer)

Definition at line 1521 of file mcxt.c.

1522{
1523#ifdef USE_VALGRIND
1525 MemoryContext context = GetMemoryChunkContext(pointer);
1526#endif
1527
1528 MCXT_METHOD(pointer, free_p) (pointer);
1529
1530#ifdef USE_VALGRIND
1531 if (method != MCTX_ALIGNED_REDIRECT_ID)
1532 VALGRIND_MEMPOOL_FREE(context, pointer);
1533#endif
1534}
static MemoryContextMethodID GetMemoryChunkMethodID(const void *pointer)
Definition: mcxt.c:191
MemoryContext GetMemoryChunkContext(void *pointer)
Definition: mcxt.c:707
#define VALGRIND_MEMPOOL_FREE(context, addr)
Definition: memdebug.h:30

References GetMemoryChunkContext(), GetMemoryChunkMethodID(), MCTX_ALIGNED_REDIRECT_ID, MCXT_METHOD, and VALGRIND_MEMPOOL_FREE.

Referenced by _brin_parallel_merge(), _bt_bottomupdel_pass(), _bt_buildadd(), _bt_dedup_finish_pending(), _bt_dedup_pass(), _bt_delitems_delete(), _bt_delitems_delete_check(), _bt_delitems_vacuum(), _bt_doinsert(), _bt_findsplitloc(), _bt_freestack(), _bt_getroot(), _bt_gettrueroot(), _bt_insert_parent(), _bt_insertonpg(), _bt_load(), _bt_newlevel(), _bt_pendingfsm_finalize(), _bt_preprocess_array_keys(), _bt_simpledel_pass(), _bt_sort_dedup_finish_pending(), _bt_split(), _bt_spooldestroy(), _bt_truncate(), _bt_uppershutdown(), _fdvec_resize(), _h_spooldestroy(), _hash_splitbucket(), _hash_squeezebucket(), _int_contains(), _int_inter(), _int_overlap(), _int_same(), _int_union(), _lca(), _mdfd_getseg(), _mdfd_openseg(), _mdfd_segpath(), AbortBufferIO(), AbsorbSyncRequests(), accum_sum_rescale(), accumArrayResultArr(), aclmerge(), add_partial_path(), add_path(), addArcs(), AddEnumLabel(), AddFileToBackupManifest(), addFkRecurseReferenced(), addHLParsedLex(), addItemPointersToLeafTuple(), addKey(), adjust_appendrel_attrs_multilevel(), adjust_child_relids_multilevel(), advance_windowaggregate(), advance_windowaggregate_base(), afterTriggerDeleteHeadEventChunk(), AfterTriggerEndSubXact(), afterTriggerFreeEventList(), afterTriggerRestoreEventList(), agg_refill_hash_table(), AlignedAllocFree(), AlignedAllocRealloc(), allocate_recordbuf(), AlterObjectNamespace_internal(), AlterObjectOwner_internal(), AlterObjectRename_internal(), amvalidate(), appendJSONKeyValueFmt(), AppendStringCommandOption(), appendStringInfoStringQuoted(), apply_scanjoin_target_to_paths(), apw_dump_now(), array_free_iterator(), array_in(), array_map(), array_out(), array_recv(), array_replace_internal(), array_reverse_n(), array_send(), array_set_element_expanded(), array_shuffle_n(), array_to_json_internal(), array_to_jsonb_internal(), array_to_text_internal(), arrayconst_cleanup_fn(), arrayexpr_cleanup_fn(), ArrayGetIntegerTypmods(), ASN1_STRING_to_text(), assign_simple_var(), AssignTransactionId(), astreamer_extractor_free(), astreamer_plain_writer_free(), astreamer_recovery_injector_free(), astreamer_tar_archiver_free(), astreamer_tar_parser_free(), astreamer_tar_terminator_free(), astreamer_verify_free(), Async_Notify(), AtEOSubXact_Inval(), AtEOSubXact_on_commit_actions(), AtEOSubXact_PgStat(), AtEOSubXact_PgStat_DroppedStats(), AtEOSubXact_PgStat_Relations(), AtEOXact_GUC(), AtEOXact_on_commit_actions(), AtEOXact_PgStat_DroppedStats(), AtEOXact_RelationCache(), ATPrepAlterColumnType(), AtSubAbort_childXids(), AtSubAbort_Notify(), AtSubAbort_Snapshot(), AtSubCommit_childXids(), AtSubCommit_Notify(), AttrDefaultFetch(), autoinc(), BackendInitialize(), bbsink_server_begin_archive(), bbsink_server_begin_manifest(), bbsink_server_end_manifest(), be_tls_close(), be_tls_open_server(), binaryheap_free(), bind_param_error_callback(), BipartiteMatchFree(), blendscan(), blgetbitmap(), BlockRefTableEntryMarkBlockModified(), BlockRefTableFreeEntry(), BlockRefTableReaderNextRelation(), bloom_free(), blrescan(), bms_add_members(), bms_del_member(), bms_del_members(), bms_free(), bms_int_members(), bms_intersect(), bms_join(), bms_replace_members(), boolop(), BootstrapModeMain(), BootStrapXLOG(), bottomup_sort_and_shrink(), bpcharfastcmp_c(), bpcharrecv(), bqarr_in(), brin_build_desc(), brin_form_tuple(), brin_free_tuple(), brin_inclusion_add_value(), brin_inclusion_union(), brin_minmax_add_value(), brin_minmax_multi_distance_inet(), brin_minmax_multi_union(), brin_minmax_union(), brin_page_items(), brinendscan(), brinRevmapTerminate(), brinsummarize(), bt_check_level_from_leftmost(), bt_child_check(), bt_child_highkey_check(), bt_downlink_missing_check(), bt_leftmost_ignoring_half_dead(), bt_normalize_tuple(), bt_page_print_tuples(), bt_right_page_check_scankey(), bt_rootdescend(), bt_target_page_check(), bt_tuple_present_callback(), btendscan(), btinsert(), btree_xlog_updates(), btvacuumpage(), buf_finalize(), BufferSync(), BufFileClose(), BufFileOpenFileSet(), build_backup_content(), build_child_join_sjinfo(), build_EvalXFuncInt(), build_index_paths(), build_local_reloptions(), build_pertrans_for_aggref(), build_reloptions(), build_sorted_items(), buildFreshLeafTuple(), BuildRestoreCommand(), BuildTupleFromCStrings(), cache_locale_time(), cache_single_string(), calc_arraycontsel(), calc_distr(), calc_rank_and(), calc_rank_cd(), calc_rank_or(), calc_word_similarity(), cancel_on_dsm_detach(), casefold(), cash_words(), CatalogCloseIndexes(), CatCacheFreeKeys(), CatCacheRemoveCList(), CatCacheRemoveCTup(), char2wchar(), check_application_name(), check_circularity(), check_cluster_name(), check_control_files(), check_createrole_self_grant(), check_datestyle(), check_db_file_conflict(), check_debug_io_direct(), check_default_text_search_config(), check_ident_usermap(), check_locale(), check_log_destination(), check_publications_origin(), check_relation_privileges(), check_restrict_nonsystem_relation_kind(), check_schema_perms(), check_search_path(), check_synchronized_standby_slots(), check_temp_tablespaces(), check_timezone(), check_wal_consistency_checking(), CheckAffix(), CheckAlterSubOption(), checkclass_str(), checkcondition_str(), CheckConstraintFetch(), CheckForBufferLeaks(), CheckForLocalBufferLeaks(), CheckIndexCompatible(), CheckMD5Auth(), CheckPasswordAuth(), CheckPointTwoPhase(), CheckPWChallengeAuth(), CheckRADIUSAuth(), CheckSASLAuth(), checkSharedDependencies(), ChooseConstraintName(), ChooseExtendedStatisticName(), ChooseRelationName(), citext_eq(), citext_hash(), citext_hash_extended(), citext_ne(), citextcmp(), clauselist_apply_dependencies(), clauselist_selectivity_ext(), clean_NOT_intree(), clean_stopword_intree(), cleanup_directories_atexit(), cleanup_subxact_info(), clear_and_pfree(), close_tsvector_parser(), ClosePostmasterPorts(), collectMatchBitmap(), combo_free(), combo_init(), CompactCheckpointerRequestQueue(), compareJsonbContainers(), compareStrings(), compile_plperl_function(), compile_pltcl_function(), compileTheLexeme(), compileTheSubstitute(), compute_array_stats(), compute_tsvector_stats(), concat_internal(), connect_pg_server(), construct_empty_expanded_array(), ConstructTupleDescriptor(), convert_any_priv_string(), convert_charset(), convert_column_name(), convert_string_datum(), convert_to_scalar(), convertPgWchar(), copy_dest_destroy(), copy_file(), copy_table(), CopyArrayEls(), CopyFromErrorCallback(), CopyMultiInsertBufferCleanup(), copyTemplateDependencies(), core_yyfree(), count_usable_fds(), create_cursor(), create_hash_bounds(), create_list_bounds(), create_partitionwise_grouping_paths(), create_range_bounds(), create_script_for_old_cluster_deletion(), create_secmsg(), create_tablespace_directories(), CreateCheckPoint(), CreateDatabaseUsingFileCopy(), CreateDatabaseUsingWalLog(), createdb(), createNewConnection(), createPostingTree(), CreateStatistics(), CreateTableSpace(), CreateTriggerFiringOn(), croak_cstr(), crosstab(), cstr2sv(), datasegpath(), datetime_format_has_tz(), datetime_to_char_body(), datum_image_eq(), datum_image_hash(), datum_to_json_internal(), datum_to_jsonb_internal(), datumSerialize(), db_encoding_convert(), dbase_redo(), dblink_connect(), dblink_disconnect(), dblink_security_check(), DCH_to_char(), deallocate_query(), DebugPrintBufferRefcount(), DecodeTextArrayToBitmapset(), DeconstructFkConstraintRow(), DefineDomain(), DefineEnum(), DefineIndex(), DefineRange(), DefineType(), deparseConst(), dependencies_clauselist_selectivity(), DependencyGenerator_free(), deserialize_deflist(), destroy_tablespace_directories(), DestroyBlockRefTableReader(), DestroyBlockRefTableWriter(), DestroyParallelContext(), destroyStringInfo(), DestroyTupleQueueReader(), detoast_attr(), detoast_attr_slice(), digest_free(), dintdict_lexize(), dir_realloc(), dispell_lexize(), div_var(), do_analyze_rel(), do_autovacuum(), do_compile(), Do_MultiXactIdWait(), do_pg_backup_start(), do_pg_backup_stop(), do_text_output_multiline(), do_to_timestamp(), DoesMultiXactIdConflict(), dofindsubquery(), dotrim(), DropRelationFiles(), DropRelationsAllBuffers(), dsa_detach(), dshash_destroy(), dshash_detach(), dsimple_lexize(), dsm_create(), dsm_detach(), dsm_impl_sysv(), dsnowball_lexize(), dsynonym_init(), dsynonym_lexize(), dxsyn_lexize(), ecpg_filter_source(), ecpg_filter_stderr(), ecpg_postprocess_result(), elog_node_display(), emit_audit_message(), encrypt_free(), end_tup_output(), EndCopy(), EndCopyFrom(), enlarge_list(), entry_dealloc(), entry_purge_tuples(), entryLoadMoreItems(), enum_range_internal(), enum_recv(), EnumValuesCreate(), eqjoinsel_inner(), eqjoinsel_semi(), escape_json_text(), eval_windowaggregates(), EventTriggerAlterTableEnd(), EventTriggerSQLDropAddObject(), examine_attribute(), examine_expression(), exec_bind_message(), exec_object_restorecon(), exec_stmt_foreach_a(), Exec_UnlistenCommit(), ExecAggCopyTransValue(), ExecDropSingleTupleTableSlot(), ExecEndWindowAgg(), ExecEvalPreOrderedDistinctSingle(), ExecEvalXmlExpr(), ExecFetchSlotHeapTupleDatum(), ExecForceStoreHeapTuple(), ExecForceStoreMinimalTuple(), ExecGrant_Attribute(), ExecGrant_common(), ExecGrant_Largeobject(), ExecGrant_Parameter(), ExecGrant_Relation(), ExecHashIncreaseNumBatches(), ExecHashRemoveNextSkewBucket(), ExecHashTableDestroy(), ExecIndexBuildScanKeys(), ExecInitGenerated(), ExecInitHashJoin(), ExecInitMemoize(), ExecParallelCleanup(), ExecParallelFinish(), ExecParallelHashCloseBatchAccessors(), ExecParallelHashRepartitionRest(), ExecReScanTidScan(), ExecResetTupleTable(), ExecSetParamPlan(), ExecSetSlotDescriptor(), ExecShutdownGatherMergeWorkers(), ExecShutdownGatherWorkers(), execute_foreign_modify(), executeDateTimeMethod(), executeItemOptUnwrapTarget(), ExecuteRecoveryCommand(), expand_dynamic_library_name(), expanded_record_set_field_internal(), expanded_record_set_fields(), expanded_record_set_tuple(), ExplainFlushWorkersState(), ExplainProperty(), ExplainPropertyFloat(), ExplainPropertyList(), ExplainQuery(), extract_autovac_opts(), extract_rollup_sets(), fetch_finfo_record(), fetch_function_defaults(), fetch_remote_table_info(), fetch_statentries_for_relation(), fetch_table_list(), file_acquire_sample_rows(), filter_list_to_array(), finalize_aggregates(), FinalizeIncrementalManifest(), find_in_dynamic_libpath(), find_inheritance_children_extended(), find_other_exec(), find_provider(), findDependentObjects(), findeq(), findJsonbValueFromContainer(), finish_edata(), FinishPreparedTransaction(), fix_merged_indexes(), fixup_inherited_columns(), flush_pipe_input(), FlushRelationsAllBuffers(), fmgr_info_C_lang(), fmgr_info_cxt_security(), forget_invalid_pages(), forget_invalid_pages_db(), ForgetBackgroundWorker(), ForgetManyTestResources(), form_and_insert_tuple(), form_and_spill_tuple(), free_attrmap(), free_attstatsslot(), free_child_join_sjinfo(), free_chromo(), free_conversion_map(), free_edge_table(), free_object_addresses(), free_openssl_cipher(), free_openssl_digest(), free_parsestate(), free_partition_map(), free_pool(), free_sort_tuple(), FreeAccessStrategy(), freeAndGetParent(), FreeBulkInsertState(), FreeConfigVariable(), FreeErrorData(), FreeErrorDataContents(), FreeExprContext(), FreeFakeRelcacheEntry(), freeGinBtreeStack(), freeHyperLogLog(), FreeQueryDesc(), FreeSnapshot(), FreeSubscription(), freetree(), FreeTriggerDesc(), FreeTupleDesc(), FreeWaitEventSet(), FreeWaitEventSetAfterFork(), FreezeMultiXactId(), func_get_detail(), FuncnameGetCandidates(), g_int_compress(), g_int_consistent(), g_int_decompress(), g_int_penalty(), g_int_picksplit(), g_intbig_consistent(), g_intbig_picksplit(), gather_merge_clear_tuples(), gbt_bit_l2n(), gen_ossl_free(), generate_append_tlist(), generate_base_implied_equalities_no_const(), generate_combinations(), generate_dependencies(), generate_matching_part_pairs(), generate_trgm_only(), generate_wildcard_trgm(), generateClonedExtStatsStmt(), generateHeadline(), generator_free(), GenericXLogAbort(), GenericXLogFinish(), get_attstatsslot(), get_const_expr(), get_control_dbstate(), get_docrep(), get_extension_aux_control_filename(), get_extension_script_filename(), get_flush_position(), get_from_clause(), get_relation_statistics(), get_reloptions(), get_sql_insert(), get_sql_update(), get_str_from_var_sci(), get_target_list(), get_tuple_of_interest(), get_typdefault(), GetAggInitVal(), getColorInfo(), GetConfFilesInDir(), GetIncrementalFilePath(), GetMultiXactIdHintBits(), GetNewRelFileNumber(), getNextNearest(), getObjectDescription(), getObjectIdentityParts(), getPublicationSchemaInfo(), GetTempNamespaceProcNumber(), GetWALRecordsInfo(), gin_extract_jsonb_path(), gin_leafpage_items(), gin_trgm_triconsistent(), ginCompressPostingList(), ginendscan(), ginEntryFillRoot(), ginEntryInsert(), ginExtractEntries(), ginFinishSplit(), GinFormTuple(), ginFreeScanKeys(), ginPostingListDecodeAllSegmentsToTbm(), ginVacuumEntryPage(), ginVacuumPostingTree(), ginVacuumPostingTreeLeaf(), gist_indexsortbuild(), gist_indexsortbuild_levelstate_flush(), gist_ischild(), gistgetbitmap(), gistgettuple(), gistPopItupFromNodeBuffer(), gistRelocateBuildBuffersOnSplit(), gistrescan(), gistunionsubkeyvec(), gistUnloadNodeBuffer(), group_similar_or_args(), gtrgm_consistent(), gtrgm_distance(), gtrgm_penalty(), gtsvector_penalty(), guc_free(), GUCArrayReset(), HandleParallelApplyMessages(), HandleParallelMessages(), HandlePgArchInterrupts(), hash_record(), hash_record_extended(), hashagg_finish_initial_spills(), hashagg_reset_spill_state(), hashagg_spill_finish(), hashagg_spill_tuple(), hashbpchar(), hashbpcharextended(), hashbuildCallback(), hashendscan(), hashinsert(), hashtext(), hashtextextended(), heap_create_with_catalog(), heap_endscan(), heap_force_common(), heap_free_minimal_tuple(), heap_freetuple(), heap_lock_tuple(), heap_lock_updated_tuple_rec(), heap_modify_tuple(), heap_modify_tuple_by_cols(), heap_tuple_infomask_flags(), heap_tuple_should_freeze(), heap_vacuum_rel(), heapam_index_fetch_end(), heapam_relation_copy_for_cluster(), heapam_tuple_complete_speculative(), heapam_tuple_insert(), heapam_tuple_insert_speculative(), heapam_tuple_update(), hmac_finish(), hmac_free(), hmac_init(), hstoreUniquePairs(), hv_fetch_string(), hv_store_string(), icu_language_tag(), index_compute_xid_horizon_for_tuples(), index_concurrently_create_copy(), index_form_tuple_context(), index_store_float8_orderby_distances(), index_truncate_tuple(), IndexScanEnd(), IndexSupportsBackwardScan(), infix(), initcap(), InitExecPartitionPruneContexts(), initialize_reloptions(), InitializeSystemUser(), InitIndexAmRoutine(), InitPostgres(), initTrie(), InitWalRecovery(), inner_int_inter(), insert_username(), InsertOneTuple(), InsertPgAttributeTuples(), internal_citext_pattern_cmp(), internalerrquery(), intorel_destroy(), intset_subtract(), inv_close(), inv_getsize(), inv_read(), inv_truncate(), inv_write(), InvalidateAttoptCacheCallback(), InvalidateTableSpaceCacheCallback(), irbt_free(), isAnyTempNamespace(), isolation_start_test(), isRelDataFile(), iterate_jsonb_values(), iterate_word_similarity(), jit_release_context(), json_manifest_finalize_file(), json_manifest_finalize_wal_range(), json_manifest_object_field_start(), json_manifest_scalar(), json_object(), json_object_keys(), json_object_two_arg(), json_parse_manifest_incremental_shutdown(), json_unique_object_end(), json_unique_object_field_start(), jsonb_object(), jsonb_object_two_arg(), jsonb_set_element(), JsonbDeepContains(), JsonbValue_to_SV(), JsonItemFromDatum(), jsonpath_send(), jsonpath_yyfree(), KnownAssignedXidsDisplay(), lazy_cleanup_one_index(), lazy_vacuum_one_index(), lca(), leafRepackItems(), libpq_destroy(), libpqrcv_alter_slot(), libpqrcv_connect(), libpqrcv_create_slot(), libpqrcv_disconnect(), libpqrcv_get_dbname_from_conninfo(), libpqrcv_startstreaming(), like_fixed_prefix(), list_delete_first_n(), list_delete_nth_cell(), list_free_private(), llvm_compile_module(), llvm_copy_attributes_at_index(), llvm_release_context(), llvm_resolve_symbol(), llvm_resolve_symbols(), lo_manage(), load_backup_manifest(), load_enum_cache_data(), load_external_function(), load_file(), load_libraries(), load_relcache_init_file(), local_buffer_write_error_callback(), local_destroy(), log_status_format(), logfile_rotate_dest(), logical_heap_rewrite_flush_mappings(), logicalrep_relmap_free_entry(), logicalrep_write_tuple(), LogicalTapeClose(), LogicalTapeFreeze(), LogicalTapeRewindForRead(), LogicalTapeSetClose(), LogRecoveryConflict(), LogStandbySnapshot(), lookup_ts_config_cache(), lookup_var_attr_stats(), LookupGXact(), lower(), lquery_recv(), lquery_send(), lrq_free(), ltree_addtext(), ltree_picksplit(), ltree_recv(), ltree_send(), ltree_strncasecmp(), ltree_textadd(), ltxtq_recv(), ltxtq_send(), lz4_compress_datum(), main(), make_greater_string(), make_partition_pruneinfo(), make_partitionedrel_pruneinfo(), make_scalar_key(), make_tsvector(), make_tuple_indirect(), makeArrayTypeName(), makeMultirangeConstructors(), map_sql_value_to_xml_value(), mark_hl_fragments(), match_orclause_to_indexcol(), MatchText(), MaybeRemoveOldWalSummaries(), mbuf_free(), mcelem_array_contained_selec(), mcelem_array_selec(), mcelem_tsquery_selec(), mcv_clause_selectivity_or(), mcv_get_match_bitmap(), mdcbuf_free(), mdcreate(), mdopenfork(), mdsyncfiletag(), mdunlinkfiletag(), mdunlinkfork(), merge_acl_with_grant(), merge_clump(), mergeruns(), mkANode(), moddatetime(), mode_final(), moveArrayTypeName(), movedb(), movedb_failure_callback(), mul_var(), multirange_recv(), MultiXactIdExpand(), MultiXactIdGetUpdateXid(), MultiXactIdIsRunning(), mXactCachePut(), mxid_to_string(), namerecv(), next_field_expand(), NextCopyFrom(), NIImportAffixes(), NIImportDictionary(), NIImportOOAffixes(), NINormalizeWord(), NormalizeSubWord(), NUM_cache(), numeric_abbrev_convert(), numeric_fast_cmp(), numeric_float4(), numeric_float8(), numeric_to_number(), numericvar_to_double_no_overflow(), object_aclmask_ext(), pa_free_worker_info(), pa_launch_parallel_worker(), pad_eme_pkcs1_v15(), PageRestoreTempPage(), pagetable_free(), pair_encode(), pairingheap_free(), parallel_vacuum_end(), parallel_vacuum_init(), parallel_vacuum_process_one_index(), ParameterAclLookup(), parse_and_validate_value(), parse_args(), parse_compress_specification(), parse_extension_control_file(), parse_fcall_arguments(), parse_hba_line(), parse_lquery(), parse_ltree(), parse_manifest_file(), parse_one_reloption(), parse_subscription_options(), parse_tsquery(), parseCommandLine(), ParseConfigFile(), ParseConfigFp(), parseNameAndArgTypes(), parseRelOptionsInternal(), parsetext(), patternsel_common(), pclose_check(), perform_base_backup(), perform_work_item(), PerformAuthentication(), PerformRadiusTransaction(), PerformWalRecovery(), pg_armor(), pg_attribute_aclcheck_all_ext(), pg_attribute_aclmask_ext(), pg_backup_stop(), pg_be_scram_build_secret(), pg_class_aclmask_ext(), pg_convert(), pg_crypt(), pg_dearmor(), pg_decode_commit_txn(), pg_decode_stream_abort(), pg_decode_stream_commit(), pg_encrypt(), pg_extension_update_paths(), pg_get_constraintdef_worker(), pg_get_expr_worker(), pg_get_function_arg_default(), pg_get_indexdef_worker(), pg_get_line(), pg_get_multixact_members(), pg_get_partkeydef_worker(), pg_get_statisticsobj_worker(), pg_get_statisticsobjdef_expressions(), pg_get_wal_block_info(), pg_get_wal_record_info(), pg_identify_object_as_address(), pg_largeobject_aclmask_snapshot(), pg_namespace_aclmask_ext(), pg_parameter_acl_aclmask(), pg_parameter_aclmask(), pg_parse_query(), pg_plan_query(), pg_replication_origin_create(), pg_replication_origin_drop(), pg_replication_origin_oid(), pg_replication_origin_session_setup(), pg_rewrite_query(), pg_split_opts(), pg_stat_file(), pg_stat_get_activity(), pg_stat_get_backend_activity(), pg_stat_statements_internal(), pg_sync_replication_slots(), pg_tablespace_databases(), pg_type_aclmask_ext(), pg_tzenumerate_end(), pg_tzenumerate_next(), pgfnames_cleanup(), PGLC_localeconv(), pglz_compress_datum(), pgoutput_commit_txn(), pgp_cfb_free(), pgp_create_pkt_reader(), pgp_free(), pgp_key_free(), pgp_mpi_free(), pgss_shmem_startup(), pgss_store(), pgstat_delete_pending_entry(), pgstat_release_entry_ref(), pkt_stream_free(), pktreader_free(), plainnode(), plperl_build_tuple_result(), plperl_call_perl_func(), plperl_hash_from_tuple(), plperl_modify_tuple(), plperl_spi_exec_prepared(), plperl_spi_prepare(), plperl_spi_query_prepared(), plperl_sv_to_datum(), plperl_trigger_handler(), plperl_util_elog(), plpgsql_destroy_econtext(), plpgsql_extra_checks_check_hook(), plpgsql_subxact_cb(), pltcl_build_tuple_argument(), pltcl_func_handler(), pltcl_quote(), pltcl_set_tuple_values(), pltcl_trigger_handler(), PLy_abort_open_subtransactions(), PLy_elog_impl(), PLy_function_drop_args(), PLy_function_restore_args(), PLy_input_setup_tuple(), PLy_modify_tuple(), PLy_output(), PLy_output_setup_tuple(), PLy_pop_execution_context(), PLy_procedure_compile(), PLy_procedure_create(), PLy_quote_literal(), PLy_quote_nullable(), PLy_subtransaction_exit(), PLy_traceback(), PLy_trigger_build_args(), PLyGenericObject_ToComposite(), PLyMapping_ToComposite(), PLyNumber_ToJsonbValue(), PLySequence_ToComposite(), PLyUnicode_Bytes(), PLyUnicode_FromScalar(), PLyUnicode_FromStringAndSize(), PopActiveSnapshot(), PopTransaction(), populate_array(), populate_record(), populate_scalar(), PortalDrop(), postgresExecForeignTruncate(), postgresGetForeignJoinPaths(), PostmasterMain(), PostPrepare_smgr(), pprint(), pq_endmessage(), pq_puttextmessage(), pq_sendcountedtext(), pq_sendstring(), pq_sendtext(), pq_writestring(), PrepareTempTablespaces(), preprocessNamespacePath(), PrescanPreparedTransactions(), print(), print_expr(), print_function_arguments(), printtup_destroy(), printtup_prepare_info(), printtup_shutdown(), ProcArrayApplyRecoveryInfo(), process_directory_recursively(), process_ordered_aggregate_single(), process_pipe_input(), process_postgres_switches(), process_target_wal_block_change(), ProcessCommittedInvalidationMessages(), ProcessConfigFileInternal(), ProcessGUCArray(), ProcessStandbyHSFeedbackMessage(), ProcessStandbyReplyMessage(), ProcessWalSndrMessage(), ProcSleep(), prs_process_call(), prune_element_hashtable(), prune_lexemes_hashtable(), psprintf(), psql_add_command(), psql_start_test(), pullf_free(), pushf_free(), PushTransaction(), pushval_morph(), px_find_cipher(), px_find_combo(), px_find_digest(), QTNFree(), QTNTernary(), queryin(), range_recv(), rbt_populate(), RE_compile(), RE_compile_and_cache(), RE_execute(), read_client_final_message(), read_dictionary(), read_pg_version_file(), read_stream_end(), ReadArrayStr(), readfile(), readstoplist(), reconstruct_from_incremental_file(), record_cmp(), record_eq(), record_image_cmp(), record_image_eq(), record_in(), record_out(), record_recv(), record_send(), recordMultipleDependencies(), RecordTransactionAbort(), RecordTransactionCommit(), RecoverPreparedTransactions(), recursive_revoke(), recv_password_packet(), regcomp_auth_token(), regex_fixed_prefix(), regexec_auth_token(), regexp_fixed_prefix(), regression_main(), RehashCatCache(), RehashCatCacheLists(), reindex_one_database(), ReinitializeParallelDSM(), RelationBuildPartitionKey(), RelationBuildPublicationDesc(), RelationBuildRowSecurity(), RelationBuildRuleLock(), RelationBuildTriggers(), RelationBuildTupleDesc(), RelationCacheInitializePhase3(), RelationDestroyRelation(), RelationGetDummyIndexExpressions(), RelationGetIndexAttOptions(), RelationGetIndexExpressions(), RelationGetIndexPredicate(), RelationInvalidateRelation(), RelationParseRelOptions(), RelationPreserveStorage(), RelationReloadIndexInfo(), ReleaseDummy(), ReleaseManyTestResource(), ReleasePostmasterChildSlot(), relmap_redo(), remove_cache_entry(), remove_dbtablespaces(), remove_leftjoinrel_from_query(), remove_self_join_rel(), RemoveLocalLock(), RenameTypeInternal(), ReorderBufferFreeSnap(), ReorderBufferIterTXNFinish(), ReorderBufferReturnChange(), ReorderBufferReturnRelids(), ReorderBufferReturnTupleBuf(), ReorderBufferReturnTXN(), ReorderBufferToastReplace(), ReorderBufferToastReset(), reorderqueue_pop(), replace_auto_config_value(), replace_text(), replace_text_regexp(), replication_scanner_finish(), ReplicationSlotDropAtPubNode(), ReplicationSlotRelease(), ReplSlotSyncWorkerMain(), report_corruption_internal(), report_invalid_page(), report_triggers(), reportDependentObjects(), ReportGUCOption(), ReportSlotInvalidation(), reset_directory_cleanup_list(), reset_on_dsm_detach(), ResetDecoder(), resetSpGistScanOpaque(), resolve_aggregate_transtype(), ResourceOwnerDelete(), ResourceOwnerEnlarge(), ResourceOwnerReleaseAll(), RestoreArchivedFile(), rewriteTargetListIU(), rewriteValuesRTE(), rm_redo_error_callback(), rmtree(), RS_free(), RT_END_ITERATE(), RT_FREE(), RT_FREE_LEAF(), RT_FREE_NODE(), run_ssl_passphrase_command(), scanner_finish(), scanPendingInsert(), scram_verify_plain_password(), secure_open_server(), select_active_windows(), select_outer_pathkeys_for_merge(), send_message_to_frontend(), send_message_to_server_log(), sendDir(), SendFunctionResult(), sepgsql_attribute_drop(), sepgsql_attribute_post_create(), sepgsql_attribute_relabel(), sepgsql_attribute_setattr(), sepgsql_avc_check_perms(), sepgsql_avc_compute(), sepgsql_avc_reclaim(), sepgsql_database_drop(), sepgsql_database_post_create(), sepgsql_database_relabel(), sepgsql_database_setattr(), sepgsql_proc_drop(), sepgsql_proc_execute(), sepgsql_proc_post_create(), sepgsql_proc_relabel(), sepgsql_proc_setattr(), sepgsql_relation_drop(), sepgsql_relation_post_create(), sepgsql_relation_relabel(), sepgsql_relation_setattr(), sepgsql_relation_truncate(), sepgsql_schema_drop(), sepgsql_schema_post_create(), sepgsql_schema_relabel(), sepgsql_xact_callback(), seq_redo(), seq_search_localized(), serialize_deflist(), serialize_prepare_info(), serializeAnalyzeDestroy(), serializeAnalyzeShutdown(), set_append_rel_size(), set_customscan_references(), set_foreignscan_references(), set_indexonlyscan_references(), set_join_references(), set_plan_refs(), set_returning_clause_references(), set_subquery_pathlist(), set_upper_references(), set_var_from_str(), set_windowagg_runcondition_references(), SetClientEncoding(), setCorrLex(), setNewTmpRes(), setup_regexp_matches(), setup_test_matches(), shared_buffer_write_error_callback(), shdepLockAndCheckObject(), shell_archive_file(), shell_finish_command(), shm_mq_detach(), shm_mq_receive(), show_memoize_info(), show_trgm(), ShowAllGUCConfig(), ShowTransactionStateRec(), ShowUsage(), ShutdownExprContext(), SignalBackends(), similarity(), single_encode(), slotsync_reread_config(), smgr_bulk_flush(), smgr_desc(), smgrDoPendingDeletes(), smgrDoPendingSyncs(), smgrdounlinkall(), SnapBuildFreeSnapshot(), SnapBuildPurgeOlderTxn(), SnapBuildRestore(), SnapBuildSerialize(), spg_box_quad_inner_consistent(), spgClearPendingList(), spgdoinsert(), spgendscan(), spgFreeSearchItem(), spggettuple(), spgRedoVacuumRedirect(), SPI_cursor_open(), SPI_modifytuple(), SPI_pfree(), split_text(), SplitIdentifierString(), SplitToVariants(), sqlfunction_destroy(), StandbyRecoverPreparedTransactions(), StandbyTransactionIdIsPrepared(), start_table_sync(), StartPrepare(), startScanEntry(), StartupRereadConfig(), statext_mcv_build(), statext_mcv_deserialize(), statext_mcv_serialize(), StoreAttrDefault(), storeObjectDescription(), StorePartitionKey(), StoreRelCheck(), storeRow(), string_to_text(), stringToQualifiedNameList(), strlower_libc_mb(), strncoll_libc(), strnxfrm_libc(), strtitle_libc_mb(), strupper_libc_mb(), sts_end_write(), sts_read_tuple(), SummarizeWAL(), synchronize_slots(), SyncPostCheckpoint(), syncrep_scanner_finish(), SyncRepGetNthLatestSyncRecPtr(), SyncRepGetSyncRecPtr(), SysLogger_Start(), SysLoggerMain(), systable_beginscan(), systable_beginscan_ordered(), systable_endscan(), systable_endscan_ordered(), tablesample_init(), TablespaceCreateDbspace(), tbm_end_private_iterate(), tbm_end_shared_iterate(), tbm_free(), terminate_brin_buildstate(), test_basic(), test_destroy(), test_enc_conversion(), test_random(), test_re_compile(), test_shm_mq_setup(), test_singlerowmode(), testdelete(), testprs_end(), text2ltree(), text_format(), text_format_string_conversion(), text_substring(), text_to_cstring(), text_to_cstring_buffer(), text_to_stavalues(), textrecv(), textToQualifiedNameList(), thesaurus_lexize(), thesaurusRead(), TidListEval(), TidStoreDestroy(), TidStoreDetach(), TidStoreEndIterate(), toast_build_flattened_tuple(), toast_close_indexes(), toast_compress_datum(), toast_flatten_tuple(), toast_flatten_tuple_to_datum(), toast_tuple_cleanup(), toast_tuple_externalize(), toast_tuple_try_compression(), tokenize_auth_file(), tokenize_expand_file(), tokenize_include_file(), TParserClose(), TParserCopyClose(), TParserGet(), tqueueDestroyReceiver(), tqueueReceiveSlot(), TransformGUCArray(), transformRangeTableFunc(), transientrel_destroy(), try_partitionwise_join(), ts_accum(), TS_execute_locations_recurse(), ts_headline_byid_opt(), ts_headline_json_byid_opt(), ts_headline_jsonb_byid_opt(), ts_lexize(), ts_match_tq(), ts_match_tt(), ts_process_call(), ts_stat_sql(), tsearch_readline(), tsearch_readline_end(), tsquery_rewrite_query(), tsqueryrecv(), tsquerytree(), tstoreDestroyReceiver(), tstoreReceiveSlot_detoast(), tstoreShutdownReceiver(), tsvector_delete_arr(), tsvector_to_array(), tsvector_update_trigger(), tsvectorin(), tt_process_call(), ttdummy(), tts_virtual_clear(), tuple_data_split(), tuple_data_split_internal(), tuplesort_begin_batch(), tuplesort_begin_cluster(), tuplesort_begin_index_btree(), tuplestore_advance(), tuplestore_end(), tuplestore_skiptuples(), tuplestore_trim(), typeDepNeeded(), typenameTypeMod(), unaccent_dict(), uniqueentry(), uniqueWORD(), unistr(), UnregisterExprContextCallback(), UnregisterResourceReleaseCallback(), UnregisterSubXactCallback(), UnregisterXactCallback(), updateAclDependenciesWorker(), UpdateIndexRelation(), UpdateLogicalMappings(), upper(), vac_close_indexes(), validate_remote_info(), varcharrecv(), varlenafastcmp_locale(), varstr_abbrev_convert(), varstrfastcmp_c(), verify_backup_checksums(), verify_cb(), verify_control_file(), verify_plain_backup_directory(), verify_tar_backup(), wait_for_connection_state(), WaitForOlderSnapshots(), WaitForParallelWorkersToExit(), walrcv_clear_result(), WalRcvFetchTimeLineHistoryFiles(), WalReceiverMain(), worker_freeze_result_tape(), write_auto_conf_file(), write_console(), write_csvlog(), write_jsonlog(), write_reconstructed_file(), X509_NAME_field_to_text(), X509_NAME_to_cstring(), xact_desc_relations(), XLogDecodeNextRecord(), XLogDumpDisplayRecord(), XLogInsertRecord(), XLogPrefetcherFree(), XLogReaderAllocate(), XLogReaderFree(), XLogReleasePreviousRecord(), XLOGShmemInit(), xml_encode_special_chars(), xml_out_internal(), xml_recv(), xml_send(), xmlconcat(), xmlpi(), xpath_bool(), xpath_list(), xpath_nodeset(), xpath_number(), xpath_string(), xpath_table(), and yyfree().

◆ pnstrdup()

◆ ProcessLogMemoryContextInterrupt()

void ProcessLogMemoryContextInterrupt ( void  )

Definition at line 1289 of file mcxt.c.

1290{
1292
1293 /*
1294 * Use LOG_SERVER_ONLY to prevent this message from being sent to the
1295 * connected client.
1296 */
1298 (errhidestmt(true),
1299 errhidecontext(true),
1300 errmsg("logging memory contexts of PID %d", MyProcPid)));
1301
1302 /*
1303 * When a backend process is consuming huge memory, logging all its memory
1304 * contexts might overrun available disk space. To prevent this, we limit
1305 * the depth of the hierarchy, as well as the number of child contexts to
1306 * log per parent to 100.
1307 *
1308 * As with MemoryContextStats(), we suppose that practical cases where the
1309 * dump gets long will typically be huge numbers of siblings under the
1310 * same parent context; while the additional debugging value from seeing
1311 * details about individual siblings beyond 100 will not be large.
1312 */
1314}
int MyProcPid
Definition: globals.c:46

References ereport, errhidecontext(), errhidestmt(), errmsg(), LOG_SERVER_ONLY, LogMemoryContextPending, MemoryContextStatsDetail(), MyProcPid, and TopMemoryContext.

Referenced by HandleAutoVacLauncherInterrupts(), HandleCheckpointerInterrupts(), HandleMainLoopInterrupts(), HandlePgArchInterrupts(), HandleStartupProcInterrupts(), HandleWalSummarizerInterrupts(), and ProcessInterrupts().

◆ pstrdup()

char * pstrdup ( const char *  in)

Definition at line 1696 of file mcxt.c.

1697{
1699}
char * MemoryContextStrdup(MemoryContext context, const char *string)
Definition: mcxt.c:1683

References CurrentMemoryContext, and MemoryContextStrdup().

Referenced by AbsoluteConfigLocation(), accesstype_arg_to_string(), add_row_identity_var(), add_with_check_options(), addCompiledLexeme(), addFkConstraint(), addRangeTableEntryForFunction(), addRangeTableEntryForGroup(), addRangeTableEntryForSubquery(), addRangeTableEntryForTableFunc(), addRangeTableEntryForValues(), AddRelationNotNullConstraints(), addToResult(), allocate_reloption(), AlterRole(), analyzeCTETargetList(), anytime_typmodout(), anytimestamp_typmodout(), append_database_pattern(), append_relation_pattern_helper(), append_schema_pattern(), ApplyRetrieveRule(), array_out(), astreamer_extractor_new(), astreamer_gzip_writer_new(), astreamer_plain_writer_new(), ATExecAddIndexConstraint(), ATExecAlterConstraint(), ATParseTransformCmd(), BaseBackupAddTarget(), BeginCopyFrom(), BeginCopyTo(), BootstrapModeMain(), BufFileCreateFileSet(), BufFileOpenFileSet(), build_datatype(), build_minmax_path(), build_server_first_message(), buildDefItem(), BuildOnConflictExcludedTargetlist(), buildRelationAliases(), BuildRestoreCommand(), cache_locale_time(), CatalogCacheInitializeCache(), check_createrole_self_grant(), check_datestyle(), check_debug_io_direct(), check_hostname(), check_locale(), check_log_destination(), check_restrict_nonsystem_relation_kind(), check_search_path(), check_selective_binary_conversion(), check_synchronized_standby_slots(), check_temp_tablespaces(), check_timezone(), check_tuple_header(), check_tuple_visibility(), check_valid_internal_signature(), check_wal_consistency_checking(), checkInsertTargets(), ChooseExtendedStatisticNameAddition(), ChooseForeignKeyConstraintNameAddition(), ChooseIndexColumnNames(), ChooseIndexNameAddition(), CloneRowTriggersToPartition(), compile_database_list(), compile_plperl_function(), compile_pltcl_function(), compile_relation_list_one_db(), compileTheSubstitute(), connectby_text(), connectby_text_serial(), convert_GUC_name_for_parameter_acl(), convert_string_datum(), CopyCachedPlan(), CopyErrorData(), CopyLimitPrintoutLength(), CopyTriggerDesc(), copyTSLexeme(), CopyVar(), create_foreign_modify(), CreateCachedPlan(), CreateLockFile(), createNewConnection(), CreateParallelContext(), CreateSchemaCommand(), CreateTableSpace(), CreateTupleDescCopyConstr(), cstring_in(), cstring_out(), date_out(), dbase_redo(), defGetString(), DefineQueryRewrite(), DefineView(), DefineViewRules(), deleteConnection(), destroy_tablespace_directories(), DetachPartitionFinalize(), determineNotNullFlags(), determineRecursiveColTypes(), do_compile(), do_pg_backup_start(), DoCopy(), DropSubscription(), dsynonym_init(), ean13_out(), encrypt_password(), enum_out(), EventTriggerSQLDropAddObject(), exec_bind_message(), exec_execute_message(), Exec_ListenCommit(), executeItemOptUnwrapTarget(), expand_dynamic_library_name(), expand_inherited_rtentry(), expand_insert_targetlist(), expand_single_inheritance_child(), ExpandRowReference(), expandRTE(), expandTableLikeClause(), expandTupleDesc(), ExportSnapshot(), extension_file_exists(), ExtractExtensionList(), fetch_statentries_for_relation(), fill_hba_line(), filter_list_to_array(), find_plan(), float4in_internal(), float8in_internal(), fmgr_symbol(), format_operator_parts(), format_procedure_parts(), format_type_extended(), from_char_seq_search(), generate_append_tlist(), generate_setop_tlist(), generateClonedIndexStmt(), generateJsonTablePathName(), get_am_name(), get_attname(), get_collation(), get_collation_actual_version_libc(), get_collation_name(), get_configdata(), get_connect_string(), get_constraint_name(), get_database_list(), get_database_name(), get_ext_ver_info(), get_ext_ver_list(), get_extension_name(), get_extension_script_directory(), get_file_fdw_attribute_options(), get_func_name(), get_language_name(), get_namespace_name(), get_namespace_name_or_temp(), get_opclass(), get_opfamily_name(), get_opname(), get_publication_name(), get_rel_name(), get_rolespec_name(), get_source_line(), get_sql_insert(), get_sql_update(), get_string_attr(), get_subscription_list(), get_subscription_name(), get_tablespace_name(), getAdditionalACLs(), GetConfFilesInDir(), GetConfigOptionValues(), getConnectionByName(), GetDatabasePath(), GetForeignDataWrapperExtended(), GetForeignServerExtended(), GetJsonBehaviorValueString(), getNamespaces(), getObjectIdentityParts(), getOpFamilyIdentity(), GetPublication(), getRecoveryStopReason(), getRelationIdentity(), GetSubscription(), getTokenTypes(), GetUserNameFromId(), GetWaitEventCustomNames(), gtsvectorout(), HandleParallelApplyMessage(), HandleParallelMessage(), HandlePgArchInterrupts(), heap_vacuum_rel(), hstore_out(), ImportForeignSchema(), indent_lines(), init_sql_fcache(), injection_points_attach(), internal_yylex(), interpret_AS_clause(), interpret_function_parameter_list(), interval_out(), isn_out(), iterate_values_object_field_start(), json_build_object_worker(), JsonbUnquote(), JsonTableInitOpaque(), lazy_cleanup_one_index(), lazy_vacuum_one_index(), libpqrcv_check_conninfo(), libpqrcv_create_slot(), libpqrcv_get_conninfo(), libpqrcv_get_dbname_from_conninfo(), libpqrcv_get_senderinfo(), libpqrcv_identify_system(), libpqrcv_readtimelinehistoryfile(), llvm_error_message(), llvm_function_reference(), llvm_set_target(), llvm_split_symbol_name(), load_domaintype_info(), load_libraries(), Lock_AF_UNIX(), logicalrep_partition_open(), logicalrep_read_attrs(), logicalrep_read_origin(), logicalrep_read_rel(), logicalrep_read_typ(), logicalrep_relmap_update(), main(), make_rfile(), makeAlias(), makeColumnDef(), makeJsonTablePathSpec(), makeMultirangeTypeName(), map_sql_value_to_xml_value(), MarkGUCPrefixReserved(), MergeAttributes(), MergeCheckConstraint(), nameout(), network_out(), NINormalizeWord(), NormalizeSubWord(), nullable_string(), numeric_normalize(), numeric_out(), numeric_out_sci(), object_to_string(), okeys_object_field_start(), parallel_vacuum_main(), parallel_vacuum_process_one_index(), parse_compress_specification(), parse_extension_control_file(), parse_hba_auth_opt(), parse_hba_line(), parse_ident_line(), parse_scram_secret(), parse_subscription_options(), ParseConfigFp(), ParseLongOption(), parseNameAndArgTypes(), ParseTzFile(), perform_base_backup(), PerformCursorOpen(), pg_available_extension_versions(), pg_available_extensions(), pg_import_system_collations(), pg_lsn_out(), pg_split_opts(), pg_split_walfile_name(), pg_tzenumerate_next(), pg_tzenumerate_start(), pgfnames(), PGLC_localeconv(), pgrowlocks(), pgstatindex_impl(), plperl_init_interp(), plperl_to_hstore(), plpgsql_build_recfield(), plpgsql_build_record(), plpgsql_build_variable(), plpgsql_compile_inline(), plpgsql_extra_checks_check_hook(), plsample_func_handler(), plsample_trigger_handler(), pltcl_set_tuple_values(), PLy_output(), PLy_procedure_create(), PLyObject_AsString(), PLyUnicode_AsString(), populate_scalar(), postgresImportForeignSchema(), PostmasterMain(), pq_parse_errornotice(), precheck_tar_backup_file(), prepare_foreign_modify(), prepare_sql_fn_parse_info(), PrepareTempTablespaces(), preprocess_targetlist(), preprocessNamespacePath(), print_function_sqlbody(), process_integer_literal(), process_psqlrc(), ProcessConfigFileInternal(), ProcessStandbyHSFeedbackMessage(), ProcessStandbyReplyMessage(), ProcessStartupPacket(), ProcessWalSndrMessage(), prsd_headline(), prsd_lextype(), pset_value_string(), px_find_combo(), QueueFKConstraintValidation(), range_deparse(), read_client_final_message(), read_client_first_message(), read_dictionary(), read_extension_control_file(), read_tablespace_map(), RebuildConstraintComment(), record_config_file_error(), regclassout(), regcollationout(), regconfigout(), regdictionaryout(), register_label_provider(), regnamespaceout(), regoperatorout(), regoperout(), regprocedureout(), regprocout(), REGRESS_exec_check_perms(), REGRESS_object_access_hook_str(), REGRESS_utility_command(), regroleout(), regtypeout(), ReindexPartitions(), RelationBuildTriggers(), RelationGetNotNullConstraints(), RemoveInheritance(), ReorderBufferFinishPrepared(), ReorderBufferPrepare(), ReorderBufferQueueMessage(), replace_auto_config_value(), ReplicationSlotRelease(), ReThrowError(), rewriteTargetListIU(), rewriteTargetView(), rmtree(), scram_exchange(), sendDir(), sepgsql_avc_compute(), sepgsql_compute_create(), sepgsql_get_label(), sepgsql_mcstrans_in(), sepgsql_mcstrans_out(), sepgsql_set_client_label(), set_relation_column_names(), set_stream_options(), shell_archive_file(), shell_get_sink(), show_sort_group_keys(), ShowGUCOption(), slotsync_reread_config(), SPI_fname(), SPI_getrelname(), SPI_gettype(), SplitDirectoriesString(), splitTzLine(), StartupRereadConfig(), stringToQualifiedNameList(), strip_trailing_ws(), substitute_libpath_macro(), SysLoggerMain(), test_rls_hooks_permissive(), test_rls_hooks_restrictive(), testprs_lextype(), textToQualifiedNameList(), thesaurus_init(), throw_tcl_error(), ThrowErrorData(), tidout(), time_out(), timestamp_out(), timestamptz_out(), timetz_out(), tokenize_auth_file(), tokenize_expand_file(), transformFkeyGetPrimaryKey(), transformIndexConstraint(), transformJsonArrayQueryConstructor(), transformJsonTableColumn(), transformJsonTableColumns(), transformRangeTableFunc(), transformRowExpr(), transformSetOperationStmt(), transformTableLikeClause(), tsearch_readline(), typeTypeName(), unknownin(), unknownout(), utf_e2u(), utf_u2e(), verify_plain_backup_directory(), void_out(), wait_result_to_str(), worker_spi_main(), X509_NAME_to_cstring(), and xpstrdup().

◆ repalloc()

void * repalloc ( void *  pointer,
Size  size 
)

Definition at line 1541 of file mcxt.c.

1542{
1543#ifdef USE_VALGRIND
1545#endif
1546#if defined(USE_ASSERT_CHECKING) || defined(USE_VALGRIND)
1547 MemoryContext context = GetMemoryChunkContext(pointer);
1548#endif
1549 void *ret;
1550
1552
1553 /* isReset must be false already */
1554 Assert(!context->isReset);
1555
1556 /*
1557 * For efficiency reasons, we purposefully offload the handling of
1558 * allocation failures to the MemoryContextMethods implementation as this
1559 * allows these checks to be performed only when an actual malloc needs to
1560 * be done to request more memory from the OS. Additionally, not having
1561 * to execute any instructions after this call allows the compiler to use
1562 * the sibling call optimization. If you're considering adding code after
1563 * this call, consider making it the responsibility of the 'realloc'
1564 * function instead.
1565 */
1566 ret = MCXT_METHOD(pointer, realloc) (pointer, size, 0);
1567
1568#ifdef USE_VALGRIND
1569 if (method != MCTX_ALIGNED_REDIRECT_ID)
1570 VALGRIND_MEMPOOL_CHANGE(context, pointer, ret, size);
1571#endif
1572
1573 return ret;
1574}
#define realloc(a, b)
Definition: header.h:60
#define VALGRIND_MEMPOOL_CHANGE(context, optr, nptr, size)
Definition: memdebug.h:31

References Assert, AssertNotInCriticalSection, GetMemoryChunkContext(), GetMemoryChunkMethodID(), MemoryContextData::isReset, MCTX_ALIGNED_REDIRECT_ID, MCXT_METHOD, realloc, size, and VALGRIND_MEMPOOL_CHANGE.

Referenced by _bt_deadblocks(), _bt_pendingfsm_add(), _fdvec_resize(), accumArrayResult(), accumArrayResultArr(), add_column_to_pathtarget(), add_exact_object_address(), add_exact_object_address_extra(), add_gin_entry(), add_object_address(), add_reloption(), addCompiledLexeme(), addCompoundAffixFlagValue(), AddInvalidationMessage(), addlit(), addlitchar(), AddStem(), addToArray(), addWrd(), AfterTriggerBeginSubXact(), AfterTriggerEnlargeQueryState(), appendElement(), appendKey(), apply_spooled_messages(), array_agg_array_combine(), array_agg_combine(), array_set_element_expanded(), AtSubCommit_childXids(), BlockRefTableEntryMarkBlockModified(), bms_add_member(), bms_add_range(), bms_replace_members(), brin_copy_tuple(), BufferSync(), BufFileAppend(), BufFileOpenFileSet(), checkcondition_str(), checkSharedDependencies(), compileTheLexeme(), compileTheSubstitute(), CopyReadAttributesCSV(), CopyReadAttributesText(), core_yyrealloc(), count_usable_fds(), cube_inter(), do_set_block_offsets(), dsnowball_lexize(), dsynonym_init(), dxsyn_lexize(), enlarge_list(), enlargeStringInfo(), enum_range_internal(), ExecIndexBuildScanKeys(), ExecInitPartitionDispatchInfo(), ExecInitRoutingInfo(), ExprEvalPushStep(), extendBufFile(), find_inheritance_children_extended(), find_plan(), findDependentObjects(), generate_dependencies_recurse(), generateHeadline(), get_docrep(), GetComboCommandId(), GetConfFilesInDir(), GetLockStatusData(), GetSingleProcBlockerStatusData(), gettoken_tsvector(), ginFillScanEntry(), GinFormTuple(), ginPostingListDecodeAllSegments(), gistAddLoadedBuffer(), gistBuffersReleaseBlock(), gistGetNodeBuffer(), gistjoinvector(), gtsvector_compress(), hladdword(), hlfinditem(), icu_language_tag(), int2vectorin(), jsonpath_yyrealloc(), load_domaintype_info(), load_enum_cache_data(), load_relcache_init_file(), LockAcquireExtended(), lookup_type_cache(), ltsGetPreallocBlock(), ltsReleaseBlock(), mark_hl_fragments(), MergeAffix(), multirange_in(), newLexeme(), NIAddAffix(), NIAddSpell(), NISortAffixes(), oidvectorin(), oidvectortypes(), okeys_object_field_start(), parse_hstore(), parsetext(), perform_default_encoding_conversion(), pg_do_encoding_conversion(), pg_import_system_collations(), pgfnames(), pgss_shmem_startup(), plainnode(), plpgsql_adddatum(), prepare_room(), PrescanPreparedTransactions(), prs_setup_firstcall(), pushval_asis(), pushValue(), QTNTernary(), read_dictionary(), readstoplist(), record_corrupt_item(), RecordConstLocation(), RelationBuildDesc(), RelationBuildRuleLock(), RelationBuildTriggers(), RememberToFreeTupleDescAtEOX(), ReorderBufferAddInvalidations(), ReorderBufferSerializeReserve(), repalloc0(), RequestNamedLWLockTranche(), resize_intArrayType(), resizeString(), rmtree(), SetConstraintStateAddItem(), setup_regexp_matches(), setup_test_matches(), smgrDoPendingDeletes(), smgrDoPendingSyncs(), SnapBuildAddCommittedTxn(), socket_putmessage_noblock(), SPI_connect_ext(), SPI_repalloc(), statext_dependencies_build(), statext_dependencies_deserialize(), statext_mcv_deserialize(), str_casefold(), str_initcap(), str_tolower(), str_toupper(), str_udeescape(), subxact_info_add(), TidListEval(), tsqueryrecv(), tsvectorin(), tsvectorrecv(), tuplestore_alloc_read_pointer(), uniqueentry(), uniqueWORD(), varstr_abbrev_convert(), varstrfastcmp_locale(), XLogEnsureRecordSpace(), and yyrealloc().

◆ repalloc0()

void * repalloc0 ( void *  pointer,
Size  oldsize,
Size  size 
)

Definition at line 1619 of file mcxt.c.

1620{
1621 void *ret;
1622
1623 /* catch wrong argument order */
1624 if (unlikely(oldsize > size))
1625 elog(ERROR, "invalid repalloc0 call: oldsize %zu, new size %zu",
1626 oldsize, size);
1627
1628 ret = repalloc(pointer, size);
1629 memset((char *) ret + oldsize, 0, (size - oldsize));
1630 return ret;
1631}
void * repalloc(void *pointer, Size size)
Definition: mcxt.c:1541

References elog, ERROR, repalloc(), size, and unlikely.

◆ repalloc_extended()

void * repalloc_extended ( void *  pointer,
Size  size,
int  flags 
)

Definition at line 1582 of file mcxt.c.

1583{
1584#if defined(USE_ASSERT_CHECKING) || defined(USE_VALGRIND)
1585 MemoryContext context = GetMemoryChunkContext(pointer);
1586#endif
1587 void *ret;
1588
1590
1591 /* isReset must be false already */
1592 Assert(!context->isReset);
1593
1594 /*
1595 * For efficiency reasons, we purposefully offload the handling of
1596 * allocation failures to the MemoryContextMethods implementation as this
1597 * allows these checks to be performed only when an actual malloc needs to
1598 * be done to request more memory from the OS. Additionally, not having
1599 * to execute any instructions after this call allows the compiler to use
1600 * the sibling call optimization. If you're considering adding code after
1601 * this call, consider making it the responsibility of the 'realloc'
1602 * function instead.
1603 */
1604 ret = MCXT_METHOD(pointer, realloc) (pointer, size, flags);
1605 if (unlikely(ret == NULL))
1606 return NULL;
1607
1608 VALGRIND_MEMPOOL_CHANGE(context, pointer, ret, size);
1609
1610 return ret;
1611}

References Assert, AssertNotInCriticalSection, GetMemoryChunkContext(), MemoryContextData::isReset, MCXT_METHOD, realloc, size, unlikely, and VALGRIND_MEMPOOL_CHANGE.

Referenced by guc_realloc(), and repalloc_huge().

◆ repalloc_huge()

void * repalloc_huge ( void *  pointer,
Size  size 
)

Definition at line 1672 of file mcxt.c.

1673{
1674 /* this one seems not worth its own implementation */
1675 return repalloc_extended(pointer, size, MCXT_ALLOC_HUGE);
1676}
void * repalloc_extended(void *pointer, Size size, int flags)
Definition: mcxt.c:1582

References MCXT_ALLOC_HUGE, repalloc_extended(), and size.

Referenced by ginCombineData(), grow_memtuples(), and spi_printtup().

Variable Documentation

◆ CacheMemoryContext

MemoryContext CacheMemoryContext = NULL

Definition at line 152 of file mcxt.c.

Referenced by _SPI_save_plan(), AllocateRelationDesc(), assign_record_type_typmod(), AttrDefaultFetch(), BuildEventTriggerCache(), BuildHardcodedDescriptor(), CatalogCacheCreateEntry(), CatalogCacheInitializeCache(), CheckConstraintFetch(), CreateCacheMemoryContext(), ensure_record_cache_typmod_slot_exists(), FetchTableStates(), generate_partition_qual(), get_attribute_options(), get_tablespace(), GetCachedExpression(), GetCachedPlan(), GetFdwRoutineForRelation(), init_ts_config_cache(), InitCatCache(), InitializeAttoptCache(), InitializeRelfilenumberMap(), InitializeTableSpaceCache(), load_domaintype_info(), load_enum_cache_data(), load_rangetype_info(), load_relcache_init_file(), logicalrep_partmap_init(), logicalrep_relmap_init(), lookup_ts_config_cache(), lookup_ts_dictionary_cache(), lookup_ts_parser_cache(), lookup_type_cache(), LookupOpclassInfo(), pgoutput_startup(), register_on_commit_action(), RehashCatCache(), RehashCatCacheLists(), RelationBuildLocalRelation(), RelationBuildPartitionDesc(), RelationBuildPartitionKey(), RelationBuildPublicationDesc(), RelationBuildRowSecurity(), RelationBuildRuleLock(), RelationBuildTriggers(), RelationBuildTupleDesc(), RelationCacheInitialize(), RelationCacheInitializePhase2(), RelationCacheInitializePhase3(), RelationGetFKeyList(), RelationGetIdentityKeyBitmap(), RelationGetIndexAttrBitmap(), RelationGetIndexList(), RelationGetStatExtList(), RelationInitIndexAccessInfo(), RelationParseRelOptions(), RememberToFreeTupleDescAtEOX(), SaveCachedPlan(), SearchCatCacheList(), set_schema_sent_in_streamed_txn(), SPI_keepplan(), and UploadManifest().

◆ CurrentMemoryContext

MemoryContext CurrentMemoryContext = NULL

Definition at line 143 of file mcxt.c.

Referenced by _brin_parallel_merge(), _bt_load(), _bt_preprocess_array_keys(), _hash_finish_split(), _SPI_commit(), _SPI_rollback(), _SPI_save_plan(), advance_windowaggregate(), advance_windowaggregate_base(), afterTriggerInvokeEvents(), AllocateSnapshotBuilder(), array_agg_array_deserialize(), array_agg_array_finalfn(), array_agg_deserialize(), array_agg_finalfn(), array_positions(), array_to_datum_internal(), AtStart_Memory(), AtSubStart_Memory(), AttachPartitionEnsureIndexes(), autovacuum_do_vac_analyze(), be_lo_export(), be_lo_from_bytea(), be_lo_put(), begin_heap_rewrite(), BeginCopyFrom(), BeginCopyTo(), blbuild(), blinsert(), brin_build_desc(), brin_minmax_multi_summary_out(), brin_minmax_multi_union(), brin_new_memtuple(), bringetbitmap(), brininsert(), bt_check_every_level(), btree_xlog_startup(), btvacuumscan(), build_colinfo_names_hash(), build_join_rel_hash(), BuildCachedPlan(), BuildParamLogString(), BuildRelationExtStatistics(), CheckForSessionAndXactLocks(), CloneRowTriggersToPartition(), CompactCheckpointerRequestQueue(), compactify_ranges(), CompleteCachedPlan(), compute_array_stats(), compute_expr_stats(), compute_scalar_stats(), compute_tsvector_stats(), ComputeExtStatisticsRows(), CopyCachedPlan(), CopyErrorData(), CopyFrom(), create_toast_table(), CreateCachedPlan(), CreateEmptyBlockRefTable(), CreateExecutorState(), CreateOneShotCachedPlan(), CreatePartitionPruneState(), CreateStandaloneExprContext(), createTempGistContext(), createTrgmNFA(), CreateTriggerFiringOn(), daitch_mokotoff(), daitch_mokotoff_coding(), DatumGetExpandedArray(), DatumGetExpandedArrayX(), DatumGetExpandedRecord(), datumTransfer(), dblink_get_connections(), DiscreteKnapsack(), do_analyze_rel(), do_start_worker(), DoCopyTo(), domain_check_internal(), dsnowball_init(), each_worker(), each_worker_jsonb(), elements_worker(), elements_worker_jsonb(), ensure_free_space_in_buffer(), errsave_start(), EventTriggerInvoke(), examine_expression(), exec_replication_command(), exec_stmt_block(), ExecAggCopyTransValue(), ExecEvalHashedScalarArrayOp(), ExecHashTableCreate(), ExecInitCoerceToDomain(), ExecInitFunctionScan(), ExecInitGatherMerge(), ExecInitIndexScan(), ExecInitMemoize(), ExecInitMergeAppend(), ExecInitModifyTable(), ExecInitProjectSet(), ExecInitRecursiveUnion(), ExecInitSetOp(), ExecInitSubPlan(), ExecInitTableFuncScan(), ExecInitWindowAgg(), ExecMakeTableFunctionResult(), ExecScanSubPlan(), ExecSetParamPlan(), ExecSetupPartitionTupleRouting(), execute_sql_string(), ExecuteTruncateGuts(), ExplainExecuteQuery(), fetch_array_arg_replace_nulls(), file_acquire_sample_rows(), fileIterateForeignScan(), fill_hba_view(), fill_ident_view(), find_all_inheritors(), find_or_create_child_node(), find_partition_scheme(), fmgr_info(), fmgr_info_other_lang(), geqo_eval(), get_actual_variable_range(), get_database_list(), get_json_object_as_hash(), get_subscription_list(), GetCachedExpression(), GetConnection(), GetErrorContextStack(), GetWALRecordsInfo(), GetXLogSummaryStats(), gin_extract_query_trgm(), gin_xlog_startup(), ginbeginscan(), ginbuild(), ginbulkdelete(), gininsert(), ginInsertCleanup(), ginPlaceToPage(), gistbuild(), gistInitBuildBuffers(), gistInitParentMap(), gistvacuumscan(), IdentifySystem(), index_form_tuple(), initBloomState(), initGinState(), initGISTstate(), initialize_brin_buildstate(), initialize_peragg(), InitPartitionPruneContext(), initTrie(), inline_function(), inline_set_returning_function(), intset_create(), json_unique_builder_init(), json_unique_check_init(), JsonTableInitOpaque(), libpqrcv_processTuples(), lo_get_fragment_internal(), lo_import_internal(), load_domaintype_info(), load_tzoffsets(), LogicalParallelApplyLoop(), makeIndexInfo(), makeNumericAggStateCurrentContext(), MakeTupleTableSlot(), MemoryContextDeleteOnly(), MemoryContextInit(), MemoryContextSwitchTo(), MJExamineQuals(), multi_sort_add_dimension(), NextCopyFrom(), open_auth_file(), optionListToArray(), palloc(), palloc0(), palloc_aligned(), palloc_extended(), ParallelWorkerMain(), parse_ident(), perform_default_encoding_conversion(), perform_work_item(), pg_buffercache_pages(), pg_do_encoding_conversion(), pg_get_backend_memory_contexts(), pg_get_logical_snapshot_info(), pg_get_logical_snapshot_meta(), pg_get_statisticsobjdef_expressions(), pg_get_wal_block_info(), pg_stats_ext_mcvlist_items(), plan_cluster_use_sort(), plan_create_index_workers(), plperl_array_to_datum(), plperl_inline_handler(), plperl_return_next(), plperl_return_next_internal(), plperl_spi_commit(), plperl_spi_exec(), plperl_spi_exec_prepared(), plperl_spi_fetchrow(), plperl_spi_prepare(), plperl_spi_query(), plperl_spi_query_prepared(), plperl_spi_rollback(), plperl_util_elog(), plpgsql_compile_inline(), plpgsql_estate_setup(), plpgsql_inline_handler(), plpgsql_validator(), plpython3_inline_handler(), pltcl_commit(), pltcl_elog(), pltcl_returnnext(), pltcl_rollback(), pltcl_SPI_execute(), pltcl_SPI_execute_plan(), pltcl_SPI_prepare(), pltcl_subtransaction(), PLy_commit(), PLy_cursor_fetch(), PLy_cursor_iternext(), PLy_cursor_plan(), PLy_cursor_query(), PLy_output(), PLy_rollback(), PLy_spi_execute_fetch_result(), PLy_spi_execute_plan(), PLy_spi_execute_query(), PLy_spi_prepare(), PLy_subtransaction_enter(), PLySequence_ToArray(), PLySequence_ToArray_recurse(), populate_array(), populate_recordset_object_start(), PortalRun(), PortalRunMulti(), postgresAcquireSampleRowsFunc(), postquel_start(), pq_parse_errornotice(), preparePresortedCols(), printtup_startup(), ProcessConfigFile(), prune_append_rel_partitions(), pstrdup(), publicationListToArray(), pull_up_simple_subquery(), RE_compile_and_cache(), regexp_split_to_array(), RelationBuildDesc(), RelationBuildRowSecurity(), ReorderBufferAllocate(), ReorderBufferProcessTXN(), ResetUnloggedRelations(), ResetUnloggedRelationsInDbspaceDir(), RevalidateCachedQuery(), ScanKeyEntryInitializeWithInfo(), serialize_expr_stats(), serializeAnalyzeStartup(), SerializePendingSyncs(), set_relation_partition_info(), set_rtable_names(), shdepReassignOwned(), shm_mq_attach(), smgr_bulk_start_smgr(), spg_xlog_startup(), spgbeginscan(), spgbuild(), spginsert(), spi_dest_startup(), split_text_accum_result(), standard_ExplainOneQuery(), startScanKey(), StartupDecodingContext(), statext_dependencies_build(), statext_mcv_serialize(), strlist_to_textarray(), sts_attach(), sts_initialize(), subquery_planner(), tbm_create(), test_basic(), test_empty(), test_enc_conversion(), test_pattern(), test_random(), text_to_array(), TidStoreCreateLocal(), tokenize_auth_file(), transformGraph(), transformRelOptions(), tsquery_rewrite_query(), tuple_data_split_internal(), tuplesort_begin_cluster(), tuplesort_begin_common(), tuplesort_begin_datum(), tuplesort_begin_heap(), tuplesort_begin_index_btree(), tuplesort_begin_index_gist(), tuplestore_begin_common(), union_tuples(), UploadManifest(), validateForeignKeyConstraint(), write_console(), and xpath().

◆ CurTransactionContext

◆ ErrorContext

◆ mcxt_methods

const MemoryContextMethods mcxt_methods[]
static

Definition at line 46 of file mcxt.c.

Referenced by MemoryContextCreate().

◆ MessageContext

◆ PortalContext

◆ PostmasterContext

◆ TopMemoryContext

MemoryContext TopMemoryContext = NULL

Definition at line 149 of file mcxt.c.

Referenced by _PG_init(), AbortOutOfAnyTransaction(), add_reloption(), allocate_reloption(), AllocateAttribute(), AllocSetContextCreateInternal(), ApplyLauncherMain(), AtAbort_Memory(), AtStart_Memory(), AttachSession(), BackendInitialize(), BackendMain(), BackgroundWorkerMain(), BackgroundWriterMain(), BaseBackupAddTarget(), be_tls_open_server(), build_guc_variables(), BumpContextCreate(), cache_single_string(), check_foreign_key(), check_primary_key(), CheckpointerMain(), ClientAuthentication(), compile_plperl_function(), compile_pltcl_function(), CreateCacheMemoryContext(), CreateWaitEventSet(), dblink_connect(), dblink_init(), DCH_cache_getnew(), do_autovacuum(), do_compile(), dsm_create_descriptor(), dsm_impl_sysv(), EnablePortalManager(), EventTriggerBeginCompleteQuery(), Exec_ListenCommit(), executeDateTimeMethod(), find_plan(), finish_xact_command(), GenerationContextCreate(), GetLocalBufferStorage(), GetLockConflicts(), getmissingattr(), GetNamedDSMSegment(), GetSessionDsmHandle(), HandleParallelApplyMessages(), HandleParallelMessages(), hash_create(), init_database_collation(), init_missing_cache(), init_string_reloption(), InitDeadLockChecking(), initialize_reloptions(), initialize_target_list(), InitializeClientEncoding(), InitializeLogRepWorker(), InitializeParallelDSM(), InitializeSearchPath(), InitializeSession(), InitializeSystemUser(), InitSync(), InitXLogInsert(), injection_points_attach(), injection_points_detach(), llvm_compile_module(), llvm_create_context(), llvm_session_initialize(), LockAcquireExtended(), logicalrep_launcher_attach_dshmem(), LogicalRepApplyLoop(), LWLockRegisterTranche(), mdinit(), MemoryContextAllocationFailure(), MemoryContextDeleteOnly(), MemoryContextInit(), mxid_to_string(), newLOfd(), NUM_cache_getnew(), on_dsm_detach(), PageSetChecksumCopy(), ParallelWorkerMain(), PerformAuthentication(), pg_backup_start(), pg_get_backend_memory_contexts(), pg_newlocale_from_collation(), PgArchiverMain(), pgstat_attach_shmem(), pgstat_init_snapshot_fixed(), pgstat_prep_pending_entry(), pgstat_prep_snapshot(), pgstat_register_kind(), pgstat_setup_backend_status_context(), pgstat_setup_memcxt(), plperl_spi_prepare(), plpython3_inline_handler(), plsample_func_handler(), pltcl_SPI_prepare(), PLy_cursor_plan(), PLy_cursor_query(), PLy_procedure_create(), PLy_spi_execute_fetch_result(), PLy_spi_prepare(), populate_typ_list(), PostgresMain(), postmaster_child_launch(), PostmasterMain(), pq_init(), PrepareClientEncoding(), ProcessLogMemoryContextInterrupt(), ProcessStartupPacket(), px_find_cipher(), px_find_digest(), RE_compile_and_cache(), recomputeNamespacePath(), register_label_provider(), RegisterResourceReleaseCallback(), RegisterSubXactCallback(), RegisterXactCallback(), RelationCreateStorage(), RelationDropStorage(), RequestNamedLWLockTranche(), ResourceOwnerCreate(), ResourceOwnerEnlarge(), RestoreClientConnectionInfo(), RestoreReindexState(), ri_HashCompareOp(), roles_is_member_of(), secure_open_gssapi(), sepgsql_avc_init(), sepgsql_xact_callback(), set_authn_id(), SetDatabasePath(), SharedRecordTypmodRegistryAttach(), SharedRecordTypmodRegistryInit(), SlabContextCreate(), spcache_init(), SPI_connect_ext(), test_create(), WalSummarizerMain(), WalWriterMain(), and XLOGShmemInit().

◆ TopTransactionContext