.Dd January 24, 2024 .Dt SQLITE3_RANDOMNESS 3 .Os .Sh NAME .Nm sqlite3_randomness .Nd pseudo-Random number generator .Sh SYNOPSIS .In sqlite3.h .Ft void .Fo sqlite3_randomness .Fa "int N" .Fa "void *P" .Fc .Sh DESCRIPTION SQLite contains a high-quality pseudo-random number generator (PRNG) used to select random ROWIDs when inserting new records into a table that already uses the largest possible ROWID. The PRNG is also used for the built-in random() and randomblob() SQL functions. This interface allows applications to access the same PRNG for other purposes. .Pp A call to this routine stores N bytes of randomness into buffer P. The P parameter can be a NULL pointer. .Pp If this routine has not been previously called or if the previous call had N less than one or a NULL pointer for P, then the PRNG is seeded using randomness obtained from the xRandomness method of the default sqlite3_vfs object. If the previous call to this routine had an N of 1 or more and a non-NULL P then the pseudo-randomness is generated internally and without recourse to the sqlite3_vfs xRandomness method. .Sh IMPLEMENTATION NOTES These declarations were extracted from the interface documentation at line 3101. .Bd -literal SQLITE_API void sqlite3_randomness(int N, void *P); .Ed .Sh SEE ALSO .Xr sqlite3_vfs 3