]> granicus.if.org Git - postgresql/commitdiff
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);