summaryrefslogtreecommitdiff
path: root/innobase/include/ha0ha.h
diff options
context:
space:
mode:
authorunknown <heikki@hundin.mysql.fi>2004-10-27 15:45:10 +0300
committerunknown <heikki@hundin.mysql.fi>2004-10-27 15:45:10 +0300
commitf41bba8c6156a7adf4c67dfa75e16112767a5d3c (patch)
treebe92bb32c7a2c9e1f63fd51e686e90bea155b26b /innobase/include/ha0ha.h
parent8b44be63c5279ebfd5fb4f7c8d209c2adb2d8697 (diff)
downloadmariadb-git-f41bba8c6156a7adf4c67dfa75e16112767a5d3c.tar.gz
btr0sea.c, buf0lru.c, buf0buf.c, ha0ha.c, hash0hash.h, ha0ha.h, buf0buf.h:
Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index memory overhead grows by 67 %, maybe we have to tune this later somehow innobase/include/buf0buf.h: Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow innobase/include/ha0ha.h: Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow innobase/include/hash0hash.h: Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow innobase/ha/ha0ha.c: Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow innobase/buf/buf0buf.c: Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow innobase/buf/buf0lru.c: Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow innobase/btr/btr0sea.c: Link adaptive hash index entries to the buffer page, so that we can remove them quickly without knowing the record structure on that page; this was requested by Marko for the compact InnoDB table format; note that the adaptive hash index overhead grows by 67 %, maybe we have to tune this later somehow
Diffstat (limited to 'innobase/include/ha0ha.h')
-rw-r--r--innobase/include/ha0ha.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/innobase/include/ha0ha.h b/innobase/include/ha0ha.h
index bdaecfcc57a..5e3af9c1869 100644
--- a/innobase/include/ha0ha.h
+++ b/innobase/include/ha0ha.h
@@ -54,7 +54,7 @@ ha_create(
/*****************************************************************
Inserts an entry into a hash table. If an entry with the same fold number
is found, its node is updated to point to the new data, and no new node
-is inserted. */
+is inserted. This function is only used in the adaptive hash index. */
ibool
ha_insert_for_fold(
@@ -111,7 +111,6 @@ void
ha_remove_all_nodes_to_page(
/*========================*/
hash_table_t* table, /* in: hash table */
- ulint fold, /* in: fold value */
page_t* page); /* in: buffer page */
/*****************************************************************
Validates a hash table. */
@@ -134,9 +133,18 @@ ha_print_info(
typedef struct ha_node_struct ha_node_t;
struct ha_node_struct {
- ha_node_t* next; /* next chain node or NULL if none */
- void* data; /* pointer to the data */
- ulint fold; /* fold value for the data */
+ ha_node_t* next; /* next chain node; NULL if none */
+ void* data; /* pointer to the data */
+ ulint fold; /* fold value for the data */
+ ha_node_t* next_for_block;/* in an adaptive hash index
+ (btr0sea.c), a doubly linked list of hash
+ nodes for the buffer block; these nodes
+ contain pointers to index records on the
+ page; in the last node this field is NULL;
+ note that we do not use UT_LST_ macros
+ to manipulate this list */
+ ha_node_t* prev_for_block;/* pointer to the previous node; in the
+ first node NULL */
};
#ifndef UNIV_NONINL