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]
#define Assert(condition)
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)
void simple_heap_delete(Relation relation, ItemPointer tid)
void simple_heap_update(Relation relation, ItemPointer otid, HeapTuple tup, TU_UpdateIndexes *update_indexes)
void simple_heap_insert(Relation relation, HeapTuple tup)
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)
void CatalogTupleUpdate(Relation heapRel, ItemPointer otid, HeapTuple tup)
static void CatalogIndexInsert(CatalogIndexState indstate, HeapTuple heapTuple, TU_UpdateIndexes updateIndexes)
void CatalogTuplesMultiInsertWithInfo(Relation heapRel, TupleTableSlot **slot, int ntuples, CatalogIndexState indstate)
#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, ItemPointer tid)
void CatalogTupleUpdateWithInfo(Relation heapRel, ItemPointer otid, HeapTuple tup, CatalogIndexState indstate)
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)