docs: clarify infinite range values from data-type infinities
authorBruce Momjian
Fri, 27 Dec 2019 19:33:30 +0000 (14:33 -0500)
committerBruce Momjian
Fri, 27 Dec 2019 19:33:30 +0000 (14:33 -0500)
The previous docs referenced these distinct ideas confusingly.

Reported-by: Eugen Konkov
Discussion: https://postgr.es/m/376945611.20191026161529@yandex.ru

Backpatch-through: 9.4

doc/src/sgml/rangetypes.sgml

index 3a034d9b06ce8cf1cd9c98c13e3271052b5deb58..b75fb3a3929b3bd9eb74432aeccb22ba925f44c8 100644 (file)
@@ -131,29 +131,26 @@ SELECT isempty(numrange(1, 5));
   Infinite (Unbounded) Ranges
 
   
-   The lower bound of a range can be omitted, meaning that all points less
-   than the upper bound are included in the range. Likewise, if the upper
-   bound of the range is omitted, then all points greater than the lower bound
-   are included in the range. If both lower and upper bounds are omitted, all
-   values of the element type are considered to be in the range.
+   The lower bound of a range can be omitted, meaning that all
+   values less than the upper bound are included in the range, e.g.,
+   (,3]. Likewise, if the upper bound of the range
+   is omitted, then all values greater than the lower bound are included
+   in the range. If both lower and upper bounds are omitted, all values
+   of the element type are considered to be in the range.  Specifying a
+   missing bound as inclusive is automatically converted to exclusive,
+   e.g., [,] is converted to (,).
+   You can think of these missing values as +/-infinity, but they are
+   special range type values and are considered to be beyond any range
+   element type's +/-infinity values.
   
 
   
-   This is equivalent to considering that the lower bound is minus
-   infinity, or the upper bound is plus infinity,
-   respectively.  But note that these infinite values are never values of
-   the range's element type, and can never be part of the range.  (So there
-   is no such thing as an inclusive infinite bound — if you try to
-   write one, it will automatically be converted to an exclusive bound.)
-  
-
-  
-   Also, some element types have a notion of infinity, but that
-   is just another value so far as the range type mechanisms are concerned.
-   For example, in timestamp ranges, [today,] means the same
-   thing as [today,).  But [today,infinity] means
-   something different from [today,infinity) — the latter
-   excludes the special timestamp value infinity.
+   Element types that have the notion of infinity can
+   use them as explicit bound values.  For example, with timestamp
+   ranges, [today,infinity) excludes the special
+   timestamp value infinity,
+   while [today,infinity] include it, as does
+   [today,) and [today,].