Hash
IN OUT EFI_HASH_OUTPUT *Hash
EFI_HASH_HASH Hash;
IN OUT EFI_HASH2_OUTPUT *Hash
IN OUT EFI_HASH2_OUTPUT *Hash
EFI_HASH2_HASH Hash;
Hash tblHash; /* All created tables, by index */
Hash temp1;
Hash temp2;
static void rehash(Hash *pH, int new_size){
const Hash *pH, /* The pH to be searched */
Hash *pH, /* The pH containing "elem" */
void *sqliteHashFind(const Hash *pH, const void *pKey, int nKey){
void *sqliteHashInsert(Hash *pH, const void *pKey, int nKey, void *data){
void sqliteHashInit(Hash *new, int keyClass, int copyKey){
void sqliteHashClear(Hash *pH){
typedef struct Hash Hash;
void sqliteHashInit(Hash*, int keytype, int copyKey);
void *sqliteHashInsert(Hash*, const void *pKey, int nKey, void *pData);
void *sqliteHashFind(const Hash*, const void *pKey, int nKey);
void sqliteHashClear(Hash*);
static Hash lockHash = { SQLITE_HASH_BINARY, 0, 0, 0, 0, 0 };
static Hash openHash = { SQLITE_HASH_BINARY, 0, 0, 0, 0, 0 };
Hash tblHash; /* All tables indexed by name */
Hash idxHash; /* All (named) indices indexed by name */
Hash trigHash; /* All triggers indexed by name */
Hash aFKey; /* Foreign keys indexed by to-table */
Hash aFunc; /* All functions that can be in SQL exprs */
Hash hash; /* Hash table of all aggregate elements */
Hash hash; /* A set is just a hash table */
cap = cap->link[Hash+Next];
if ((cxp = cap->link[Hash+Prev]) != 0)
cxp->link[Hash+Next] = cap->link[Hash+Next];
*(cap->chn) = cap->link[Hash+Next];
if ((cxp = cap->link[Hash+Next]) != 0)
cxp->link[Hash+Prev] = cap->link[Hash+Prev];
if ((cap->link[Hash+Next] = *ccp) != 0)
(*ccp)->link[Hash+Prev] = cap;