The "random" regression test uses a function called oidrand(), which
authorBruce Momjian <bruce@momjian.us>
Thu, 13 Feb 2003 05:24:04 +0000 (05:24 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 13 Feb 2003 05:24:04 +0000 (05:24 +0000)
commit6cb1f4fe44a92aa97fbfd0c26ebbb8842349d90d
tree228d6d973ec607fe0c171319b84b9d8cfd10fd58
parent8195f8f0427e0387f595ca951e4dcc257655e891
The "random" regression test uses a function called oidrand(), which
takes two parameters, an OID x and an integer y, and returns "true" with
probability 1/y (the OID argument is ignored). This can be useful -- for
example, it can be used to select a random sampling of the rows in a
table (which is what the "random" regression test uses it for).

This patch removes that function, because it was old and messy. The old
function had the following problems:

- it was undocumented

- it was poorly named

- it was designed to workaround an optimizer bug that no longer exists
(the OID argument is to ensure that the optimizer won't optimize away
calls to the function; AFAIK marking the function as 'volatile' suffices
nowadays)

- it used a different random-number generation technique than the other
PSRNG-related functions in the backend do (it called random() like they
do, but it had its own logic for setting a set and deciding when to
reseed the RNG).

Ok, this patch removes oidrand(), oidsrand(), and userfntest(), and
improves the SGML docs a little bit (un-commenting the setseed()
documentation).

Neil Conway
doc/src/sgml/func.sgml
src/backend/utils/adt/misc.c
src/include/catalog/catversion.h
src/include/catalog/pg_proc.h
src/include/utils/builtins.h
src/test/regress/expected/random.out
src/test/regress/sql/random.sql