14 #ifndef VEIL_DATATYPES 17 #define VEIL_DATATYPES 1 19 #include "utils/hsearch.h" 20 #include "storage/lwlock.h" 25 #define CHUNK_SIZE 8192 31 #define MAX_ALLOWED_SHMEM CHUNK_SIZE * 100 78 #define HASH_KEYLEN 60 112 LWLockId veil_lwlock;
115 size_t total_allocated[2];
120 TransactionId xid[2];
142 typedef struct Range {
size_t next
Offset of 1st free byte.
LWLockPadded * lwlock_tranche
A tranche of lwlocks (only used in the zeroth MemContext.
struct Bitmap Bitmap
Subtype of Object for storing bitmaps.
Subtype of Object for storing arrays of integers.
Subtype of Object for storing bitmap refs.
Subtype of Object for storing bitmaps.
Subtype of Object for storing simple int4 values.
Describes a veil shared or session variable.
Chunks provide a linked list of dynamically allocated shared memory segments, with the most recently ...
Oid db_id
Identifier for the database for which this context was created, or by which it has been taken over...
struct ShmemCtl ShmemCtl
The ShmemCtl structure is the first object allocated from the first chunk of shared memory in context...
struct MemContext MemContext
MemContexts are large single chunks of shared memory from which smaller allocations may be made...
struct Int4Array Int4Array
Subtype of Object for storing arrays of integers.
void * memory[0]
The rest of the chunk, from which memory is allocated.
#define HASH_KEYLEN
The key length for veil hash types.
size_t limit
Offset, of 1st byte beyond chunk.
struct MemChunk MemChunk
Chunks provide a linked list of dynamically allocated shared memory segments, with the most recently ...
MemContexts are large single chunks of shared memory from which smaller allocations may be made...
struct veil_variable_t veil_variable_t
Describes a veil shared or session variable.
struct Int4Var Int4Var
Subtype of Object for storing simple int4 values.
int lwlock_idx
Index into the above.
General purpose object-type.
Subtype of Object for storing bitmap hashes.
struct VarEntry VarEntry
A Veil variable.
ObjType
Describes the type of an Object record or one of its subtypes.
struct ShmemCtl * memctl
Pointer to shared memory control structure.
ObjType
Describes the type of an Object record or one of its subtypes.
size_t next
Offset, within this chunk, of 1st free byte.
size_t limit
Offset, of 1st byte beyond this struct.
Subtype of Object for storing range values.
struct Object Object
General purpose object-type.
struct MemChunk * next_chunk
Pointer to next allocated chunk.
Subtype of Object for storing bitmap arrays.
The ShmemCtl structure is the first object allocated from the first chunk of shared memory in context...
struct BitmapRef BitmapRef
Subtype of Object for storing bitmap refs.
struct BitmapArray BitmapArray
Subtype of Object for storing bitmap arrays.
LWLock * lwlock
The LWLock associated with this memory context.
struct BitmapHash BitmapHash
Subtype of Object for storing bitmap hashes.
struct Range Range
Subtype of Object for storing range values.