Doc: improve documentation about random().
authorTom Lane
Sat, 23 Jul 2022 23:00:29 +0000 (19:00 -0400)
committerTom Lane
Sat, 23 Jul 2022 23:00:33 +0000 (19:00 -0400)
We didn't explicitly say that random() uses a randomly-chosen seed
if you haven't called setseed().  Do so.

Also, remove ref/set.sgml's no-longer-accurate (and never very
relevant) statement that the seed value is multiplied by 2^31-1.

Back-patch to v12 where set.sgml's claim stopped being true.
The claim that we use a source of random bits as seed was debatable
before 4203842a1, too, so v12 seems like a good place to stop.

Per question from Carl Sopchak.

Discussion: https://postgr.es/m/f37bb937-9d99-08f0-4de7-80c91a3cfc2e@sopchak.me

doc/src/sgml/func.sgml
doc/src/sgml/ref/set.sgml

index 36c3e53e42d0e39d798817a7d671af1d58e2c4c5..21f8ab73e2851ad52065da62167a70122af745b3 100644 (file)
@@ -1841,6 +1841,9 @@ repeat('Pg', 4) PgPgPgPg
    subsequent random() calls in the current session
    can be repeated by re-issuing setseed() with the same
    argument.
+   Without any prior setseed() call in the same
+   session, the first random() call obtains a seed
+   from a platform-dependent source of random bits.
   
 
   
index ae508d026e2dc6130fa585c21aed50ce1e1ecc50..5878c61f9b7944dd5564a99665794a5c6eddd627 100644 (file)
@@ -177,8 +177,7 @@ SET [ SESSION | LOCAL ] TIME ZONE { timezone
       
        Sets the internal seed for the random number generator (the
        function random).  Allowed values are
-       floating-point numbers between -1 and 1, which are then
-       multiplied by 231-1.
+       floating-point numbers between -1 and 1 inclusive.