Update reference to sampling algorithm in analyze.c
authorTomas Vondra <tomas.vondra@postgresql.org>
Thu, 27 Jun 2019 15:41:29 +0000 (17:41 +0200)
committerTomas Vondra <tomas.vondra@postgresql.org>
Thu, 27 Jun 2019 16:01:54 +0000 (18:01 +0200)
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

index 6cb545c1265400612989edcdbee9d5aaeb283852..d7004e53138d80605814f93486a65cf55c28ce21 100644 (file)
@@ -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);