mirror of
https://github.com/postgres/postgres.git
synced 2025-11-09 06:21:09 +03:00
57 lines
1.6 KiB
C
57 lines
1.6 KiB
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* mcxt.h--
|
|
* POSTGRES memory context definitions.
|
|
*
|
|
*
|
|
* Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* $Id: mcxt.h,v 1.1.1.1 1996/07/09 06:22:02 scrappy Exp $
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
#ifndef MCXT_H
|
|
#define MCXT_H
|
|
|
|
#include "c.h"
|
|
|
|
#include "nodes/memnodes.h"
|
|
#include "nodes/nodes.h"
|
|
|
|
extern MemoryContext CurrentMemoryContext;
|
|
extern MemoryContext TopMemoryContext;
|
|
|
|
|
|
/*
|
|
* MaxAllocSize --
|
|
* Arbitrary limit on size of allocations.
|
|
*
|
|
* Note:
|
|
* There is no guarantee that allocations smaller than MaxAllocSize
|
|
* will succeed. Allocation requests larger than MaxAllocSize will
|
|
* be summarily denied.
|
|
*
|
|
* This value should not be referenced except in one place in the code.
|
|
*
|
|
* XXX This should be defined in a file of tunable constants.
|
|
*/
|
|
#define MaxAllocSize (0xfffffff) /* 16G - 1 */
|
|
|
|
/*
|
|
* prototypes for functions in mcxt.c
|
|
*/
|
|
extern void EnableMemoryContext(bool on);
|
|
extern Pointer MemoryContextAlloc(MemoryContext context, Size size);
|
|
extern Pointer MemoryContextRealloc(MemoryContext context,
|
|
Pointer pointer,
|
|
Size size);
|
|
extern void MemoryContextFree(MemoryContext context, Pointer pointer);
|
|
extern char *MemoryContextGetName(MemoryContext context);
|
|
extern Size PointerGetAllocSize(Pointer pointer);
|
|
extern MemoryContext MemoryContextSwitchTo(MemoryContext context);
|
|
extern GlobalMemory CreateGlobalMemory(char *name);
|
|
extern void GlobalMemoryDestroy(GlobalMemory context);
|
|
|
|
|
|
#endif /* MCXT_H */
|