diff options
author | unknown <hf@deer.(none)> | 2004-05-25 15:06:32 +0500 |
---|---|---|
committer | unknown <hf@deer.(none)> | 2004-05-25 15:06:32 +0500 |
commit | c690204c701f35bda2d19f14b0e8423c80cff1bb (patch) | |
tree | 1bd30ca9cbdba7bdacc7453d22bf1f95af138fd0 /myisam/rt_mbr.h | |
parent | de861db3e73b72a01eceed23095c4793f893d6c4 (diff) | |
download | mariadb-git-c690204c701f35bda2d19f14b0e8423c80cff1bb.tar.gz |
WL#1562 (Improving spatial code)
A set of changes improving our RTree indexes and fixed few bugs
found during the tests
myisam/rt_index.c:
Algorythm for picking the branch to insert was fixed.
pick_by_perimeter version of the algorythm added (mostly for testing
purposes)
myisam/rt_index.h:
minimal size of the page set to 1/3
It noticeable increases searching performance
myisam/rt_key.c:
counting of the size of the filled part of the page fixed
rtree_choose_key moved to rt_index.c
myisam/rt_key.h:
no need to make rtree_choose_key global
myisam/rt_mbr.c:
operations for counting the perimeter of MBR added
myisam/rt_mbr.h:
interface for rtree_perimeter_increase
myisam/rt_split.c:
my_multi_malloc changed with my_alloca
sql/spatial.cc:
LINESTRING object can consist of single point
Diffstat (limited to 'myisam/rt_mbr.h')
-rw-r--r-- | myisam/rt_mbr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/myisam/rt_mbr.h b/myisam/rt_mbr.h index a68807370f9..ee71a8b9a93 100644 --- a/myisam/rt_mbr.h +++ b/myisam/rt_mbr.h @@ -28,6 +28,8 @@ double rtree_overlapping_area(HA_KEYSEG *keyseg, uchar *a, uchar *b, uint key_length); double rtree_area_increase(HA_KEYSEG *keyseg, uchar *a, uchar *b, uint key_length, double *ab_area); +double rtree_perimeter_increase(HA_KEYSEG *keyseg, uchar* a, uchar* b, + uint key_length, double *ab_perim); int rtree_page_mbr(MI_INFO *info, HA_KEYSEG *keyseg, uchar *page_buf, uchar* c, uint key_length); #endif /* _rt_mbr_h */ |