diff options
author | unknown <monty@donna.mysql.com> | 2001-02-17 14:19:19 +0200 |
---|---|---|
committer | unknown <monty@donna.mysql.com> | 2001-02-17 14:19:19 +0200 |
commit | 132e667b0bbbe33137b6baeb59f3f22b7524f066 (patch) | |
tree | bfe39951a73e906579ab819bf5198ad8f3a64a36 /innobase/include/ut0rnd.h | |
parent | b084cf1951eb271f662a9326c950f4cf0570258d (diff) | |
download | mariadb-git-132e667b0bbbe33137b6baeb59f3f22b7524f066.tar.gz |
Added Innobase to source distribution
Docs/manual.texi:
Added Innobase documentation
configure.in:
Incremented version
include/my_base.h:
Added option for Innobase
myisam/mi_check.c:
cleanup
mysql-test/t/bdb.test:
cleanup
mysql-test/t/innobase.test:
Extended with new tests from bdb.test
mysql-test/t/merge.test:
Added test of SHOW create
mysys/my_init.c:
Fix for UNIXWARE 7
scripts/mysql_install_db.sh:
Always write how to start mysqld
scripts/safe_mysqld.sh:
Fixed type
sql/ha_innobase.cc:
Update to new version
sql/ha_innobase.h:
Update to new version
sql/handler.h:
Added 'update_table_comment()' and 'append_create_info()'
sql/sql_delete.cc:
Fixes for Innobase
sql/sql_select.cc:
Fixes for Innobase
sql/sql_show.cc:
Append create information (for MERGE tables)
sql/sql_update.cc:
Fixes for Innobase
Diffstat (limited to 'innobase/include/ut0rnd.h')
-rw-r--r-- | innobase/include/ut0rnd.h | 121 |
1 files changed, 121 insertions, 0 deletions
diff --git a/innobase/include/ut0rnd.h b/innobase/include/ut0rnd.h new file mode 100644 index 00000000000..a30251e6da0 --- /dev/null +++ b/innobase/include/ut0rnd.h @@ -0,0 +1,121 @@ +/********************************************************************** +Random numbers and hashing + +(c) 1994, 1995 Innobase Oy + +Created 1/20/1994 Heikki Tuuri +***********************************************************************/ + +#ifndef ut0rnd_h +#define ut0rnd_h + +#include "univ.i" + +#include "ut0byte.h" + +/* The 'character code' for end of field or string (used +in folding records */ +#define UT_END_OF_FIELD 257 + +/************************************************************ +This is used to set the random number seed. */ +UNIV_INLINE +void +ut_rnd_set_seed( +/*============*/ + ulint seed); /* in: seed */ +/************************************************************ +The following function generates a series of 'random' ulint integers. */ +UNIV_INLINE +ulint +ut_rnd_gen_next_ulint( +/*==================*/ + /* out: the next 'random' number */ + ulint rnd); /* in: the previous random number value */ +/************************************************************* +The following function generates 'random' ulint integers which +enumerate the value space (let there be N of them) of ulint integers +in a pseudo random fashion. Note that the same integer is repeated +always after N calls to the generator. */ +UNIV_INLINE +ulint +ut_rnd_gen_ulint(void); +/*==================*/ + /* out: the 'random' number */ +/************************************************************ +Generates a random integer from a given interval. */ +UNIV_INLINE +ulint +ut_rnd_interval( +/*============*/ + /* out: the 'random' number */ + ulint low, /* in: low limit; can generate also this value */ + ulint high); /* in: high limit; can generate also this value */ +/************************************************************* +Generates a random iboolean value. */ +UNIV_INLINE +ibool +ut_rnd_gen_ibool(void); +/*=================*/ + /* out: the random value */ +/*********************************************************** +The following function generates a hash value for a ulint integer +to a hash table of size table_size, which should be a prime or some +random number to work reliably. */ +UNIV_INLINE +ulint +ut_hash_ulint( +/*=========*/ + /* out: hash value */ + ulint key, /* in: value to be hashed */ + ulint table_size); /* in: hash table size */ +/***************************************************************** +Folds a pair of ulints. */ +UNIV_INLINE +ulint +ut_fold_ulint_pair( +/*===============*/ + /* out: folded value */ + ulint n1, /* in: ulint */ + ulint n2); /* in: ulint */ +/***************************************************************** +Folds a dulint. */ +UNIV_INLINE +ulint +ut_fold_dulint( +/*===========*/ + /* out: folded value */ + dulint d); /* in: dulint */ +/***************************************************************** +Folds a character string ending in the null character. */ +UNIV_INLINE +ulint +ut_fold_string( +/*===========*/ + /* out: folded value */ + char* str); /* in: null-terminated string */ +/***************************************************************** +Folds a binary string. */ +UNIV_INLINE +ulint +ut_fold_binary( +/*===========*/ + /* out: folded value */ + byte* str, /* in: string of bytes */ + ulint len); /* in: length */ +/*************************************************************** +Looks for a prime number slightly greater than the given argument. +The prime is chosen so that it is not near any power of 2. */ + +ulint +ut_find_prime( +/*==========*/ + /* out: prime */ + ulint n); /* in: positive number > 100 */ + + +#ifndef UNIV_NONINL +#include "ut0rnd.ic" +#endif + +#endif |