|
MySQL 5.6.14 Source Code Document
|

Go to the source code of this file.
| UNIV_INTERN hash_table_t* hash_create | ( | ulint | n | ) |
Creates a hash table with >= n array cells. The actual number of cells is chosen to be a prime number slightly bigger than n.
| n | in: number of array cells |
Definition at line 293 of file hash0hash.cc.

| UNIV_INTERN void hash_create_sync_obj_func | ( | hash_table_t * | table, |
| enum hash_table_sync_t | type, | ||
| ulint | n_sync_obj | ||
| ) |
Creates a sync object array to protect a hash table. ::sync_obj can be mutexes or rw_locks depening on the type of hash table.
| table | in: hash table |
| type | in: HASH_TABLE_SYNC_MUTEX or HASH_TABLE_SYNC_RW_LOCK |
| n_sync_obj | in: number of sync objects, must be a power of 2 |
Definition at line 352 of file hash0hash.cc.
| UNIV_INTERN void hash_lock_s | ( | hash_table_t * | table, |
| ulint | fold | ||
| ) |
s-lock a lock for a fold value in a hash table.
| table | in: hash table |
| fold | in: fold |
Definition at line 129 of file hash0hash.cc.

| UNIV_INTERN void hash_lock_x | ( | hash_table_t * | table, |
| ulint | fold | ||
| ) |
x-lock a lock for a fold value in a hash table.
| table | in: hash table |
| fold | in: fold |
Definition at line 152 of file hash0hash.cc.

| UNIV_INTERN void hash_lock_x_all | ( | hash_table_t * | table | ) |
Reserves all the locks of a hash table, in an ascending order.
| table | in: hash table |
Definition at line 219 of file hash0hash.cc.

| UNIV_INTERN void hash_mutex_enter | ( | hash_table_t * | table, |
| ulint | fold | ||
| ) |
Reserves the mutex for a fold value in a hash table.
| table | in: hash table |
| fold | in: fold |
Definition at line 46 of file hash0hash.cc.

| UNIV_INTERN void hash_mutex_enter_all | ( | hash_table_t * | table | ) |
Reserves all the mutexes of a hash table, in an ascending order.
| table | in: hash table |
Definition at line 72 of file hash0hash.cc.
| UNIV_INTERN void hash_mutex_exit | ( | hash_table_t * | table, |
| ulint | fold | ||
| ) |
Releases the mutex for a fold value in a hash table.
| table | in: hash table |
| fold | in: fold |
Definition at line 59 of file hash0hash.cc.

| UNIV_INTERN void hash_mutex_exit_all | ( | hash_table_t * | table | ) |
Releases all the mutexes of a hash table.
| table | in: hash table |
Definition at line 89 of file hash0hash.cc.
| UNIV_INTERN void hash_mutex_exit_all_but | ( | hash_table_t * | table, |
| ib_mutex_t * | keep_mutex | ||
| ) |
Releases all but the passed in mutex of a hash table.
| table | in: hash table |
| keep_mutex | in: mutex to keep |
Definition at line 106 of file hash0hash.cc.
| UNIV_INTERN void hash_table_free | ( | hash_table_t * | table | ) |
Frees a hash table.
| table | in, own: hash table |
Definition at line 334 of file hash0hash.cc.


| UNIV_INTERN void hash_unlock_s | ( | hash_table_t * | table, |
| ulint | fold | ||
| ) |
unlock an s-lock for a fold value in a hash table.
| table | in: hash table |
| fold | in: fold |
Definition at line 175 of file hash0hash.cc.

| UNIV_INTERN void hash_unlock_x | ( | hash_table_t * | table, |
| ulint | fold | ||
| ) |
unlock x-lock for a fold value in a hash table.
| table | in: hash table |
| fold | in: fold |
Definition at line 198 of file hash0hash.cc.

| UNIV_INTERN void hash_unlock_x_all | ( | hash_table_t * | table | ) |
Releases all the locks of a hash table, in an ascending order.
| table | in: hash table |
Definition at line 242 of file hash0hash.cc.
| UNIV_INTERN void hash_unlock_x_all_but | ( | hash_table_t * | table, |
| rw_lock_t * | keep_lock | ||
| ) |
Releases all but passed in lock of a hash table,
| table | in: hash table |
| keep_lock | in: lock to keep |
Definition at line 264 of file hash0hash.cc.
