|
PostgreSQL Source Code git master
|
#include "catalog/pg_type_d.h"#include "port/pg_bitutils.h"#include "port/pg_bswap.h"#include "varatt.h"

Go to the source code of this file.
Macros | |
| #define | SPREAD_BITS_MULTIPLIER_32 0x204081U |
| #define | fetchatt(A, T) fetch_att(T, (A)->attbyval, (A)->attlen) |
| #define | att_align_datum(cur_offset, attalign, attlen, attdatum) |
| #define | att_datum_alignby(cur_offset, attalignby, attlen, attdatum) |
| #define | att_align_pointer(cur_offset, attalign, attlen, attptr) |
| #define | att_pointer_alignby(cur_offset, attalignby, attlen, attptr) |
| #define | att_align_nominal(cur_offset, attalign) att_nominal_alignby(cur_offset, typalign_to_alignby(attalign)) |
| #define | att_nominal_alignby(cur_offset, attalignby) TYPEALIGN(attalignby, cur_offset) |
| #define | att_addlength_datum(cur_offset, attlen, attdatum) att_addlength_pointer(cur_offset, attlen, DatumGetPointer(attdatum)) |
| #define | att_addlength_pointer(cur_offset, attlen, attptr) |
Functions | |
| static bool | att_isnull (int ATT, const bits8 *BITS) |
| static void | populate_isnull_array (const bits8 *bits, int natts, bool *isnull) |
| static Datum | fetch_att (const void *T, bool attbyval, int attlen) |
| static Datum | fetch_att_noerr (const void *T, bool attbyval, int attlen) |
| static Datum | align_fetch_then_add (const char *tupptr, uint32 *off, bool attbyval, int attlen, uint8 attalignby) |
| static int | first_null_attr (const bits8 *bits, int natts) |
| static uint8 | typalign_to_alignby (char typalign) |
| static void | store_att_byval (void *T, Datum newdatum, int attlen) |
| #define att_addlength_datum | ( | cur_offset, | |
| attlen, | |||
| attdatum | |||
| ) | att_addlength_pointer(cur_offset, attlen, DatumGetPointer(attdatum)) |
Definition at line 419 of file tupmacs.h.
| #define att_addlength_pointer | ( | cur_offset, | |
| attlen, | |||
| attptr | |||
| ) |
| #define att_align_datum | ( | cur_offset, | |
| attalign, | |||
| attlen, | |||
| attdatum | |||
| ) |
| #define att_align_nominal | ( | cur_offset, | |
| attalign | |||
| ) | att_nominal_alignby(cur_offset, typalign_to_alignby(attalign)) |
| #define att_align_pointer | ( | cur_offset, | |
| attalign, | |||
| attlen, | |||
| attptr | |||
| ) |
| #define att_datum_alignby | ( | cur_offset, | |
| attalignby, | |||
| attlen, | |||
| attdatum | |||
| ) |
| #define att_nominal_alignby | ( | cur_offset, | |
| attalignby | |||
| ) | TYPEALIGN(attalignby, cur_offset) |
| #define att_pointer_alignby | ( | cur_offset, | |
| attalignby, | |||
| attlen, | |||
| attptr | |||
| ) |
Definition at line 383 of file tupmacs.h.
| #define SPREAD_BITS_MULTIPLIER_32 0x204081U |
|
inlinestatic |
Definition at line 172 of file tupmacs.h.
References Assert, attbyval, attlen, CharGetDatum(), DatumGetPointer(), fb(), Int16GetDatum(), Int32GetDatum(), Int64GetDatum(), PointerGetDatum(), TYPEALIGN, VARATT_IS_SHORT(), and VARSIZE_ANY().
Referenced by heap_deform_tuple(), index_deform_tuple_internal(), and slot_deform_heap_tuple().
Definition at line 28 of file tupmacs.h.
References fb().
Referenced by brin_deconstruct_tuple(), check_tuple_attribute(), fastgetattr(), first_null_attr(), heap_attisnull(), heap_deform_tuple(), index_deform_tuple_internal(), index_getattr(), nocache_index_getattr(), nocachegetattr(), and tuple_data_split_internal().
Definition at line 108 of file tupmacs.h.
References attbyval, attlen, CharGetDatum(), elog, ERROR, fb(), Int16GetDatum(), Int32GetDatum(), Int64GetDatum(), PointerGetDatum(), and T.
Referenced by array_iter_next(), array_iterate(), array_replace_internal(), array_to_text_internal(), ArrayCast(), brin_range_deserialize(), deconstruct_array(), ExecEvalHashedScalarArrayOp(), ExecEvalScalarArrayOp(), multirange_get_bounds(), PLyList_FromArray_recurse(), range_deserialize(), statext_mcv_deserialize(), width_bucket_array_fixed(), and width_bucket_array_variable().
Definition at line 137 of file tupmacs.h.
References Assert, attbyval, attlen, CharGetDatum(), fb(), Int16GetDatum(), Int32GetDatum(), Int64GetDatum(), PointerGetDatum(), and T.
Referenced by heap_deform_tuple(), index_deform_tuple_internal(), and slot_deform_heap_tuple().
Definition at line 244 of file tupmacs.h.
References Assert, att_isnull(), fb(), i, Min, and pg_rightmost_one_pos32().
Referenced by heap_deform_tuple(), index_deform_tuple_internal(), nocache_index_getattr(), nocachegetattr(), and slot_deform_heap_tuple().
Definition at line 43 of file tupmacs.h.
References fb(), i, pg_bswap64(), SPREAD_BITS_MULTIPLIER_32, and UINT64CONST.
Referenced by slot_deform_heap_tuple().
Definition at line 457 of file tupmacs.h.
References attlen, DatumGetChar(), DatumGetInt16(), DatumGetInt32(), DatumGetInt64(), elog, ERROR, fb(), and T.
Referenced by ArrayCastAndSet(), brin_range_serialize(), datum_write(), fill_val(), and statext_mcv_serialize().
Definition at line 302 of file tupmacs.h.
References elog, ERROR, fb(), fprintf, and typalign.
Referenced by array_create_iterator(), array_fill_internal(), array_in(), array_iter_setup(), array_map(), array_replace_internal(), array_seek(), array_set_element(), array_slice_size(), array_to_text_internal(), construct_md_array(), CopyArrayEls(), deconstruct_array(), EA_get_flat_size(), ExecEvalHashedScalarArrayOp(), ExecEvalScalarArrayOp(), get_text_array_contents(), multirange_size_estimate(), PLyList_FromArray_recurse(), populate_compact_attribute_internal(), ReadArrayBinary(), width_bucket_array_variable(), and write_multirange_data().