Re: [PATCH] random_normal function

From: Paul Ramsey <pramsey(at)cleverelephant(dot)ca>
To: Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [PATCH] random_normal function
Date: 2022-12-13 23:51:11
Message-ID: 5B5366A8-F982-4AD2-B98F-D7C80FF990AB@cleverelephant.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

> On Dec 9, 2022, at 3:20 PM, Paul Ramsey <pramsey(at)cleverelephant(dot)ca> wrote:
>
>
>
>> On Dec 9, 2022, at 9:17 AM, Paul Ramsey <pramsey(at)cleverelephant(dot)ca> wrote:
>>
>>
>>> On Dec 8, 2022, at 8:29 PM, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>>>
>>> On Thu, Dec 08, 2022 at 04:44:56PM -0800, Paul Ramsey wrote:
>>>> Final tme, with fixes from cirrusci.
>>>
>>> Well, why not. Seems like you would use that a lot with PostGIS.
>>>
>>> #include <math.h> /* for ldexp() */
>>> +#include <float.h> /* for DBL_EPSILON */
>>> And be careful with the order here.
>>
>> Should be ... alphabetical?
>>
>>> +static void
>>> +drandom_check_default_seed()
>>> We always use (void) rather than empty parenthesis sets.
>>
>> OK
>>
>>> I would not leave that unchecked, so I think that you should add
>>> something in ramdom.sql. Or would you prefer switching some of
>>> the regression tests be switched so as they use the new normal
>>> function?
>>
>> Reading through those tests... seems like they will (rarely) fail. Is that... OK?
>> The tests seem to be mostly worried that random() starts returning constants, which seems like a good thing to test for (is the random number generating returning randomness).
>> An obvious test for this function is that the mean and stddev converge on the supplied parameters, given enough inputs, which is actually kind of the opposite test. I use the same random number generator as the uniform distribution, so that aspect is already covered by the existing tests.
>>
>>> (Ahem. Bonus points for a random_string() returning a bytea, based on
>>> pg_strong_random().)
>>
>> Would love to. Separate patch of bundled into this one?
>
> Here's the original with suggestions applied and a random_string that applies on top of it.
>
> Thanks!
>
> P

Clearing up one CI failure.

Attachment Content-Type Size
random_normal_06a.patch application/octet-stream 7.5 KB
random_normal_06b.patch application/octet-stream 3.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nathan Bossart 2022-12-14 00:01:45 Re: wake up logical workers after ALTER SUBSCRIPTION
Previous Message Tom Lane 2022-12-13 23:32:08 Re: wake up logical workers after ALTER SUBSCRIPTION