MySQL 8.3.0
Source Code Documentation
rt_index.h
Go to the documentation of this file.
1/* Copyright (c) 2002, 2023, 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 also distributed 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 included with MySQL.
13
14 This program is distributed in the hope that it will be useful,
15 but WITHOUT ANY WARRANTY; without even the implied warranty of
16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 GNU General Public License, version 2.0, for more details.
18
19 You should have received a copy of the GNU General Public License
20 along with this program; if not, write to the Free Software
21 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22
23/**
24 @file storage/myisam/rt_index.h
25*/
26
27#ifndef _rt_index_h
28#define _rt_index_h
29
30#include <sys/types.h>
31
32#include "my_inttypes.h"
33#include "myisam.h"
34
35#define rt_PAGE_FIRST_KEY(page, nod_flag) (page + 2 + nod_flag)
36#define rt_PAGE_NEXT_KEY(key, key_length, nod_flag) \
37 (key + key_length + (nod_flag ? nod_flag : info->s->base.rec_reflength))
38#define rt_PAGE_END(page) (page + mi_getint(page))
39
40#define rt_PAGE_MIN_SIZE(block_length) ((uint)(block_length) / 3)
41
42int rtree_insert(MI_INFO *info, uint keynr, uchar *key, uint key_length);
43int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length);
44
45int rtree_find_first(MI_INFO *info, uint keynr, uchar *key, uint key_length,
46 uint search_flag);
47int rtree_find_next(MI_INFO *info, uint keynr, uint search_flag);
48
49int rtree_get_first(MI_INFO *info, uint keynr, uint key_length);
50int rtree_get_next(MI_INFO *info, uint keynr, uint key_length);
51
52ha_rows rtree_estimate(MI_INFO *info, uint keynr, uchar *key, uint key_length,
53 uint flag);
54
56 uint key_length, my_off_t *new_page_offs);
57
58#endif /* _rt_index_h */
int page
Definition: ctype-mb.cc:1233
static int flag
Definition: hp_test1.cc:39
my_off_t ha_rows
Definition: my_base.h:1140
Some integer typedefs for easier portability.
ulonglong my_off_t
Definition: my_inttypes.h:71
unsigned char uchar
Definition: my_inttypes.h:51
This file should be included when using myisam functions.
required string key
Definition: replication_asynchronous_connection_failover.proto:59
int rtree_find_next(MI_INFO *info, uint keynr, uint search_flag)
Definition: rt_index.cc:206
int rtree_split_page(MI_INFO *info, MI_KEYDEF *keyinfo, uchar *page, uchar *key, uint key_length, my_off_t *new_page_offs)
Definition: rt_split.cc:228
int rtree_find_first(MI_INFO *info, uint keynr, uchar *key, uint key_length, uint search_flag)
Definition: rt_index.cc:156
int rtree_delete(MI_INFO *info, uint keynr, uchar *key, uint key_length)
Definition: rt_index.cc:809
int rtree_get_next(MI_INFO *info, uint keynr, uint key_length)
Definition: rt_index.cc:369
int rtree_insert(MI_INFO *info, uint keynr, uchar *key, uint key_length)
Definition: rt_index.cc:634
int rtree_get_first(MI_INFO *info, uint keynr, uint key_length)
Definition: rt_index.cc:345
ha_rows rtree_estimate(MI_INFO *info, uint keynr, uchar *key, uint key_length, uint flag)
Definition: rt_index.cc:920
Definition: myisamdef.h:252
Definition: myisam.h:172