Below is the list of changes that have just been committed into a local
5.0 repository of marko. When marko does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html
ChangeSet
1.1865 05/04/27 13:35:57 marko@stripped +3 -0
Remove unused function rec_offs_nth_null().
rec_offs_nth_extern(): Return zero/nonzero instead of FALSE/TRUE.
innobase/row/row0upd.c
1.37 05/04/27 13:35:24 marko@stripped +5 -8
Normalize the return value of rec_offs_nth_extern() to FALSE/TRUE.
Avoid a repeated call to upd_ext_vec_contains().
innobase/include/rem0rec.ic
1.24 05/04/27 13:35:24 marko@stripped +5 -18
Remove unused function rec_offs_nth_null().
rec_offs_nth_extern(): Return zero/nonzero instead of FALSE/TRUE.
innobase/include/rem0rec.h
1.15 05/04/27 13:35:23 marko@stripped +3 -12
Remove unused function rec_offs_nth_null().
rec_offs_nth_extern(): Return zero/nonzero instead of FALSE/TRUE.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: marko
# Host: hundin.mysql.fi
# Root: /home/marko/mysql-5.0
--- 1.14/innobase/include/rem0rec.h Wed Apr 27 12:28:34 2005
+++ 1.15/innobase/include/rem0rec.h Wed Apr 27 13:35:23 2005
@@ -303,21 +303,12 @@
/* out: TRUE if compact format */
const ulint* offsets);/* in: array returned by rec_get_offsets() */
/**********************************************************
-Returns TRUE if the nth field of rec is SQL NULL. */
+Returns nonzero if the extern bit is set in nth field of rec. */
UNIV_INLINE
-ibool
-rec_offs_nth_null(
-/*==============*/
- /* out: TRUE if SQL NULL */
- const ulint* offsets,/* in: array returned by rec_get_offsets() */
- ulint n); /* in: nth field */
-/**********************************************************
-Returns TRUE if the extern bit is set in nth field of rec. */
-UNIV_INLINE
-ibool
+ulint
rec_offs_nth_extern(
/*================*/
- /* out: TRUE if externally stored */
+ /* out: nonzero if externally stored */
const ulint* offsets,/* in: array returned by rec_get_offsets() */
ulint n); /* in: nth field */
/**********************************************************
--- 1.23/innobase/include/rem0rec.ic Wed Apr 27 12:28:34 2005
+++ 1.24/innobase/include/rem0rec.ic Wed Apr 27 13:35:24 2005
@@ -939,32 +939,19 @@
}
/**********************************************************
-Returns TRUE if the nth field of rec is SQL NULL. */
+Returns nonzero if the extern bit is set in nth field of rec. */
UNIV_INLINE
-ibool
-rec_offs_nth_null(
-/*==============*/
- /* out: TRUE if SQL NULL */
- const ulint* offsets,/* in: array returned by rec_get_offsets() */
- ulint n) /* in: nth field */
-{
- ut_ad(rec_offs_validate(NULL, NULL, offsets));
- ut_ad(n < rec_offs_n_fields(offsets));
- return((rec_offs_base(offsets)[1 + n] & REC_OFFS_SQL_NULL) != 0);
-}
-/**********************************************************
-Returns TRUE if the extern bit is set in nth field of rec. */
-UNIV_INLINE
-ibool
+ulint
rec_offs_nth_extern(
/*================*/
- /* out: TRUE if externally stored */
+ /* out: nonzero if externally stored */
const ulint* offsets,/* in: array returned by rec_get_offsets() */
ulint n) /* in: nth field */
{
ut_ad(rec_offs_validate(NULL, NULL, offsets));
ut_ad(n < rec_offs_n_fields(offsets));
- return((rec_offs_base(offsets)[1 + n] & REC_OFFS_EXTERNAL) != 0);
+ return(UNIV_UNLIKELY(rec_offs_base(offsets)[1 + n]
+ & REC_OFFS_EXTERNAL));
}
/**********************************************************
--- 1.36/innobase/row/row0upd.c Fri Apr 22 15:06:12 2005
+++ 1.37/innobase/row/row0upd.c Wed Apr 27 13:35:24 2005
@@ -815,9 +815,10 @@
goto skip_compare;
}
- extern_bit = rec_offs_nth_extern(offsets, i);
+ extern_bit = upd_ext_vec_contains(ext_vec, n_ext_vec, i);
- if (extern_bit != upd_ext_vec_contains(ext_vec, n_ext_vec, i)
+ if (UNIV_UNLIKELY(extern_bit ==
+ !rec_offs_nth_extern(offsets, i))
|| !dfield_data_is_binary_equal(dfield, len, data)) {
upd_field = upd_get_nth_field(update, n_diff);
@@ -826,12 +827,8 @@
upd_field_set_field_no(upd_field, i, index, trx);
- if (upd_ext_vec_contains(ext_vec, n_ext_vec, i)) {
- upd_field->extern_storage = TRUE;
- } else {
- upd_field->extern_storage = FALSE;
- }
-
+ upd_field->extern_storage = extern_bit;
+
n_diff++;
}
skip_compare:
| Thread |
|---|
| • bk commit into 5.0 tree (marko:1.1865) | Marko Mäkelä | 27 Apr |