/* *Structforstatisticsreturnedbyambuild
*/ typedefstruct IndexBuildResult
{ double heap_tuples; /* # of tuples seen in parent table */ double index_tuples; /* # of tuples inserted into index */
} IndexBuildResult;
/* *Structforinputargumentspassedtoambulkdeleteandamvacuumcleanup * *num_heap_tuplesisaccurateonlywhenestimated_countisfalse; *otherwiseit'sjustanestimate(currently,theestimateisthe *priorvalueoftherelation'spg_class.reltuplesfield,soitcould *evenbe-1).Itwillalwaysjustbeanestimateduringambulkdelete.
*/ typedefstruct IndexVacuumInfo
{
Relation index; /* the index being vacuumed */
Relation heaprel; /* the heap relation the index belongs to */ bool analyze_only; /* ANALYZE (without any actual vacuum) */ bool report_progress; /* emit progress.h status reports */ bool estimated_count; /* num_heap_tuples is an estimate */ int message_level; /* ereport level for progress messages */ double num_heap_tuples; /* tuples remaining in heap */
BufferAccessStrategy strategy; /* access strategy for reads */
} IndexVacuumInfo;
/* *Structforstatisticsreturnedbyambulkdeleteandamvacuumcleanup * *Thisstructisnormallyallocatedbythefirstambulkdeletecallandthen *passedalongthroughsubsequentonesuntilamvacuumcleanup;however, *amvacuumcleanupmustbepreparedtoallocateitinthecasewhereno *ambulkdeletecallsweremade(becausenotuplesneededdeletion). *NotethatanindexAMcouldchoosetoreturnalargerstruct *ofwhichthisisjustthefirstfield;thisprovidesawayforambulkdelete *tocommunicateadditionalprivatedatatoamvacuumcleanup. * *Note:pages_newly_deletedisthenumberofpagesintheindexthatwere *deletedbythecurrentvacuumoperation.pages_deletedandpages_free *refertofreespacewithintheindexfile. * *Note:SomeindexAMsmaycomputenum_index_tuplesbyreferenceto *num_heap_tuples,inwhichcasetheyshouldcopytheestimated_countfield *fromIndexVacuumInfo.
*/ typedefstruct IndexBulkDeleteResult
{
BlockNumber num_pages; /* pages remaining in index */ bool estimated_count; /* num_index_tuples is an estimate */ double num_index_tuples; /* tuples remaining */ double tuples_removed; /* # removed during vacuum operation */
BlockNumber pages_newly_deleted; /* # pages marked deleted by us */
BlockNumber pages_deleted; /* # pages marked deleted (could be by us) */
BlockNumber pages_free; /* # pages available for reuse */
} IndexBulkDeleteResult;
/* Typedef for callback function to determine if a tuple is bulk-deletable */ typedefbool (*IndexBulkDeleteCallback) (ItemPointer itemptr, void *state);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.