diff options
Diffstat (limited to 'storage/innobase/include/gis0rtree.inl')
-rw-r--r-- | storage/innobase/include/gis0rtree.inl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/storage/innobase/include/gis0rtree.inl b/storage/innobase/include/gis0rtree.inl index 1b53caa306b..5101eeb6f7a 100644 --- a/storage/innobase/include/gis0rtree.inl +++ b/storage/innobase/include/gis0rtree.inl @@ -57,6 +57,9 @@ rtr_page_cal_mbr( page = buf_block_get_frame(block); rec = page_rec_get_next(page_get_infimum_rec(page)); + if (UNIV_UNLIKELY(!rec)) { + return; + } offsets = rec_get_offsets(rec, index, offsets, page_is_leaf(page) ? index->n_fields : 0, ULINT_UNDEFINED, &heap); @@ -176,12 +179,12 @@ rtr_get_parent_node( return(NULL); } - mutex_enter(&btr_cur->rtr_info->rtr_path_mutex); + mysql_mutex_lock(&btr_cur->rtr_info->rtr_path_mutex); num = btr_cur->rtr_info->parent_path->size(); if (!num) { - mutex_exit(&btr_cur->rtr_info->rtr_path_mutex); + mysql_mutex_unlock(&btr_cur->rtr_info->rtr_path_mutex); return(NULL); } @@ -204,7 +207,7 @@ rtr_get_parent_node( } } - mutex_exit(&btr_cur->rtr_info->rtr_path_mutex); + mysql_mutex_unlock(&btr_cur->rtr_info->rtr_path_mutex); return(found_node); } |