mariadb/storage/heap
Venkata Sidagam 2226b1084c Bug #11759445: CAN'T DELETE ROWS FROM MEMORY TABLE WITH HASH KEY.
Brief description: After insert some rows to MEMORY table with HASH key some 
rows can't be deleted in one step.    

Problem Analysis/solution: info->current_ptr will have the information about the
current hash pointer from where we can traverse to the list to get all the       
remaining tuples.
      
In hp_delete_key we are updating info->current_ptr with the last_pos based on       
the flag parameter(which is the keydef and last index are same). As part of the       
fix we are making it to zero only when the code flow reaches to the end of the       
function hp_delete_key() it means that the next record which has to get deleted       
will be at the starting of the list so, that in the next call to       
read record(heap_rnext()) will take line number 100 path instead of 102 path, 
please see the below code in file hp_rnext.c, function heap_rnext().
 99       else if (!info->current_ptr)              /* Deleted or first call */
100         pos= hp_search(info, keyinfo, info->lastkey, 0);
101       else  
102         pos= hp_search(info, keyinfo, info->lastkey, 1);

with that change the hp_search() will update the info->current_ptr with the 
record which needs to be deleted.

storage/heap/hp_delete.c:
  In heap_delete_key() function we are making info->current_ptr to 0 if 
  flag is enabled.
2012-11-07 09:00:17 +05:30
..
.cvsignore
_check.c
_rectest.c
ChangeLog
CMakeLists.txt Updated/added copyright headers 2011-06-30 17:37:13 +02:00
ha_heap.cc BUG#11759349 - 51655: CREATE TABLE IN MEMORY ENGINE DOESN'T STORE 2011-09-27 17:38:51 +05:30
ha_heap.h Updated/added copyright headers 2011-07-03 17:47:37 +02:00
heapdef.h
hp_block.c
hp_clear.c
hp_close.c
hp_create.c Updated/added copyright headers 2012-02-15 17:21:38 +01:00
hp_delete.c Bug #11759445: CAN'T DELETE ROWS FROM MEMORY TABLE WITH HASH KEY. 2012-11-07 09:00:17 +05:30
hp_extra.c
hp_hash.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
hp_info.c Updated/added copyright headers 2012-02-15 17:21:38 +01:00
hp_open.c
hp_panic.c
hp_rename.c
hp_rfirst.c Merge mysql.com:/home/svoj/devel/mysql/BUG30590/mysql-5.0-engines 2007-09-13 17:12:46 +05:00
hp_rkey.c
hp_rlast.c
hp_rnext.c Merge mysql.com:/home/svoj/devel/mysql/BUG30590/mysql-5.0-engines 2007-09-13 17:12:46 +05:00
hp_rprev.c
hp_rrnd.c
hp_rsame.c
hp_scan.c
hp_static.c
hp_test1.c
hp_test2.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
hp_update.c Fix for server bug experienced in Maria (wrong "Truncated incorrect <var_name> 2008-02-18 23:29:39 +01:00
hp_write.c Updated/added copyright headers 2011-06-30 17:37:13 +02:00
make-ccc
Makefile.am
plug.in