summaryrefslogtreecommitdiff
path: root/myisam/mi_page.c
diff options
context:
space:
mode:
authorunknown <igor@rurik.mysql.com>2003-08-09 11:12:22 -0700
committerunknown <igor@rurik.mysql.com>2003-08-09 11:12:22 -0700
commitcbd85f9deb0f407dcb50bd818b20e16aa77e6b2b (patch)
treeea16bf3e27f2e3cd5852920dd399f64853a919b7 /myisam/mi_page.c
parentaf6d20830c3f192f1b617b610d1cc0def535f1fb (diff)
downloadmariadb-git-cbd85f9deb0f407dcb50bd818b20e16aa77e6b2b.tar.gz
set_var.cc, mysqld.cc, handler.cc, set_var.h, handler.h:
Added key cache parameters for midpoint insertion strategy Many files: Added midpoint insertion strategy for key cache mi_test2.c: Added a parameter to resize_key_cache mysys/mf_keycache.c: Added midpoint insertion strategy for key cache myisam/mi_check.c: Added midpoint insertion strategy for key cache myisam/mi_page.c: Added midpoint insertion strategy for key cache myisam/mi_range.c: Added midpoint insertion strategy for key cache myisam/rt_index.c: Added midpoint insertion strategy for key cache myisam/rt_split.c: Added midpoint insertion strategy for key cache myisam/mi_delete.c: Added midpoint insertion strategy for key cache myisam/mi_preload.c: Added midpoint insertion strategy for key cache myisam/mi_search.c: Added midpoint insertion strategy for key cache myisam/mi_write.c: Added midpoint insertion strategy for key cache myisam/rt_key.c: Added midpoint insertion strategy for key cache myisam/mi_test2.c: Added a parameter to resize_key_cache isam/_page.c: Added midpoint insertion strategy for key cache include/my_sys.h: Added midpoint insertion strategy for key cache myisam/myisamdef.h: Added midpoint insertion strategy for key cache sql/handler.h: Added key cache parameters for midpoint insertion strategy. sql/set_var.h: Added key cache parameters for midpoint insertion strategy. sql/handler.cc: Added key cache parameters for midpoint insertion strategy. sql/mysqld.cc: Added key cache parameters for midpoint insertion strategy. sql/set_var.cc: Added key cache parameters for midpoint insertion strategy.
Diffstat (limited to 'myisam/mi_page.c')
-rw-r--r--myisam/mi_page.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/myisam/mi_page.c b/myisam/mi_page.c
index 61a0c98233c..72aaac5d381 100644
--- a/myisam/mi_page.c
+++ b/myisam/mi_page.c
@@ -24,7 +24,8 @@
/* Fetch a key-page in memory */
uchar *_mi_fetch_keypage(register MI_INFO *info, MI_KEYDEF *keyinfo,
- my_off_t page, uchar *buff, int return_buffer)
+ my_off_t page, int level,
+ uchar *buff, int return_buffer)
{
uchar *tmp;
uint page_size;
@@ -32,7 +33,7 @@ uchar *_mi_fetch_keypage(register MI_INFO *info, MI_KEYDEF *keyinfo,
DBUG_PRINT("enter",("page: %ld",page));
tmp=(uchar*) key_cache_read(*info->s->keycache,
- info->s->kfile,page,(byte*) buff,
+ info->s->kfile, page, level, (byte*) buff,
(uint) keyinfo->block_length,
(uint) keyinfo->block_length,
return_buffer);
@@ -62,7 +63,7 @@ uchar *_mi_fetch_keypage(register MI_INFO *info, MI_KEYDEF *keyinfo,
/* Write a key-page on disk */
int _mi_write_keypage(register MI_INFO *info, register MI_KEYDEF *keyinfo,
- my_off_t page, uchar *buff)
+ my_off_t page, int level, uchar *buff)
{
reg3 uint length;
DBUG_ENTER("_mi_write_keypage");
@@ -94,7 +95,7 @@ int _mi_write_keypage(register MI_INFO *info, register MI_KEYDEF *keyinfo,
}
#endif
DBUG_RETURN((key_cache_write(*info->s->keycache,
- info->s->kfile,page,(byte*) buff,length,
+ info->s->kfile,page, level, (byte*) buff,length,
(uint) keyinfo->block_length,
(int) ((info->lock_type != F_UNLCK) ||
info->s->delay_key_write))));
@@ -103,7 +104,8 @@ int _mi_write_keypage(register MI_INFO *info, register MI_KEYDEF *keyinfo,
/* Remove page from disk */
-int _mi_dispose(register MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos)
+int _mi_dispose(register MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos,
+ int level)
{
my_off_t old_link;
char buff[8];
@@ -115,7 +117,7 @@ int _mi_dispose(register MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos)
mi_sizestore(buff,old_link);
info->s->state.changed|= STATE_NOT_SORTED_PAGES;
DBUG_RETURN(key_cache_write(*info->s->keycache,
- info->s->kfile,pos,buff,
+ info->s->kfile, pos , level, buff,
sizeof(buff),
(uint) keyinfo->block_length,
(int) (info->lock_type != F_UNLCK)));
@@ -124,7 +126,7 @@ int _mi_dispose(register MI_INFO *info, MI_KEYDEF *keyinfo, my_off_t pos)
/* Make new page on disk */
-my_off_t _mi_new(register MI_INFO *info, MI_KEYDEF *keyinfo)
+my_off_t _mi_new(register MI_INFO *info, MI_KEYDEF *keyinfo, int level)
{
my_off_t pos;
char buff[8];
@@ -144,7 +146,7 @@ my_off_t _mi_new(register MI_INFO *info, MI_KEYDEF *keyinfo)
else
{
if (!key_cache_read(*info->s->keycache,
- info->s->kfile,pos,
+ info->s->kfile, pos, level,
buff,
(uint) sizeof(buff),
(uint) keyinfo->block_length,0))