MySQL 8.4.0
Source Code Documentation
rt_mbr.h
Go to the documentation of this file.
1/* Copyright (c) 2002, 2024, Oracle and/or its affiliates.
2
3 This program is free software; you can redistribute it and/or modify
4 it under the terms of the GNU General Public License, version 2.0,
5 as published by the Free Software Foundation.
6
7 This program is designed to work with certain software (including
8 but not limited to OpenSSL) that is licensed under separate terms,
9 as designated in a particular file or component or in included license
10 documentation. The authors of MySQL hereby grant you an additional
11 permission to link the program and your derivative works with the
12 separately licensed software that they have either included with
13 the program or referenced in the documentation.
14
15 This program is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 GNU General Public License, version 2.0, for more details.
19
20 You should have received a copy of the GNU General Public License
21 along with this program; if not, write to the Free Software
22 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
23
24/**
25 @file storage/myisam/rt_mbr.h
26*/
27
28#ifndef _rt_mbr_h
29#define _rt_mbr_h
30
31#include <sys/types.h>
32
33#include "my_compare.h"
34#include "my_inttypes.h"
35#include "myisam.h"
36
37int rtree_key_cmp(HA_KEYSEG *keyseg, uchar *a, uchar *b, uint key_length,
38 uint nextflag);
39int rtree_combine_rect(HA_KEYSEG *keyseg, uchar *, uchar *, uchar *,
40 uint key_length);
41double rtree_rect_volume(HA_KEYSEG *keyseg, uchar *, uint key_length);
42int rtree_d_mbr(HA_KEYSEG *keyseg, uchar *a, uint key_length, double *res);
43double rtree_overlapping_area(HA_KEYSEG *keyseg, uchar *a, uchar *b,
44 uint key_length);
45double rtree_area_increase(HA_KEYSEG *keyseg, uchar *a, uchar *b,
46 uint key_length, double *ab_area);
47double rtree_perimeter_increase(HA_KEYSEG *keyseg, uchar *a, uchar *b,
48 uint key_length, double *ab_perim);
49int rtree_page_mbr(MI_INFO *info, HA_KEYSEG *keyseg, uchar *page_buf, uchar *c,
50 uint key_length);
51#endif /* _rt_mbr_h */
Some integer typedefs for easier portability.
unsigned char uchar
Definition: my_inttypes.h:52
This file should be included when using myisam functions.
double rtree_overlapping_area(HA_KEYSEG *keyseg, uchar *a, uchar *b, uint key_length)
Definition: rt_mbr.cc:418
int rtree_d_mbr(HA_KEYSEG *keyseg, uchar *a, uint key_length, double *res)
Definition: rt_mbr.cc:249
int rtree_key_cmp(HA_KEYSEG *keyseg, uchar *a, uchar *b, uint key_length, uint nextflag)
Definition: rt_mbr.cc:91
int rtree_page_mbr(MI_INFO *info, HA_KEYSEG *keyseg, uchar *page_buf, uchar *c, uint key_length)
Definition: rt_mbr.cc:696
double rtree_area_increase(HA_KEYSEG *keyseg, uchar *a, uchar *b, uint key_length, double *ab_area)
Definition: rt_mbr.cc:503
double rtree_rect_volume(HA_KEYSEG *keyseg, uchar *, uint key_length)
Definition: rt_mbr.cc:173
int rtree_combine_rect(HA_KEYSEG *keyseg, uchar *, uchar *, uchar *, uint key_length)
Definition: rt_mbr.cc:334
double rtree_perimeter_increase(HA_KEYSEG *keyseg, uchar *a, uchar *b, uint key_length, double *ab_perim)
Definition: rt_mbr.cc:594
Definition: my_compare.h:60
Definition: myisamdef.h:253