From 69fd82fedd746b82427097883daf2921dd77584e Mon Sep 17 00:00:00 2001 From: Tomas Vondra Date: Thu, 27 Jun 2019 17:41:29 +0200 Subject: [PATCH] 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 --- src/backend/commands/analyze.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) 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); -- 2.40.0