1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-10 23:02:54 +03:00
Files
mariadb/mysql-test/t/heap_btree.test
unknown 4441e34e38 BUG#18160 - Memory-/HEAP Table endless growing indexes
Updating data in HEAP table with BTREE index results in wrong index_length
counter value, which keeps growing after each update.

When inserting new record into tree counter is incremented by:
sizeof(TREE_ELEMENT) + key_size + tree->size_of_element
But when deleting element from tree it doesn't decrement counter by key_size:
sizeof(TREE_ELEMENT) + tree->size_of_element

This fix makes accurate allocated memory counter for tree. That is
decrease counter by key_size when deleting tree element.


heap/hp_delete.c:
  Added size of the key to tree_delete() for accurate allocated memory counter.
include/my_tree.h:
  Added size of the key to tree_delete() for accurate allocated memory counter.
myisam/myisamlog.c:
  Added size of the key to tree_delete() for accurate allocated memory counter.
mysql-test/r/heap_btree.result:
  Testcase for BUG#18160.
mysql-test/t/heap_btree.test:
  Testcase for BUG#18160.
mysys/tree.c:
  Added size of the key to tree_delete() for accurate allocated memory counter.
  Note that this size is optional. If one doesn't need precise counter it is safe
  to pass 0 as key_size.
2006-04-19 15:13:50 +05:00

5.9 KiB