From: Tomas Vondra Date: Thu, 27 Jun 2019 15:41:29 +0000 (+0200) Subject: Update reference to sampling algorithm in analyze.c X-Git-Tag: REL_12_BETA3~127 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=69fd82fedd746b82427097883daf2921dd77584e;p=postgresql Update reference to sampling algorithm in analyze.c Commit 83e176ec1 moved row sampling functions from analyze.c to utils/misc/sampling.c, but failed to update comment referring to the sampling algorithm from Jeff Vitter's paper. Correct the comment by pointing to utils/misc/sampling.c. Author: Etsuro Fujita Discussion: https://postgr.es/m/CAPmGK154gp%2BQd%3DcorQOv%2BPmbyVyZBjp_%2Bhb766UJeD1e_ie6XQ%40mail.gmail.com --- diff --git a/src/backend/commands/analyze.c b/src/backend/commands/analyze.c index 6cb545c126..d7004e5313 100644 --- a/src/backend/commands/analyze.c +++ b/src/backend/commands/analyze.c @@ -1048,13 +1048,13 @@ acquire_sample_rows(Relation onerel, int elevel, * The first targrows sample rows are simply copied into the * reservoir. Then we start replacing tuples in the sample until * we reach the end of the relation. This algorithm is from Jeff - * Vitter's paper (see full citation below). It works by - * repeatedly computing the number of tuples to skip before - * selecting a tuple, which replaces a randomly chosen element of - * the reservoir (current set of tuples). At all times the - * reservoir is a true random sample of the tuples we've passed - * over so far, so when we fall off the end of the relation we're - * done. + * Vitter's paper (see full citation in utils/misc/sampling.c). It + * works by repeatedly computing the number of tuples to skip + * before selecting a tuple, which replaces a randomly chosen + * element of the reservoir (current set of tuples). At all times + * the reservoir is a true random sample of the tuples we've + * passed over so far, so when we fall off the end of the relation + * we're done. */ if (numrows < targrows) rows[numrows++] = ExecCopySlotHeapTuple(slot);