|
PostgreSQL Source Code git master
|
#include "postgres.h"#include "access/detoast.h"#include "access/heaptoast.h"#include "access/htup_details.h"#include "access/itup.h"#include "access/toast_internals.h"
Go to the source code of this file.
Macros | |
| #define | TOAST_INDEX_HACK |
Functions | |
| IndexTuple | index_form_tuple (TupleDesc tupleDescriptor, const Datum *values, const bool *isnull) |
| IndexTuple | index_form_tuple_context (TupleDesc tupleDescriptor, const Datum *values, const bool *isnull, MemoryContext context) |
| Datum | nocache_index_getattr (IndexTuple tup, int attnum, TupleDesc tupleDesc) |
| void | index_deform_tuple (IndexTuple tup, TupleDesc tupleDescriptor, Datum *values, bool *isnull) |
| void | index_deform_tuple_internal (TupleDesc tupleDescriptor, Datum *values, bool *isnull, char *tp, bits8 *bp, int hasnulls) |
| IndexTuple | CopyIndexTuple (IndexTuple source) |
| IndexTuple | index_truncate_tuple (TupleDesc sourceDescriptor, IndexTuple source, int leavenatts) |
| #define TOAST_INDEX_HACK |
Definition at line 29 of file indextuple.c.
| IndexTuple CopyIndexTuple | ( | IndexTuple | source | ) |
Definition at line 547 of file indextuple.c.
References IndexTupleSize(), palloc(), and source.
Referenced by _bt_buildadd(), _bt_insert_parent(), _bt_insertonpg(), _bt_load(), _bt_newlevel(), _bt_pagedel(), _bt_swap_posting(), _hash_splitbucket(), _hash_squeezebucket(), btree_xlog_insert(), btree_xlog_split(), gin_check_parent_keys_consistency(), gin_refind_parent(), gistformdownlink(), and index_truncate_tuple().
| void index_deform_tuple | ( | IndexTuple | tup, |
| TupleDesc | tupleDescriptor, | ||
| Datum * | values, | ||
| bool * | isnull | ||
| ) |
Definition at line 456 of file indextuple.c.
References index_deform_tuple_internal(), IndexInfoFindDataOffset(), IndexTupleHasNulls(), IndexTupleData::t_info, and values.
Referenced by _bt_check_unique(), comparetup_index_btree_tiebreak(), get_actual_variable_endpoint(), gist_page_items(), index_truncate_tuple(), and StoreIndexTuple().
| void index_deform_tuple_internal | ( | TupleDesc | tupleDescriptor, |
| Datum * | values, | ||
| bool * | isnull, | ||
| char * | tp, | ||
| bits8 * | bp, | ||
| int | hasnulls | ||
| ) |
Definition at line 479 of file indextuple.c.
References Assert(), att_addlength_pointer, att_isnull(), att_nominal_alignby, att_pointer_alignby, CompactAttribute::attalignby, CompactAttribute::attcacheoff, CompactAttribute::attlen, attnum, fetchatt, INDEX_MAX_KEYS, TupleDescData::natts, TupleDescCompactAttr(), and values.
Referenced by index_deform_tuple(), and spgDeformLeafTuple().
| IndexTuple index_form_tuple | ( | TupleDesc | tupleDescriptor, |
| const Datum * | values, | ||
| const bool * | isnull | ||
| ) |
Definition at line 44 of file indextuple.c.
References CurrentMemoryContext, index_form_tuple_context(), and values.
Referenced by bt_normalize_tuple(), bt_tuple_present_callback(), btinsert(), GinFormTuple(), gistFormTuple(), hashbuildCallback(), hashinsert(), and index_truncate_tuple().
| IndexTuple index_form_tuple_context | ( | TupleDesc | tupleDescriptor, |
| const Datum * | values, | ||
| const bool * | isnull, | ||
| MemoryContext | context | ||
| ) |
Definition at line 65 of file indextuple.c.
References Assert(), DatumGetPointer(), detoast_external_attr(), ereport, errcode(), errmsg(), ERROR, heap_compute_data_size(), heap_fill_tuple(), HEAP_HASEXTERNAL, HEAP_HASVARWIDTH, i, INDEX_MAX_KEYS, INDEX_NULL_MASK, INDEX_SIZE_MASK, INDEX_VAR_MASK, IndexInfoFindDataOffset(), MAXALIGN, MemoryContextAllocZero(), TupleDescData::natts, pfree(), PointerGetDatum(), IndexTupleData::t_info, toast_compress_datum(), TOAST_INDEX_HACK, TOAST_INDEX_TARGET, TupleDescAttr(), values, VARATT_IS_EXTENDED(), VARATT_IS_EXTERNAL(), and VARSIZE().
Referenced by index_form_tuple(), and tuplesort_putindextuplevalues().
| IndexTuple index_truncate_tuple | ( | TupleDesc | sourceDescriptor, |
| IndexTuple | source, | ||
| int | leavenatts | ||
| ) |
Definition at line 576 of file indextuple.c.
References Assert(), CopyIndexTuple(), CreateTupleDescTruncatedCopy(), index_deform_tuple(), index_form_tuple(), INDEX_MAX_KEYS, IndexTupleSize(), TupleDescData::natts, pfree(), source, IndexTupleData::t_tid, and values.
Referenced by _bt_truncate().
| Datum nocache_index_getattr | ( | IndexTuple | tup, |
| int | attnum, | ||
| TupleDesc | tupleDesc | ||
| ) |
Definition at line 241 of file indextuple.c.
References Assert(), att_addlength_pointer, att_isnull(), att_nominal_alignby, att_pointer_alignby, CompactAttribute::attalignby, CompactAttribute::attcacheoff, CompactAttribute::attlen, attlen, attnum, fetchatt, i, IndexInfoFindDataOffset(), IndexTupleHasNulls(), IndexTupleHasVarwidths(), j, TupleDescData::natts, IndexTupleData::t_info, and TupleDescCompactAttr().
Referenced by index_getattr().