summaryrefslogtreecommitdiff
path: root/storage/innobase/include/gis0rtree.h
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2022-06-06 16:22:09 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2022-06-06 16:22:09 +0300
commit57d4a242dac0238dd63ac05cd9d65a38d75a5d5f (patch)
tree323a71a864c38fe00502bd95926b4d05ab6854d6 /storage/innobase/include/gis0rtree.h
parente097abfa662751cc337febad9d8584159f23cc92 (diff)
parent7e39470e337aeeab4ee3e73336c2fff88609529f (diff)
downloadmariadb-git-57d4a242dac0238dd63ac05cd9d65a38d75a5d5f.tar.gz
Merge 10.7 into 10.8
Diffstat (limited to 'storage/innobase/include/gis0rtree.h')
-rw-r--r--storage/innobase/include/gis0rtree.h33
1 files changed, 15 insertions, 18 deletions
diff --git a/storage/innobase/include/gis0rtree.h b/storage/innobase/include/gis0rtree.h
index 024df3e4094..4e10b90173e 100644
--- a/storage/innobase/include/gis0rtree.h
+++ b/storage/innobase/include/gis0rtree.h
@@ -1,7 +1,7 @@
/*****************************************************************************
Copyright (c) 2014, 2016, Oracle and/or its affiliates. All Rights Reserved.
-Copyright (c) 2017, 2020, MariaDB Corporation.
+Copyright (c) 2017, 2022, MariaDB Corporation.
This program is free software; you can redistribute it and/or modify it under
the terms of the GNU General Public License as published by the Free Software
@@ -93,7 +93,8 @@ rtr_page_split_and_insert(
mem_heap_t** heap, /*!< in/out: pointer to memory heap, or NULL */
const dtuple_t* tuple, /*!< in: tuple to insert */
ulint n_ext, /*!< in: number of externally stored columns */
- mtr_t* mtr); /*!< in: mtr */
+ mtr_t* mtr, /*!< in: mtr */
+ dberr_t* err); /*!< out: error code */
/**************************************************************//**
Sets the child node mbr in a node pointer. */
@@ -123,7 +124,8 @@ rtr_pcur_move_to_next(
function may release the page latch */
ulint cur_level,
/*!< in: current level */
- mtr_t* mtr); /*!< in: mtr */
+ mtr_t* mtr) /*!< in: mtr */
+ MY_ATTRIBUTE((warn_unused_result));
/****************************************************************//**
Searches the right position in rtree for a page cursor. */
@@ -257,18 +259,20 @@ rtr_get_mbr_from_tuple(
@param[in] offsets work area for the return value
@param[in] index rtree index
@param[in] block child page in the index
-@param[in] mtr mtr
+@param[in,out] mtr mtr
@param[in] sea_cur search cursor, contains information
about parent nodes in search
-@param[in] cursor cursor on node pointer record,
- its page x-latched */
-void
+@param[out] cursor cursor on node pointer record,
+ its page x-latched
+@return whether the cursor was successfully positioned */
+bool
rtr_page_get_father(
dict_index_t* index,
buf_block_t* block,
mtr_t* mtr,
btr_cur_t* sea_cur,
- btr_cur_t* cursor);
+ btr_cur_t* cursor)
+ MY_ATTRIBUTE((nonnull(1,2,3,5), warn_unused_result));
/************************************************************//**
Returns the father block to a page. It is assumed that mtr holds
@@ -302,21 +306,14 @@ rtr_store_parent_path(
/**************************************************************//**
Initializes and opens a persistent cursor to an index tree. It should be
closed with btr_pcur_close. */
-void
+bool
rtr_pcur_open(
dict_index_t* index, /*!< in: index */
const dtuple_t* tuple, /*!< in: tuple on which search done */
- page_cur_mode_t mode, /*!< in: PAGE_CUR_L, ...;
- NOTE that if the search is made using a unique
- prefix of a record, mode should be
- PAGE_CUR_LE, not PAGE_CUR_GE, as the latter
- may end up on the previous page from the
- record! */
ulint latch_mode,/*!< in: BTR_SEARCH_LEAF, ... */
btr_pcur_t* cursor, /*!< in: memory buffer for persistent cursor */
- mtr_t* mtr); /*!< in: mtr */
-
-struct btr_cur_t;
+ mtr_t* mtr) /*!< in: mtr */
+ MY_ATTRIBUTE((warn_unused_result));
/*********************************************************//**
Returns the R-Tree node stored in the parent search path