mirror of
https://github.com/postgres/postgres.git
synced 2025-06-29 10:41:53 +03:00
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
This commit is contained in:
@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: builtins.h,v 1.207 2003/02/06 20:25:33 tgl Exp $
|
||||
* $Id: builtins.h,v 1.208 2003/02/13 05:24:04 momjian Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@ -315,9 +315,6 @@ extern Datum float84ge(PG_FUNCTION_ARGS);
|
||||
/* misc.c */
|
||||
extern Datum nullvalue(PG_FUNCTION_ARGS);
|
||||
extern Datum nonnullvalue(PG_FUNCTION_ARGS);
|
||||
extern Datum oidrand(PG_FUNCTION_ARGS);
|
||||
extern Datum oidsrand(PG_FUNCTION_ARGS);
|
||||
extern Datum userfntest(PG_FUNCTION_ARGS);
|
||||
extern Datum current_database(PG_FUNCTION_ARGS);
|
||||
|
||||
/* not_in.c */
|
||||
|
Reference in New Issue
Block a user