Go to the source code of this file.
Functions | |
static void * | fts2HashMalloc (int n) |
static void | fts2HashFree (void *p) |
void | sqlite3Fts2HashInit (fts2Hash *pNew, int keyClass, int copyKey) |
void | sqlite3Fts2HashClear (fts2Hash *pH) |
static int | strHash (const void *pKey, int nKey) |
static int | strCompare (const void *pKey1, int n1, const void *pKey2, int n2) |
static int | binHash (const void *pKey, int nKey) |
static int | binCompare (const void *pKey1, int n1, const void *pKey2, int n2) |
static int(*)(const void *, int) | hashFunction (int keyClass) |
static int(*)(const void *, int, const void *, int) | compareFunction (int keyClass) |
static void | insertElement (fts2Hash *pH, struct _fts2ht *pEntry, fts2HashElem *pNew) |
static void | rehash (fts2Hash *pH, int new_size) |
static fts2HashElem * | findElementGivenHash (const fts2Hash *pH, const void *pKey, int nKey, int h) |
static void | removeElementGivenHash (fts2Hash *pH, fts2HashElem *elem, int h) |
void * | sqlite3Fts2HashFind (const fts2Hash *pH, const void *pKey, int nKey) |
void * | sqlite3Fts2HashInsert (fts2Hash *pH, const void *pKey, int nKey, void *data) |
static int binCompare | ( | const void * | pKey1, | |
int | n1, | |||
const void * | pKey2, | |||
int | n2 | |||
) | [static] |
Definition at line 123 of file fts2_hash.c.
Referenced by compareFunction().
static int binHash | ( | const void * | pKey, | |
int | nKey | |||
) | [static] |
Definition at line 115 of file fts2_hash.c.
Referenced by hashFunction().
static int(*)(const void*, int, const void*, int) compareFunction | ( | int | keyClass | ) | [static] |
Definition at line 155 of file fts2_hash.c.
References binCompare(), FTS2_HASH_BINARY, FTS2_HASH_STRING, and strCompare().
Referenced by findElementGivenHash().
static fts2HashElem* findElementGivenHash | ( | const fts2Hash * | pH, | |
const void * | pKey, | |||
int | nKey, | |||
int | h | |||
) | [static] |
Definition at line 217 of file fts2_hash.c.
References compareFunction(), fts2Hash::ht, fts2Hash::keyClass, fts2HashElem::next, fts2HashElem::nKey, and fts2HashElem::pKey.
Referenced by sqlite3Fts2HashFind(), and sqlite3Fts2HashInsert().
static void fts2HashFree | ( | void * | p | ) | [static] |
Definition at line 45 of file fts2_hash.c.
References sqlite3_free().
Referenced by rehash(), removeElementGivenHash(), sqlite3Fts2HashClear(), and sqlite3Fts2HashInsert().
static void* fts2HashMalloc | ( | int | n | ) | [static] |
Definition at line 38 of file fts2_hash.c.
References sqlite3_malloc().
Referenced by rehash(), and sqlite3Fts2HashInsert().
static int(*)(const void*, int) hashFunction | ( | int | keyClass | ) | [static] |
Definition at line 140 of file fts2_hash.c.
References binHash(), FTS2_HASH_BINARY, FTS2_HASH_STRING, and strHash().
Referenced by rehash(), sqlite3Fts2HashFind(), and sqlite3Fts2HashInsert().
static void insertElement | ( | fts2Hash * | pH, | |
struct _fts2ht * | pEntry, | |||
fts2HashElem * | pNew | |||
) | [static] |
Definition at line 166 of file fts2_hash.c.
References fts2Hash::first, fts2HashElem::next, and fts2HashElem::prev.
Referenced by rehash(), and sqlite3Fts2HashInsert().
static void rehash | ( | fts2Hash * | pH, | |
int | new_size | |||
) | [static] |
Definition at line 194 of file fts2_hash.c.
References fts2Hash::first, fts2HashFree(), fts2HashMalloc(), hashFunction(), fts2Hash::ht, fts2Hash::htsize, insertElement(), fts2Hash::keyClass, fts2HashElem::next, fts2HashElem::nKey, and fts2HashElem::pKey.
Referenced by sqlite3Fts2HashInsert().
static void removeElementGivenHash | ( | fts2Hash * | pH, | |
fts2HashElem * | elem, | |||
int | h | |||
) | [static] |
Definition at line 245 of file fts2_hash.c.
References fts2Hash::_fts2ht::chain, fts2Hash::copyKey, fts2Hash::count, fts2Hash::first, fts2HashClear, fts2HashFree(), fts2Hash::ht, fts2HashElem::next, fts2HashElem::pKey, and fts2HashElem::prev.
Referenced by sqlite3Fts2HashInsert().
void sqlite3Fts2HashClear | ( | fts2Hash * | pH | ) |
Definition at line 74 of file fts2_hash.c.
References fts2Hash::copyKey, fts2Hash::count, fts2Hash::first, fts2HashFree(), fts2Hash::ht, fts2Hash::htsize, fts2HashElem::next, and fts2HashElem::pKey.
Referenced by hashDestroy(), and sqlite3Fts2Init().
void* sqlite3Fts2HashFind | ( | const fts2Hash * | pH, | |
const void * | pKey, | |||
int | nKey | |||
) |
Definition at line 283 of file fts2_hash.c.
References fts2HashElem::data, findElementGivenHash(), hashFunction(), fts2Hash::ht, fts2Hash::htsize, and fts2Hash::keyClass.
Referenced by constructVtab(), and scalarFunc().
void sqlite3Fts2HashInit | ( | fts2Hash * | pNew, | |
int | keyClass, | |||
int | copyKey | |||
) |
Definition at line 59 of file fts2_hash.c.
References fts2Hash::copyKey, fts2Hash::count, fts2Hash::first, FTS2_HASH_BINARY, FTS2_HASH_STRING, fts2Hash::ht, fts2Hash::htsize, and fts2Hash::keyClass.
Referenced by sqlite3Fts2Init().
void* sqlite3Fts2HashInsert | ( | fts2Hash * | pH, | |
const void * | pKey, | |||
int | nKey, | |||
void * | data | |||
) |
Definition at line 312 of file fts2_hash.c.
References fts2Hash::copyKey, fts2Hash::count, fts2HashElem::data, findElementGivenHash(), fts2HashFree(), fts2HashMalloc(), hashFunction(), fts2Hash::ht, fts2Hash::htsize, insertElement(), fts2Hash::keyClass, fts2HashElem::nKey, fts2HashElem::pKey, rehash(), and removeElementGivenHash().
Referenced by scalarFunc(), and sqlite3Fts2Init().
static int strCompare | ( | const void * | pKey1, | |
int | n1, | |||
const void * | pKey2, | |||
int | n2 | |||
) | [static] |
Definition at line 107 of file fts2_hash.c.
Referenced by compareFunction().
static int strHash | ( | const void * | pKey, | |
int | nKey | |||
) | [static] |
Definition at line 97 of file fts2_hash.c.
Referenced by hashFunction().
ContextLogger2—ContextLogger2 Logger Daemon Internals—Generated on Mon May 2 13:49:59 2011 by Doxygen 1.6.1