|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/tupmacs.h"#include "utils/array.h"#include "utils/lsyscache.h"#include "utils/memutils.h"
Go to the source code of this file.
Functions | |
| static Size | EA_get_flat_size (ExpandedObjectHeader *eohptr) |
| static void | EA_flatten_into (ExpandedObjectHeader *eohptr, void *result, Size allocated_size) |
| static void | copy_byval_expanded_array (ExpandedArrayHeader *eah, ExpandedArrayHeader *oldeah) |
| Datum | expand_array (Datum arraydatum, MemoryContext parentcontext, ArrayMetaState *metacache) |
| ExpandedArrayHeader * | DatumGetExpandedArray (Datum d) |
| ExpandedArrayHeader * | DatumGetExpandedArrayX (Datum d, ArrayMetaState *metacache) |
| AnyArrayType * | DatumGetAnyArrayP (Datum d) |
| void | deconstruct_expanded_array (ExpandedArrayHeader *eah) |
Variables | |
| static const ExpandedObjectMethods | EA_methods |
|
static |
Definition at line 185 of file array_expanded.c.
References fb(), and MemoryContextAlloc().
Referenced by expand_array().
| AnyArrayType * DatumGetAnyArrayP | ( | Datum | d | ) |
Definition at line 401 of file array_expanded.c.
References Assert, DatumGetEOHP(), DatumGetPointer(), EA_MAGIC, fb(), PG_DETOAST_DATUM, and VARATT_IS_EXTERNAL_EXPANDED().
Referenced by array_map().
| ExpandedArrayHeader * DatumGetExpandedArray | ( | Datum | d | ) |
Definition at line 352 of file array_expanded.c.
References Assert, CurrentMemoryContext, DatumGetEOHP(), DatumGetPointer(), EA_MAGIC, expand_array(), fb(), and VARATT_IS_EXTERNAL_EXPANDED_RW().
Referenced by array_set_element_expanded(), and statext_expressions_load().
| ExpandedArrayHeader * DatumGetExpandedArrayX | ( | Datum | d, |
| ArrayMetaState * | metacache | ||
| ) |
Definition at line 372 of file array_expanded.c.
References Assert, CurrentMemoryContext, DatumGetEOHP(), DatumGetPointer(), EA_MAGIC, expand_array(), fb(), and VARATT_IS_EXTERNAL_EXPANDED_RW().
| void deconstruct_expanded_array | ( | ExpandedArrayHeader * | eah | ) |
Definition at line 424 of file array_expanded.c.
References ARR_HASNULL, deconstruct_array(), fb(), and MemoryContextSwitchTo().
Referenced by array_contain_compare(), array_get_element_expanded(), array_set_element_expanded(), and statext_expressions_load().
|
static |
Definition at line 293 of file array_expanded.c.
References ARR_DIMS, ARR_LBOUND, ARR_OVERHEAD_WITHNULLS, ARR_SIZE, Assert, CopyArrayEls(), EA_MAGIC, fb(), and SET_VARSIZE().
|
static |
Definition at line 233 of file array_expanded.c.
References AllocSizeIsValid, ARR_OVERHEAD_NONULLS, ARR_OVERHEAD_WITHNULLS, ARR_SIZE, ArrayGetNItems(), Assert, att_addlength_datum, att_align_nominal, EA_MAGIC, ereport, errcode(), errmsg(), ERROR, fb(), i, and MaxAllocSize.
| Datum expand_array | ( | Datum | arraydatum, |
| MemoryContext | parentcontext, | ||
| ArrayMetaState * | metacache | ||
| ) |
Definition at line 50 of file array_expanded.c.
References ALLOCSET_START_SMALL_SIZES, AllocSetContextCreate, ARR_DATA_PTR, ARR_DIMS, ARR_ELEMTYPE, ARR_LBOUND, ARR_NDIM, ARR_SIZE, Assert, copy_byval_expanded_array(), DatumGetArrayTypePCopy, DatumGetEOHP(), DatumGetPointer(), EA_MAGIC, EA_methods, EOH_init_header(), EOHPGetRWDatum(), fb(), get_typlenbyvalalign(), MemoryContextAlloc(), MemoryContextSwitchTo(), and VARATT_IS_EXTERNAL_EXPANDED().
Referenced by construct_empty_expanded_array(), DatumGetExpandedArray(), DatumGetExpandedArrayX(), exec_assign_value(), and plpgsql_exec_function().
|
static |
Definition at line 28 of file array_expanded.c.
Referenced by expand_array().