void sqlite3_randomness(int N, void *P);
SQLite 包含一个高质量的伪随机数生成器 (PRNG),用于在将新记录插入到已使用最大可能 ROWID 的表中时选择随机 ROWID。PRNG 也用于内置的 random() 和 randomblob() SQL 函数。此接口允许应用程序出于其他目的访问相同的 PRNG。
调用此例程会将 N 字节的随机性存储到缓冲区 P 中。P 参数可以是 NULL 指针。
如果之前未调用过此例程,或者之前的调用 N 小于 1 或 P 为 NULL 指针,则使用从默认 sqlite3_vfs 对象的 xRandomness 方法获得的随机性来播种 PRNG。如果之前对该例程的调用 N 为 1 或更大且 P 非 NULL,则伪随机性是在内部生成的,无需借助 sqlite3_vfs xRandomness 方法。