On Thu, 2023-11-02 at 10:14 -0400, Bruce Momjian wrote:
> Better, though "Is the range's upper bound unbounded?" makes me cringe.
>
> Oh, yeah, totally cringe, me too. :-)
>
> > It is not the bound that is bounded or not, but the range.
> >
> > How about "Is the range unbounded at the upper end?" or "Does the range
> > have no upper bound?"
>
> I used your "end" idea to modify the patch, attached.
There are still some loose ends:
- you lost the specification whether it is the upper or the lower bound
- "Infinity" is a literal
- "-Infinity" is a very unlikely value for an upper bound
How about the attached version?
Yours,
Laurenz Albe
diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml
index c76ec52c55..c2f266ea24 100644
--- a/doc/src/sgml/func.sgml
+++ b/doc/src/sgml/func.sgml
@@ -19905,7 +19905,7 @@ SELECT NULLIF(value, '(none)') ...
</para>
<para>
Extracts the lower bound of the range (<literal>NULL</literal> if the
- range is empty or the lower bound is infinite).
+ range is empty or has no lower bound).
</para>
<para>
<literal>lower(numrange(1.1,2.2))</literal>
@@ -19923,7 +19923,7 @@ SELECT NULLIF(value, '(none)') ...
</para>
<para>
Extracts the upper bound of the range (<literal>NULL</literal> if the
- range is empty or the upper bound is infinite).
+ range is empty or has no upper bound).
</para>
<para>
<literal>upper(numrange(1.1,2.2))</literal>
@@ -19991,7 +19991,8 @@ SELECT NULLIF(value, '(none)') ...
<returnvalue>boolean</returnvalue>
</para>
<para>
- Is the range's lower bound infinite?
+ Does the range have no lower bound? (A lower bound of
+ <literal>-Infinity</literal> returns false.)
</para>
<para>
<literal>lower_inf('(,)'::daterange)</literal>
@@ -20008,7 +20009,8 @@ SELECT NULLIF(value, '(none)') ...
<returnvalue>boolean</returnvalue>
</para>
<para>
- Is the range's upper bound infinite?
+ Does the range have no upper bound? (An upper bound of
+ <literal>Infinity</literal> returns false.)
</para>
<para>
<literal>upper_inf('(,)'::daterange)</literal>
@@ -20063,7 +20065,7 @@ SELECT NULLIF(value, '(none)') ...
</para>
<para>
Extracts the lower bound of the multirange (<literal>NULL</literal> if the
- multirange is empty or the lower bound is infinite).
+ multirange is empty has no lower bound).
</para>
<para>
<literal>lower('{[1.1,2.2)}'::nummultirange)</literal>
@@ -20081,7 +20083,7 @@ SELECT NULLIF(value, '(none)') ...
</para>
<para>
Extracts the upper bound of the multirange (<literal>NULL</literal> if the
- multirange is empty or the upper bound is infinite).
+ multirange is empty or has no upper bound).
</para>
<para>
<literal>upper('{[1.1,2.2)}'::nummultirange)</literal>
@@ -20149,7 +20151,8 @@ SELECT NULLIF(value, '(none)') ...
<returnvalue>boolean</returnvalue>
</para>
<para>
- Is the multirange's lower bound infinite?
+ Does the multirange have no lower bound? (A lower bound of
+ <literal>-Infinity</literal> returns false.)
</para>
<para>
<literal>lower_inf('{(,)}'::datemultirange)</literal>
@@ -20166,7 +20169,8 @@ SELECT NULLIF(value, '(none)') ...
<returnvalue>boolean</returnvalue>
</para>
<para>
- Is the multirange's upper bound infinite?
+ Does the multirange have no upper bound? (An upper bound of
+ <literal>Infinity</literal> returns false.)
</para>
<para>
<literal>upper_inf('{(,)}'::datemultirange)</literal>