Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Update reference to sampling algorithm in analyze.c
authorTomas Vondra <tomas.vondra@postgresql.org>
Thu, 27 Jun 2019 16:14:25 +0000 (18:14 +0200)
committerTomas Vondra <tomas.vondra@postgresql.org>
Thu, 27 Jun 2019 16:15:05 +0000 (18:15 +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 7f9c7c99af90778e0a93208080b385c6e34dea75..90b2bb1fea498a9ff88e61273e872398c8044895 100644 (file)
@@ -1173,13 +1173,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.
+                * from Jeff 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++] = heap_copytuple(&targtuple);