From: | Dean Rasheed <dean(dot)a(dot)rasheed(at)gmail(dot)com> |
---|---|
To: | Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> |
Cc: | Yura Sokolov <y(dot)sokolov(at)postgrespro(dot)ru>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Aleksander Alekseev <aleksander(at)timescale(dot)com>, PostgreSQL Developers <pgsql-hackers(at)lists(dot)postgresql(dot)org> |
Subject: | Re: rand48 replacement |
Date: | 2021-07-08 09:08:52 |
Message-ID: | CAEZATCW_DnReXAAckR2pxPgecYJsT1M9DKg+ZVRu_6HGKgARpg@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Thu, 8 Jul 2021 at 09:26, Fabien COELHO <coelho(at)cri(dot)ensmp(dot)fr> wrote:
>
> > Finally, I think it would be better to treat the upper bound of the
> > range as inclusive.
>
> This bothered me as well, but the usual approach seems to use range as the
> number of values, so I was hesitant to depart from that. I'm still
> hesitant to go that way.
>
Yeah, that bothered me too.
For example, java.util.Random.nextInt(bound) returns a value in the
range [0,bound).
But other implementations are not all like that. For example python's
random.randint(a,b) returns a value in the range [a,b].
Python also has random.randrange(start,stop[,step]), which is designed
for compatibility with their range(start,stop[,step]) function, which
treats "stop" as exclusive.
However, Postgres tends to go the other way, and treat the upper bound
as inclusive, as in, for example, generate_series() and pgbench's
random() function.
I think it makes more sense to do it that way, because then such
functions can work all the way up to and including the limit of the
bound's datatype, which makes them more general.
Regards,
Dean
From | Date | Subject | |
---|---|---|---|
Next Message | Amit Kapila | 2021-07-08 09:28:41 | Re: Skipping logical replication transactions on subscriber side |
Previous Message | Masahiko Sawada | 2021-07-08 08:47:11 | Re: [PoC] Improve dead tuple storage for lazy vacuum |