diff options
author | unknown <kostja@bodhi.(none)> | 2007-06-01 12:12:06 +0400 |
---|---|---|
committer | unknown <kostja@bodhi.(none)> | 2007-06-01 12:12:06 +0400 |
commit | 63791f4cc4d7f79e3fe6d41c701b152674073019 (patch) | |
tree | 2c2de88de3152746bd0ffaea698446ff1cede244 /storage/heap/hp_block.c | |
parent | 80af30efe10621b7c2b64f98cf957e0c1b5b5f8d (diff) | |
parent | c6ff8a6500f6e3e08d01fcf0687f6987e5adefa6 (diff) | |
download | mariadb-git-63791f4cc4d7f79e3fe6d41c701b152674073019.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
client/mysqlbinlog.cc:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/event_data_objects.cc:
Auto merged
sql/event_queue.cc:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_xmlfunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/heap/hp_hash.c:
Auto merged
tests/mysql_client_test.c:
Auto merged
sql/item_func.cc:
Manual merge.
sql/sp.cc:
Manual merge.
sql/sql_cache.cc:
Manual merge.
sql/sql_table.cc:
Manual merge.
strings/my_vsnprintf.c:
Manual merge.
Diffstat (limited to 'storage/heap/hp_block.c')
-rw-r--r-- | storage/heap/hp_block.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/storage/heap/hp_block.c b/storage/heap/hp_block.c index 85219380287..c622a9e52f8 100644 --- a/storage/heap/hp_block.c +++ b/storage/heap/hp_block.c @@ -26,7 +26,7 @@ {p_0, p_1, ...} serve as indexes to descend the blocks tree. */ -byte *hp_find_block(HP_BLOCK *block, ulong pos) +uchar *hp_find_block(HP_BLOCK *block, ulong pos) { reg1 int i; reg3 HP_PTRS *ptr; /* block base ptr */ @@ -36,12 +36,13 @@ byte *hp_find_block(HP_BLOCK *block, ulong pos) ptr=(HP_PTRS*)ptr->blocks[pos/block->level_info[i].records_under_level]; pos%=block->level_info[i].records_under_level; } - return (byte*) ptr+ pos*block->recbuffer; + return (uchar*) ptr+ pos*block->recbuffer; } /* Get one new block-of-records. Alloc ptr to block if needed + SYNOPSIS hp_get_new_block() block HP_BLOCK tree-like block @@ -53,7 +54,7 @@ byte *hp_find_block(HP_BLOCK *block, ulong pos) 1 Out of memory */ -int hp_get_new_block(HP_BLOCK *block, ulong *alloc_length) +int hp_get_new_block(HP_BLOCK *block, size_t *alloc_length) { reg1 uint i,j; HP_PTRS *root; @@ -101,13 +102,13 @@ int hp_get_new_block(HP_BLOCK *block, ulong *alloc_length) /* Occupy the free slot we've found at level i */ block->level_info[i].last_blocks-> blocks[HP_PTRS_IN_NOD - block->level_info[i].free_ptrs_in_block--]= - (byte*) root; + (uchar*) root; /* Add a block subtree with each node having one left-most child */ for (j=i-1 ; j >0 ; j--) { block->level_info[j].last_blocks= root++; - block->level_info[j].last_blocks->blocks[0]=(byte*) root; + block->level_info[j].last_blocks->blocks[0]=(uchar*) root; block->level_info[j].free_ptrs_in_block=HP_PTRS_IN_NOD-1; } @@ -124,27 +125,27 @@ int hp_get_new_block(HP_BLOCK *block, ulong *alloc_length) /* free all blocks under level */ -byte *hp_free_level(HP_BLOCK *block, uint level, HP_PTRS *pos, byte *last_pos) +uchar *hp_free_level(HP_BLOCK *block, uint level, HP_PTRS *pos, uchar *last_pos) { int i,max_pos; - byte *next_ptr; + uchar *next_ptr; if (level == 1) - next_ptr=(byte*) pos+block->recbuffer; + next_ptr=(uchar*) pos+block->recbuffer; else { max_pos= (block->level_info[level-1].last_blocks == pos) ? HP_PTRS_IN_NOD - block->level_info[level-1].free_ptrs_in_block : HP_PTRS_IN_NOD; - next_ptr=(byte*) (pos+1); + next_ptr=(uchar*) (pos+1); for (i=0 ; i < max_pos ; i++) next_ptr=hp_free_level(block,level-1, (HP_PTRS*) pos->blocks[i],next_ptr); } - if ((byte*) pos != last_pos) + if ((uchar*) pos != last_pos) { - my_free((gptr) pos,MYF(0)); + my_free((uchar*) pos,MYF(0)); return last_pos; } return next_ptr; /* next memory position */ |