Commit 75463050 authored by unknown's avatar unknown

Ensure "bottom-up" order of "inline functions" within 'innobase/include/rem0rec.ic'.

This is a partial solution for bug#7464.


innobase/include/rem0rec.ic:
  On several platforms, "inline functions" must be coded before being used, in "bottom-up" order.
  Ensure this for 'rec_get_status' and 'rec_offs_n_fields'.
parent 6499169d
...@@ -373,6 +373,26 @@ rec_set_n_fields_old( ...@@ -373,6 +373,26 @@ rec_set_n_fields_old(
REC_OLD_N_FIELDS_MASK, REC_OLD_N_FIELDS_SHIFT); REC_OLD_N_FIELDS_MASK, REC_OLD_N_FIELDS_SHIFT);
} }
/**********************************************************
The following function retrieves the status bits of a new-style record. */
UNIV_INLINE
ulint
rec_get_status(
/*===========*/
/* out: status bits */
rec_t* rec) /* in: physical record */
{
ulint ret;
ut_ad(rec);
ret = rec_get_bit_field_1(rec, REC_NEW_STATUS,
REC_NEW_STATUS_MASK, REC_NEW_STATUS_SHIFT);
ut_ad((ret & ~REC_NEW_STATUS_MASK) == 0);
return(ret);
}
/********************************************************** /**********************************************************
The following function is used to get the number of fields The following function is used to get the number of fields
in a record. */ in a record. */
...@@ -484,26 +504,6 @@ rec_set_info_bits( ...@@ -484,26 +504,6 @@ rec_set_info_bits(
REC_INFO_BITS_MASK, REC_INFO_BITS_SHIFT); REC_INFO_BITS_MASK, REC_INFO_BITS_SHIFT);
} }
/**********************************************************
The following function retrieves the status bits of a new-style record. */
UNIV_INLINE
ulint
rec_get_status(
/*===========*/
/* out: status bits */
rec_t* rec) /* in: physical record */
{
ulint ret;
ut_ad(rec);
ret = rec_get_bit_field_1(rec, REC_NEW_STATUS,
REC_NEW_STATUS_MASK, REC_NEW_STATUS_SHIFT);
ut_ad((ret & ~REC_NEW_STATUS_MASK) == 0);
return(ret);
}
/********************************************************** /**********************************************************
The following function is used to set the status bits of a new-style record. */ The following function is used to set the status bits of a new-style record. */
UNIV_INLINE UNIV_INLINE
...@@ -756,6 +756,25 @@ rec_offs_set_n_alloc( ...@@ -756,6 +756,25 @@ rec_offs_set_n_alloc(
offsets[0] = n_alloc; offsets[0] = n_alloc;
} }
/**************************************************************
The following function returns the number of fields in a record. */
UNIV_INLINE
ulint
rec_offs_n_fields(
/*===============*/
/* out: number of fields */
const ulint* offsets)/* in: array returned by rec_get_offsets() */
{
ulint n_fields;
ut_ad(offsets);
n_fields = offsets[1];
ut_ad(n_fields > 0);
ut_ad(n_fields <= REC_MAX_N_FIELDS);
ut_ad(n_fields + REC_OFFS_HEADER_SIZE
<= rec_offs_get_n_alloc(offsets));
return(n_fields);
}
/**************************************************************** /****************************************************************
Validates offsets returned by rec_get_offsets(). */ Validates offsets returned by rec_get_offsets(). */
UNIV_INLINE UNIV_INLINE
...@@ -1202,25 +1221,6 @@ rec_get_data_size_old( ...@@ -1202,25 +1221,6 @@ rec_get_data_size_old(
return(rec_get_field_start_offs(rec, rec_get_n_fields_old(rec))); return(rec_get_field_start_offs(rec, rec_get_n_fields_old(rec)));
} }
/**************************************************************
The following function returns the number of fields in a record. */
UNIV_INLINE
ulint
rec_offs_n_fields(
/*===============*/
/* out: number of fields */
const ulint* offsets)/* in: array returned by rec_get_offsets() */
{
ulint n_fields;
ut_ad(offsets);
n_fields = offsets[1];
ut_ad(n_fields > 0);
ut_ad(n_fields <= REC_MAX_N_FIELDS);
ut_ad(n_fields + REC_OFFS_HEADER_SIZE
<= rec_offs_get_n_alloc(offsets));
return(n_fields);
}
/************************************************************** /**************************************************************
The following function sets the number of fields in offsets. */ The following function sets the number of fields in offsets. */
UNIV_INLINE UNIV_INLINE
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment