93#ifndef USE_ASSERT_CHECKING
119 for (
i = 0;
i < numIndexes;
i++)
124 indexInfo = indexInfoArray[
i];
142#ifdef USE_ASSERT_CHECKING
175 index->rd_index->indisunique ?
192#ifdef USE_ASSERT_CHECKING
217#define CatalogTupleCheckConstraints(heapRel, tup) ((void) 0)
287 for (
int i = 0;
i < ntuples;
i++)
static Datum values[MAXATTR]
void ExecCloseIndices(ResultRelInfo *resultRelInfo)
void ExecOpenIndices(ResultRelInfo *resultRelInfo, bool speculative)
TupleTableSlot * MakeSingleTupleTableSlot(TupleDesc tupdesc, const TupleTableSlotOps *tts_ops)
void ExecDropSingleTupleTableSlot(TupleTableSlot *slot)
HeapTuple ExecFetchSlotHeapTuple(TupleTableSlot *slot, bool materialize, bool *shouldFree)
const TupleTableSlotOps TTSOpsHeapTuple
TupleTableSlot * ExecStoreHeapTuple(HeapTuple tuple, TupleTableSlot *slot, bool shouldFree)
Assert(PointerIsAligned(start, uint64))
void simple_heap_update(Relation relation, const ItemPointerData *otid, HeapTuple tup, TU_UpdateIndexes *update_indexes)
void simple_heap_insert(Relation relation, HeapTuple tup)
void simple_heap_delete(Relation relation, const ItemPointerData *tid)
void heap_multi_insert(Relation relation, TupleTableSlot **slots, int ntuples, CommandId cid, int options, BulkInsertState bistate)
void heap_freetuple(HeapTuple htup)
static bool HeapTupleHasNulls(const HeapTupleData *tuple)
static bool HeapTupleIsHeapOnly(const HeapTupleData *tuple)
bool ReindexIsProcessingIndex(Oid indexOid)
void FormIndexDatum(IndexInfo *indexInfo, TupleTableSlot *slot, EState *estate, Datum *values, bool *isnull)
bool index_insert(Relation indexRelation, Datum *values, bool *isnull, ItemPointer heap_t_ctid, Relation heapRelation, IndexUniqueCheck checkUnique, bool indexUnchanged, IndexInfo *indexInfo)
static void CatalogIndexInsert(CatalogIndexState indstate, HeapTuple heapTuple, TU_UpdateIndexes updateIndexes)
void CatalogTuplesMultiInsertWithInfo(Relation heapRel, TupleTableSlot **slot, int ntuples, CatalogIndexState indstate)
void CatalogTupleUpdateWithInfo(Relation heapRel, const ItemPointerData *otid, HeapTuple tup, CatalogIndexState indstate)
void CatalogTupleUpdate(Relation heapRel, const ItemPointerData *otid, HeapTuple tup)
#define CatalogTupleCheckConstraints(heapRel, tup)
void CatalogTupleInsertWithInfo(Relation heapRel, HeapTuple tup, CatalogIndexState indstate)
void CatalogCloseIndexes(CatalogIndexState indstate)
void CatalogTupleInsert(Relation heapRel, HeapTuple tup)
CatalogIndexState CatalogOpenIndexes(Relation heapRel)
void CatalogTupleDelete(Relation heapRel, const ItemPointerData *tid)
void pfree(void *pointer)
FormData_pg_attribute * Form_pg_attribute
#define RelationGetRelid(relation)
#define RelationGetDescr(relation)
RelationPtr ri_IndexRelationDescs
TriggerDesc * ri_TrigDesc
IndexInfo ** ri_IndexRelationInfo
static FormData_pg_attribute * TupleDescAttr(TupleDesc tupdesc, int i)
static bool att_isnull(int ATT, const bits8 *BITS)
CommandId GetCurrentCommandId(bool used)