void AppendOnlyThrowAwayTuple( Relation rel, MemTuple tuple, TupleTableSlot *slot, MemTupleBinding *mt_bind) { AOTupleId *oldAoTupleId; Assert(slot); Assert(mt_bind); oldAoTupleId = (AOTupleId*)slot_get_ctid(slot); /* Extract all the values of the tuple */ slot_getallattrs(slot); if (MemTupleHasExternal(tuple, mt_bind)) { toast_delete(rel, (HeapTuple) tuple, mt_bind); } elogif(Debug_appendonly_print_compaction, DEBUG5, "Compaction: Throw away tuple (%d," INT64_FORMAT ")", AOTupleIdGet_segmentFileNum(oldAoTupleId), AOTupleIdGet_rowNum(oldAoTupleId)); }
/* ---------- * heap_tuple_toast_attrs - * * This is the central public entry point for toasting from heapam. * * Calls the appropriate event specific action. * ---------- */ void heap_tuple_toast_attrs(Relation rel, HeapTuple newtup, HeapTuple oldtup) { if (newtup == NULL) toast_delete(rel, oldtup); else toast_insert_or_update(rel, newtup, oldtup); }