From 5e24eb55f721cf8da442231b33a2e491ab2f126d Mon Sep 17 00:00:00 2001
From: Justin Pryzby <pryzbyj@telsasoft.com>
Date: Sun, 26 Sep 2021 11:13:27 -0500
Subject: [PATCH v2 11/12] f!stats typos

---
 src/backend/statistics/README     |  8 ++++----
 src/backend/statistics/README.mcv | 10 +++++-----
 2 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/src/backend/statistics/README b/src/backend/statistics/README
index 7fda13e75b..765e3b3711 100644
--- a/src/backend/statistics/README
+++ b/src/backend/statistics/README
@@ -12,7 +12,7 @@ hopefully improving the estimates and producing better plans.
 Types of statistics
 -------------------
 
-There are currently two kinds of extended statistics:
+There are currently three kinds of extended statistics:
 
     (a) ndistinct coefficients
 
@@ -24,7 +24,7 @@ There are currently two kinds of extended statistics:
 Compatible clause types
 -----------------------
 
-Each type of statistics may be used to estimate some subset of clause types.
+Each type of statistic may be used to estimate some subset of clause types.
 
     (a) functional dependencies - equality clauses (AND), possibly IS NULL
 
@@ -73,8 +73,8 @@ it will do if:
 
 When the above conditions are met, clauselist_selectivity() first attempts to
 pass the clause list off to the extended statistics selectivity estimation
-function. This functions may not find any clauses which is can perform any
-estimations on. In such cases these clauses are simply ignored. When actual
+function. This function may not find any clauses which it can perform any
+estimations on. In such cases, these clauses are simply ignored. When actual
 estimation work is performed in these functions they're expected to mark which
 clauses they've performed estimations for so that any other function
 performing estimations knows which clauses are to be skipped.
diff --git a/src/backend/statistics/README.mcv b/src/backend/statistics/README.mcv
index 8455b0d13f..98a72ca1be 100644
--- a/src/backend/statistics/README.mcv
+++ b/src/backend/statistics/README.mcv
@@ -2,7 +2,7 @@ MCV lists
 =========
 
 Multivariate MCV (most-common values) lists are a straightforward extension of
-regular MCV list, tracking most frequent combinations of values for a group of
+regular MCV lists, tracking most frequent combinations of values for a group of
 attributes.
 
 This works particularly well for columns with a small number of distinct values,
@@ -18,7 +18,7 @@ Estimates of some clauses (e.g. equality) based on MCV lists are more accurate
 than when using histograms.
 
 Also, MCV lists don't necessarily require sorting of the values (the fact that
-we use sorting when building them is implementation detail), but even more
+we use sorting when building them is an implementation detail), but even more
 importantly the ordering is not built into the approximation (while histograms
 are built on ordering). So MCV lists work well even for attributes where the
 ordering of the data type is disconnected from the meaning of the data. For
@@ -53,7 +53,7 @@ Hashed MCV (not yet implemented)
 Regular MCV lists have to include actual values for each item, so if those items
 are large the list may be quite large. This is especially true for multivariate
 MCV lists, although the current implementation partially mitigates this by
-performing de-duplicating the values before storing them on disk.
+de-duplicating the values before storing them on disk.
 
 It's possible to only store hashes (32-bit values) instead of the actual values,
 significantly reducing the space requirements. Obviously, this would only make
@@ -77,14 +77,14 @@ to select the columns from pg_stats. The data is encoded as anyarrays, and
 all the items have the same data type, so anyarray provides a simple way to
 get a text representation.
 
-With multivariate MCV lists the columns may use different data types, making
+With multivariate MCV lists, the columns may use different data types, making
 it impossible to use anyarrays. It might be possible to produce a similar
 array-like representation, but that would complicate further processing and
 analysis of the MCV list.
 
 So instead the MCV lists are stored in a custom data type (pg_mcv_list),
 which however makes it more difficult to inspect the contents. To make that
-easier, there's a SRF returning detailed information about the MCV lists.
+easier, there's an SRF returning detailed information about the MCV lists.
 
     SELECT m.* FROM pg_statistic_ext s,
                     pg_statistic_ext_data d,
-- 
2.17.0

