Loading =6deleted 100644 → 0 +0 −0 Empty file deleted. heap/hp_clear.c +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ void _hp_clear(HP_SHARE *info) block->levels=0; block->last_allocated=0; } info->records=info->deleted=info->data_length=info->index_length=0;; info->records=info->deleted=info->data_length=info->index_length=0; info->blength=1; info->changed=0; info->del_link=0; Loading heap/hp_close.c +3 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ #include "heapdef.h" /* Close a database open by hp_open() */ /* Data is not deallocated */ /* Data is normally not deallocated */ int heap_close(HP_INFO *info) { Loading @@ -43,8 +43,9 @@ int _hp_close(register HP_INFO *info) } #endif info->s->changed=0; info->s->open_count--; heap_open_list=list_delete(heap_open_list,&info->open_list); if (!--info->s->open_count && info->s->delete_on_close) _hp_free(info->s); /* Table was deleted */ my_free((gptr) info,MYF(0)); DBUG_RETURN(error); } Loading heap/hp_create.c +27 −11 Original line number Diff line number Diff line Loading @@ -21,33 +21,49 @@ #include "heapdef.h" int heap_create(const char *name) { reg1 HP_SHARE *share; DBUG_ENTER("heap_create"); (void) heap_delete_all(name); pthread_mutex_lock(&THR_LOCK_heap); if ((share=_hp_find_named_heap(name))) { if (share->open_count == 0) _hp_free(share); } else { my_errno=ENOENT; } pthread_mutex_unlock(&THR_LOCK_heap); DBUG_RETURN(0); } int heap_delete_all(const char *name) int heap_delete_table(const char *name) { reg1 HP_SHARE *info; int found; DBUG_ENTER("heap_delete_all"); int result; reg1 HP_SHARE *share; DBUG_ENTER("heap_delete_table"); pthread_mutex_lock(&THR_LOCK_heap); if ((info=_hp_find_named_heap(name))) if ((share=_hp_find_named_heap(name))) { if (info->open_count == 0) _hp_free(info); found=0; if (share->open_count == 0) _hp_free(share); else share->delete_on_close=1; result=0; } else { found=my_errno=ENOENT; result=my_errno=ENOENT; } pthread_mutex_unlock(&THR_LOCK_heap); DBUG_RETURN(found); DBUG_RETURN(result); } void _hp_free(HP_SHARE *share) { heap_share_list=list_delete(heap_share_list,&share->open_list); Loading heap/hp_delete.c +4 −2 Original line number Diff line number Diff line Loading @@ -50,7 +50,8 @@ int heap_delete(HP_INFO *info, const byte *record) info->current_hash_ptr=0; DBUG_RETURN(0); err: if( ++(share->records) == share->blength) share->blength+= share->blength; if (++(share->records) == share->blength) share->blength+= share->blength; DBUG_RETURN(my_errno); } Loading @@ -66,7 +67,8 @@ int _hp_delete_key(HP_INFO *info, register HP_KEYDEF *keyinfo, DBUG_ENTER("_hp_delete_key"); blength=share->blength; if (share->records+1 == blength) blength+= blength; if (share->records+1 == blength) blength+= blength; lastpos=hp_find_hash(&keyinfo->block,share->records); last_ptr=0; Loading Loading
heap/hp_clear.c +1 −1 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ void _hp_clear(HP_SHARE *info) block->levels=0; block->last_allocated=0; } info->records=info->deleted=info->data_length=info->index_length=0;; info->records=info->deleted=info->data_length=info->index_length=0; info->blength=1; info->changed=0; info->del_link=0; Loading
heap/hp_close.c +3 −2 Original line number Diff line number Diff line Loading @@ -19,7 +19,7 @@ #include "heapdef.h" /* Close a database open by hp_open() */ /* Data is not deallocated */ /* Data is normally not deallocated */ int heap_close(HP_INFO *info) { Loading @@ -43,8 +43,9 @@ int _hp_close(register HP_INFO *info) } #endif info->s->changed=0; info->s->open_count--; heap_open_list=list_delete(heap_open_list,&info->open_list); if (!--info->s->open_count && info->s->delete_on_close) _hp_free(info->s); /* Table was deleted */ my_free((gptr) info,MYF(0)); DBUG_RETURN(error); } Loading
heap/hp_create.c +27 −11 Original line number Diff line number Diff line Loading @@ -21,33 +21,49 @@ #include "heapdef.h" int heap_create(const char *name) { reg1 HP_SHARE *share; DBUG_ENTER("heap_create"); (void) heap_delete_all(name); pthread_mutex_lock(&THR_LOCK_heap); if ((share=_hp_find_named_heap(name))) { if (share->open_count == 0) _hp_free(share); } else { my_errno=ENOENT; } pthread_mutex_unlock(&THR_LOCK_heap); DBUG_RETURN(0); } int heap_delete_all(const char *name) int heap_delete_table(const char *name) { reg1 HP_SHARE *info; int found; DBUG_ENTER("heap_delete_all"); int result; reg1 HP_SHARE *share; DBUG_ENTER("heap_delete_table"); pthread_mutex_lock(&THR_LOCK_heap); if ((info=_hp_find_named_heap(name))) if ((share=_hp_find_named_heap(name))) { if (info->open_count == 0) _hp_free(info); found=0; if (share->open_count == 0) _hp_free(share); else share->delete_on_close=1; result=0; } else { found=my_errno=ENOENT; result=my_errno=ENOENT; } pthread_mutex_unlock(&THR_LOCK_heap); DBUG_RETURN(found); DBUG_RETURN(result); } void _hp_free(HP_SHARE *share) { heap_share_list=list_delete(heap_share_list,&share->open_list); Loading
heap/hp_delete.c +4 −2 Original line number Diff line number Diff line Loading @@ -50,7 +50,8 @@ int heap_delete(HP_INFO *info, const byte *record) info->current_hash_ptr=0; DBUG_RETURN(0); err: if( ++(share->records) == share->blength) share->blength+= share->blength; if (++(share->records) == share->blength) share->blength+= share->blength; DBUG_RETURN(my_errno); } Loading @@ -66,7 +67,8 @@ int _hp_delete_key(HP_INFO *info, register HP_KEYDEF *keyinfo, DBUG_ENTER("_hp_delete_key"); blength=share->blength; if (share->records+1 == blength) blength+= blength; if (share->records+1 == blength) blength+= blength; lastpos=hp_find_hash(&keyinfo->block,share->records); last_ptr=0; Loading