-
- Downloads
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
Showing
- doc/src/sgml/func.sgml 32 additions, 28 deletionsdoc/src/sgml/func.sgml
- src/backend/utils/adt/misc.c 1 addition, 70 deletionssrc/backend/utils/adt/misc.c
- src/include/catalog/catversion.h 2 additions, 2 deletionssrc/include/catalog/catversion.h
- src/include/catalog/pg_proc.h 1 addition, 7 deletionssrc/include/catalog/pg_proc.h
- src/include/utils/builtins.h 1 addition, 4 deletionssrc/include/utils/builtins.h
- src/test/regress/expected/random.out 2 additions, 2 deletionssrc/test/regress/expected/random.out
- src/test/regress/sql/random.sql 2 additions, 2 deletionssrc/test/regress/sql/random.sql
Loading
Please register or sign in to comment