1
1
/*****************************************************************************
3
Copyright (c) 1994, 2009, Innobase Oy. All Rights Reserved.
3
Copyright (c) 1994, 2011, Oracle and/or its affiliates. All Rights Reserved.
5
5
This program is free software; you can redistribute it and/or modify it under
6
6
the terms of the GNU General Public License as published by the Free Software
1087
1088
return(UNIV_UNLIKELY(*rec_offs_base(offsets) & REC_OFFS_EXTERNAL));
1091
#if defined UNIV_DEBUG || defined UNIV_BLOB_LIGHT_DEBUG
1092
/******************************************************//**
1093
Determine if the offsets are for a record containing null BLOB pointers.
1094
@return first field containing a null BLOB pointer, or NULL if none found */
1097
rec_offs_any_null_extern(
1098
/*=====================*/
1099
const rec_t* rec, /*!< in: record */
1100
const ulint* offsets) /*!< in: rec_get_offsets(rec) */
1103
ut_ad(rec_offs_validate(rec, NULL, offsets));
1105
if (!rec_offs_any_extern(offsets)) {
1109
for (i = 0; i < rec_offs_n_fields(offsets); i++) {
1110
if (rec_offs_nth_extern(offsets, i)) {
1113
= rec_get_nth_field(rec, offsets, i, &len);
1115
ut_a(len >= BTR_EXTERN_FIELD_REF_SIZE);
1116
if (!memcmp(field + len
1117
- BTR_EXTERN_FIELD_REF_SIZE,
1119
BTR_EXTERN_FIELD_REF_SIZE)) {
1127
#endif /* UNIV_DEBUG || UNIV_BLOB_LIGHT_DEBUG */
1090
1129
/******************************************************//**
1091
1130
Returns nonzero if the extern bit is set in nth field of rec.
1092
1131
@return nonzero if externally stored */