diff options
author | Sergei Golubchik <sergii@pisem.net> | 2014-02-01 09:33:26 +0100 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2014-02-01 09:33:26 +0100 |
commit | 27d45e46968e4bd623565688a997b83b0a5cc1a8 (patch) | |
tree | 8df9c87f8fd3855d81e3ae46078d34609668e63a /storage/innobase/include/page0page.ic | |
parent | 27fbb637d36324992b270f0dc0472807ffa4ebc2 (diff) | |
download | mariadb-git-27d45e46968e4bd623565688a997b83b0a5cc1a8.tar.gz |
MDEV-5574 Set AUTO_INCREMENT below max value of column.
Update InnoDB to 5.6.14
Apply MySQL-5.6 hack for MySQL Bug#16434374
Move Aria-only HA_RTREE_INDEX from my_base.h to maria_def.h (breaks an assert in InnoDB)
Fix InnoDB memory leak
Diffstat (limited to 'storage/innobase/include/page0page.ic')
-rw-r--r-- | storage/innobase/include/page0page.ic | 34 |
1 files changed, 29 insertions, 5 deletions
diff --git a/storage/innobase/include/page0page.ic b/storage/innobase/include/page0page.ic index c2e20d81a29..1410f21b670 100644 --- a/storage/innobase/include/page0page.ic +++ b/storage/innobase/include/page0page.ic @@ -1,6 +1,6 @@ /***************************************************************************** -Copyright (c) 1994, 2011, Oracle and/or its affiliates. All Rights Reserved. +Copyright (c) 1994, 2013, Oracle and/or its affiliates. All Rights Reserved. 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 @@ -266,9 +266,9 @@ page_rec_get_heap_no( /************************************************************//** Determine whether the page is a B-tree leaf. -@return TRUE if the page is a B-tree leaf */ +@return true if the page is a B-tree leaf (PAGE_LEVEL = 0) */ UNIV_INLINE -ibool +bool page_is_leaf( /*=========*/ const page_t* page) /*!< in: page */ @@ -277,6 +277,30 @@ page_is_leaf( } /************************************************************//** +Determine whether the page is empty. +@return true if the page is empty (PAGE_N_RECS = 0) */ +UNIV_INLINE +bool +page_is_empty( +/*==========*/ + const page_t* page) /*!< in: page */ +{ + return(!*(const uint16*) (page + (PAGE_HEADER + PAGE_N_RECS))); +} + +/************************************************************//** +Determine whether the page contains garbage. +@return true if the page contains garbage (PAGE_GARBAGE is not 0) */ +UNIV_INLINE +bool +page_has_garbage( +/*=============*/ + const page_t* page) /*!< in: page */ +{ + return(!!*(const uint16*) (page + (PAGE_HEADER + PAGE_GARBAGE))); +} + +/************************************************************//** Gets the offset of the first record on the page. @return offset of the first record in record list, relative from page */ UNIV_INLINE @@ -805,9 +829,9 @@ UNIV_INLINE void page_rec_set_next( /*==============*/ - rec_t* rec, /*!< in: pointer to record, + rec_t* rec, /*!< in: pointer to record, must not be page supremum */ - rec_t* next) /*!< in: pointer to next record, + const rec_t* next) /*!< in: pointer to next record, must not be page infimum */ { ulint offs; |