MySQL 5.6.14 Source Code Document
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
assoc.h
1
#ifndef ASSOC_H
2
#define ASSOC_H
3
4
struct
assoc
{
5
/* how many powers of 2's worth of buckets we use */
6
unsigned
int
hashpower;
7
8
9
/* Main hash table. This is where we look except during expansion. */
10
hash_item
** primary_hashtable;
11
12
/*
13
* Previous hash table. During expansion, we look here for keys that haven't
14
* been moved over to the primary yet.
15
*/
16
hash_item
** old_hashtable;
17
18
/* Number of items in the hash table. */
19
unsigned
int
hash_items;
20
21
/* Flag: Are we in the middle of expanding now? */
22
bool
expanding;
23
24
/*
25
* During expansion we migrate values with bucket granularity; this is how
26
* far we've gotten so far. Ranges from 0 .. hashsize(hashpower - 1) - 1.
27
*/
28
unsigned
int
expand_bucket;
29
};
30
31
/* associative array */
32
ENGINE_ERROR_CODE assoc_init(
struct
default_engine
*engine);
33
hash_item
*assoc_find(
struct
default_engine
*engine, uint32_t hash,
34
const
char
*key,
const
size_t
nkey);
35
int
assoc_insert(
struct
default_engine
*engine, uint32_t hash,
36
hash_item
*item);
37
void
assoc_delete(
struct
default_engine
*engine, uint32_t hash,
38
const
char
*key,
const
size_t
nkey);
39
int
start_assoc_maintenance_thread(
struct
default_engine
*engine);
40
void
stop_assoc_maintenance_thread(
struct
default_engine
*engine);
41
42
#endif
plugin
innodb_memcached
innodb_memcache
cache-src
assoc.h
Generated on Sat Nov 9 2013 01:25:12 for MySQL 5.6.14 Source Code Document by
1.8.1.2