diff options
author | unknown <igor@rurik.mysql.com> | 2003-08-09 11:12:22 -0700 |
---|---|---|
committer | unknown <igor@rurik.mysql.com> | 2003-08-09 11:12:22 -0700 |
commit | cbd85f9deb0f407dcb50bd818b20e16aa77e6b2b (patch) | |
tree | ea16bf3e27f2e3cd5852920dd399f64853a919b7 /myisam/rt_index.c | |
parent | af6d20830c3f192f1b617b610d1cc0def535f1fb (diff) | |
download | mariadb-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/rt_index.c')
-rw-r--r-- | myisam/rt_index.c | 49 |
1 files changed, 28 insertions, 21 deletions
diff --git a/myisam/rt_index.c b/myisam/rt_index.c index f02d6121eb5..8b877d2e65c 100644 --- a/myisam/rt_index.c +++ b/myisam/rt_index.c @@ -60,7 +60,7 @@ static int rtree_find_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint search_flag, u my_errno = HA_ERR_OUT_OF_MEM; return -1; } - if (!_mi_fetch_keypage(info, keyinfo, page, page_buf, 0)) + if (!_mi_fetch_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf, 0)) goto err1; nod_flag = mi_test_if_nod(page_buf); @@ -257,7 +257,7 @@ static int rtree_get_req(MI_INFO *info, MI_KEYDEF *keyinfo, uint key_length, if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length))) return -1; - if (!_mi_fetch_keypage(info, keyinfo, page, page_buf, 0)) + if (!_mi_fetch_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf, 0)) goto err1; nod_flag = mi_test_if_nod(page_buf); @@ -429,7 +429,7 @@ static int rtree_insert_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, my_errno = HA_ERR_OUT_OF_MEM; return -1; } - if (!_mi_fetch_keypage(info, keyinfo, page, page_buf, 0)) + if (!_mi_fetch_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf, 0)) goto err1; nod_flag = mi_test_if_nod(page_buf); @@ -445,7 +445,7 @@ static int rtree_insert_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, case 0: /* child was not split */ { rtree_combine_rect(keyinfo->seg, k, key, k, key_length); - if (_mi_write_keypage(info, keyinfo, page, page_buf)) + if (_mi_write_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf)) goto err1; goto ok; } @@ -462,7 +462,7 @@ static int rtree_insert_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, goto err1; res = rtree_add_key(info, keyinfo, new_key, key_length, page_buf, new_page); - if (_mi_write_keypage(info, keyinfo, page, page_buf)) + if (_mi_write_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf)) goto err1; goto ok; } @@ -476,7 +476,7 @@ static int rtree_insert_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, else { res = rtree_add_key(info, keyinfo, key, key_length, page_buf, new_page); - if (_mi_write_keypage(info, keyinfo, page, page_buf)) + if (_mi_write_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf)) goto err1; goto ok; } @@ -509,12 +509,12 @@ static int rtree_insert_level(MI_INFO *info, uint keynr, uchar *key, { int res; - if ((old_root = _mi_new(info, keyinfo)) == HA_OFFSET_ERROR) + if ((old_root = _mi_new(info, keyinfo, DFLT_INIT_HITS)) == HA_OFFSET_ERROR) return -1; info->buff_used = 1; mi_putint(info->buff, 2, 0); res = rtree_add_key(info, keyinfo, key, key_length, info->buff, NULL); - if (_mi_write_keypage(info, keyinfo, old_root, info->buff)) + if (_mi_write_keypage(info, keyinfo, old_root, DFLT_INIT_HITS, info->buff)) return 1; info->s->state.key_root[keynr] = old_root; return res; @@ -542,7 +542,8 @@ static int rtree_insert_level(MI_INFO *info, uint keynr, uchar *key, } mi_putint(new_root_buf, 2, nod_flag); - if ((new_root = _mi_new(info, keyinfo)) == HA_OFFSET_ERROR) + if ((new_root = _mi_new(info, keyinfo, DFLT_INIT_HITS)) == + HA_OFFSET_ERROR) goto err1; new_key = new_root_buf + keyinfo->block_length + nod_flag; @@ -559,7 +560,8 @@ static int rtree_insert_level(MI_INFO *info, uint keynr, uchar *key, if (rtree_add_key(info, keyinfo, new_key, key_length, new_root_buf, NULL) == -1) goto err1; - if (_mi_write_keypage(info, keyinfo, new_root, new_root_buf)) + if (_mi_write_keypage(info, keyinfo, new_root, + DFLT_INIT_HITS, new_root_buf)) goto err1; info->s->state.key_root[keynr] = new_root; @@ -636,7 +638,7 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, my_errno = HA_ERR_OUT_OF_MEM; return -1; } - if (!_mi_fetch_keypage(info, keyinfo, page, page_buf, 0)) + if (!_mi_fetch_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf, 0)) goto err1; nod_flag = mi_test_if_nod(page_buf); @@ -662,7 +664,8 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, if (rtree_set_key_mbr(info, keyinfo, k, key_length, _mi_kpos(nod_flag, k))) goto err1; - if (_mi_write_keypage(info, keyinfo, page, page_buf)) + if (_mi_write_keypage(info, keyinfo, page, + DFLT_INIT_HITS, page_buf)) goto err1; } else @@ -672,7 +675,8 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, level + 1)) goto err1; rtree_delete_key(info, page_buf, k, key_length, nod_flag); - if (_mi_write_keypage(info, keyinfo, page, page_buf)) + if (_mi_write_keypage(info, keyinfo, page, + DFLT_INIT_HITS, page_buf)) goto err1; *page_size = mi_getint(page_buf); } @@ -686,7 +690,8 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, case 2: /* vacuous case: last key in the leaf */ { rtree_delete_key(info, page_buf, k, key_length, nod_flag); - if (_mi_write_keypage(info, keyinfo, page, page_buf)) + if (_mi_write_keypage(info, keyinfo, page, + DFLT_INIT_HITS, page_buf)) goto err1; *page_size = mi_getint(page_buf); res = 0; @@ -711,13 +716,13 @@ static int rtree_delete_req(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *key, { /* last key in the leaf */ res = 2; - if (_mi_dispose(info, keyinfo, page)) + if (_mi_dispose(info, keyinfo, page, DFLT_INIT_HITS)) goto err1; } else { res = 0; - if (_mi_write_keypage(info, keyinfo, page, page_buf)) + if (_mi_write_keypage(info, keyinfo, page, DFLT_INIT_HITS, page_buf)) goto err1; } goto ok; @@ -783,7 +788,7 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length) goto err1; } if (!_mi_fetch_keypage(info, keyinfo, ReinsertList.pages[i].offs, - page_buf, 0)) + DFLT_INIT_HITS, page_buf, 0)) goto err1; nod_flag = mi_test_if_nod(page_buf); k = rt_PAGE_FIRST_KEY(page_buf, nod_flag); @@ -798,7 +803,8 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length) } } my_afree((byte*)page_buf); - if (_mi_dispose(info, keyinfo, ReinsertList.pages[i].offs)) + if (_mi_dispose(info, keyinfo, ReinsertList.pages[i].offs, + DFLT_INIT_HITS)) goto err1; } if (ReinsertList.pages) @@ -807,7 +813,8 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length) /* check for redundant root (not leaf, 1 child) and eliminate */ if ((old_root = info->s->state.key_root[keynr]) == HA_OFFSET_ERROR) goto err1; - if (!_mi_fetch_keypage(info, keyinfo, old_root, info->buff, 0)) + if (!_mi_fetch_keypage(info, keyinfo, old_root, DFLT_INIT_HITS, + info->buff, 0)) goto err1; nod_flag = mi_test_if_nod(info->buff); page_size = mi_getint(info->buff); @@ -816,7 +823,7 @@ int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length) { my_off_t new_root = _mi_kpos(nod_flag, rt_PAGE_FIRST_KEY(info->buff, nod_flag)); - if (_mi_dispose(info, keyinfo, old_root)) + if (_mi_dispose(info, keyinfo, old_root, DFLT_INIT_HITS)) goto err1; info->s->state.key_root[keynr] = new_root; } @@ -863,7 +870,7 @@ ha_rows rtree_estimate(MI_INFO *info, uint keynr, uchar *key, return HA_POS_ERROR; if (!(page_buf = (uchar*)my_alloca((uint)keyinfo->block_length))) return HA_POS_ERROR; - if (!_mi_fetch_keypage(info, keyinfo, root, page_buf, 0)) + if (!_mi_fetch_keypage(info, keyinfo, root, DFLT_INIT_HITS, page_buf, 0)) goto err1; nod_flag = mi_test_if_nod(page_buf); |