funcs.sgml - wrong example

Started by Erik Rijkersover 3 years ago5 messages
#1Erik Rijkers
er@xs4all.nl
1 attachment(s)

funcs.sgml has

42 <@ '{[1,7)}'::int4multirange

and calls it true. The attached fixes that.

Included are two more changes where actual output differs a bit from
what the doc examples show.

Erik

Attachments:

func.sgml.20220517.difftext/x-patch; charset=UTF-8; name=func.sgml.20220517.diffDownload
--- doc/src/sgml/func.sgml.orig	2022-05-17 17:50:40.975410855 +0200
+++ doc/src/sgml/func.sgml	2022-05-17 17:55:22.492016016 +0200
@@ -1046,7 +1046,7 @@
        </para>
        <para>
         <literal>@ -5.0</literal>
-        <returnvalue>5</returnvalue>
+        <returnvalue>5.0</returnvalue>
        </para></entry>
       </row>
 
@@ -1463,7 +1463,7 @@
        </para>
        <para>
        <literal>log(2.0, 64.0)</literal>
-       <returnvalue>6.0000000000</returnvalue>
+       <returnvalue>6.0000000000000000</returnvalue>
        </para></entry>
       </row>
 
@@ -21359,7 +21359,7 @@
        </para>
        <para>
         <literal>42 &lt;@ '{[1,7)}'::int4multirange</literal>
-        <returnvalue>t</returnvalue>
+        <returnvalue>f</returnvalue>
        </para></entry>
       </row>
 
#2Kyotaro Horiguchi
horikyota.ntt@gmail.com
In reply to: Erik Rijkers (#1)
Re: funcs.sgml - wrong example

At Wed, 18 May 2022 03:08:32 +0200, Erik Rijkers <er@xs4all.nl> wrote in

funcs.sgml has

42 <@ '{[1,7)}'::int4multirange

and calls it true. The attached fixes that.

Included are two more changes where actual output differs a bit from
what the doc examples show.

A bit off-topic and just out of curiocity, is there a reason other
than speed (and history?) for that we won't truncate trailing zeros in
the output of log(b,n)?

Since we have get_min_scale since 13, for example, with the following
tweak, we get 6.0 for log(2.0, 64.0), which looks nicer.

@@ -10300,6 +10300,8 @@ log_var(const NumericVar *base, const NumericVar *num, NumericVar *result)
/* Divide and round to the required scale */
div_var_fast(&ln_num, &ln_base, result, rscale, true);

+	result->dscale = Max(get_min_scale(result), base->dscale);
+	result->dscale = Max(result->dscale, num->dscale);
 	free_var(&ln_num);

regards.

--
Kyotaro Horiguchi
NTT Open Source Software Center

#3Kyotaro Horiguchi
horikyota.ntt@gmail.com
In reply to: Kyotaro Horiguchi (#2)
Re: funcs.sgml - wrong example

At Wed, 18 May 2022 11:11:02 +0900 (JST), Kyotaro Horiguchi <horikyota.ntt@gmail.com> wrote in

At Wed, 18 May 2022 03:08:32 +0200, Erik Rijkers <er@xs4all.nl> wrote in

funcs.sgml has

42 <@ '{[1,7)}'::int4multirange

and calls it true. The attached fixes that.

Included are two more changes where actual output differs a bit from
what the doc examples show.

Forgot to mention, the all changes look good. The log(b,n) has 16
trailing digits at least since 9.6.

A bit off-topic and just out of curiocity, is there a reason other
than speed (and history?) for that we won't truncate trailing zeros in
the output of log(b,n)?

Hmm. A bit wrong. I meant that, if we can allow some additional cycles
and we don't stick to the past behavior of the function, we could have
a nicer result.

Since we have get_min_scale since 13, for example, with the following
tweak, we get 6.0 for log(2.0, 64.0), which looks nicer.

@@ -10300,6 +10300,8 @@ log_var(const NumericVar *base, const NumericVar *num, NumericVar *result)
/* Divide and round to the required scale */
div_var_fast(&ln_num, &ln_base, result, rscale, true);

+	result->dscale = Max(get_min_scale(result), base->dscale);
+	result->dscale = Max(result->dscale, num->dscale);
free_var(&ln_num);

--
Kyotaro Horiguchi
NTT Open Source Software Center

#4Justin Pryzby
pryzby@telsasoft.com
In reply to: Erik Rijkers (#1)
Re: funcs.sgml - wrong example

On Wed, May 18, 2022 at 03:08:32AM +0200, Erik Rijkers wrote:

funcs.sgml has

42 <@ '{[1,7)}'::int4multirange

and calls it true. The attached fixes that.

Included are two more changes where actual output differs a bit from what
the doc examples show.

This patch is RFC but seems to have been forgotten.
Feel free to add it to the next CF if nobody applies it.

Note that I needed to apply it with use git am -p0 - I think it was created
with vanilla diff.

--
Justin

#5Tom Lane
tgl@sss.pgh.pa.us
In reply to: Justin Pryzby (#4)
Re: funcs.sgml - wrong example

Justin Pryzby <pryzby@telsasoft.com> writes:

On Wed, May 18, 2022 at 03:08:32AM +0200, Erik Rijkers wrote:

funcs.sgml has
42 <@ '{[1,7)}'::int4multirange
and calls it true. The attached fixes that.

Included are two more changes where actual output differs a bit from what
the doc examples show.

This patch is RFC but seems to have been forgotten.
Feel free to add it to the next CF if nobody applies it.

Pushed now. I modified that example to 4 <@ '{[1,7)}'::int4multirange
so that it would indeed return true, which is our usual style.

regards, tom lane