Commit graph

12 commits

Author SHA1 Message Date
istruewing@chilla.local
760714758e Merge chilla.local:/home/mydev/mysql-4.1-bug25673
into  chilla.local:/home/mydev/mysql-5.0-bug25673
2007-03-08 10:10:17 +01:00
istruewing@chilla.local
2d6ad76abd Bug#25673 - spatial index corruption, error 126
incorrect key file for table

In certain cases it could happen that deleting a row could
corrupt an RTREE index.

According to Guttman's algorithm, page underflow is handled
by storing the page in a list for later re-insertion. The
keys from the stored pages have to be inserted into the
remaining pages of the same level of the tree. Hence the
level number is stored in the re-insertion list together
with the page.

In the MySQL RTree implementation the level counts from zero
at the root page, increasing numbers for levels down the tree.

If during re-insertion of the keys the tree height grows, all
level numbers become invalid. The remaining keys will be
inserted at the wrong level.

The fix is to increment the level numbers stored in the
reinsert list after a split of the root block during reinsertion.
2007-03-08 09:54:37 +01:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
hf@deer.(none)
b8cf9f6afe Merging 2004-06-02 19:17:35 +05:00
hf@deer.(none)
f200b0fbf0 WL#1562 (Improving spatial code)
A set of changes improving our RTree indexes and fixed few bugs
found during the tests
2004-05-25 15:06:32 +05:00
hf@deer.(none)
ec457a96ef WL#1163 To make spatial code optional
myisam spatial code isolated
2004-03-12 18:51:03 +04:00
igor@rurik.mysql.com
2813cd1f0b 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
2003-08-09 11:12:22 -07:00
ram@mysql.r18.ru
0177b8bba9 Code cleanup 2003-02-19 21:28:19 +04:00
ram@mysql.r18.ru
907a81afb2 bug fixes 2003-02-18 11:49:05 +04:00
ram@mysql.r18.ru
6adf0c115b bug fixes 2003-02-17 19:29:09 +04:00
monty@mashka.mysql.fi
d69250a969 Fixes and code cleanups after merge with 4.0.3
Warning handling and initial prepared statement handling (last not complete yet)
Changed a lot of functions that returned 0/1 to my_bool type.
GRANT handling now uses read/write locks instead of mutex
Change basic net functions to use THD instead of NET
(needed for 4.1 protocol)
Use my_sprintf instead of sprintf() + strlen()
Added alloc_query() to be able to chare query initialization code with
prepared statements.
Cleanup handling of SHOW COUNT(*) WARNINGS and SELECT LAST_INSERT_ID()

Note that the following test fails (will be fixed ASAP):
sub_select, union, rpl_rotate_logs and rpl_mystery22
2002-10-02 13:33:08 +03:00
bar@gw.udmsearch.izhnet.ru
fc74d81b3f This ChangeSet adds RTREE support into myisam library.
RTREEs will be used for GIS extension in MySQL
2002-02-20 14:11:21 +04:00