diff options
author | unknown <marko@hundin.mysql.fi> | 2005-02-01 23:57:05 +0200 |
---|---|---|
committer | unknown <marko@hundin.mysql.fi> | 2005-02-01 23:57:05 +0200 |
commit | 9d8af792cca84d3705f5b44e813df576cecca603 (patch) | |
tree | 25ba8e3075fcb0713144dae20b92a65cd07c1b84 /innobase/include | |
parent | 69c2eb98ee1e7f1fc9d9959f30ef46fb8aa25e24 (diff) | |
parent | 7d2dcab3a2b67c0dc32846e5ca4e59a9c3cb553b (diff) | |
download | mariadb-git-9d8af792cca84d3705f5b44e813df576cecca603.tar.gz |
Merge marko@bk-internal.mysql.com:/home/bk/mysql-5.0
into hundin.mysql.fi:/home/marko/mysql-5.0
Diffstat (limited to 'innobase/include')
-rw-r--r-- | innobase/include/rem0rec.ic | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/innobase/include/rem0rec.ic b/innobase/include/rem0rec.ic index 366f1c3f77d..2593fb8edeb 100644 --- a/innobase/include/rem0rec.ic +++ b/innobase/include/rem0rec.ic @@ -279,7 +279,15 @@ rec_get_next_offs( /* Note that for 64 KiB pages, field_value can 'wrap around' and the debug assertion is not valid */ - ut_ad((int16_t)field_value + /* In the following assertion, field_value is interpreted + as signed 16-bit integer in 2's complement arithmetics. + If all platforms defined int16_t in the standard headers, + the expression could be written simpler as + (int16_t) field_value + ut_align_offset(...) < UNIV_PAGE_SIZE + */ + ut_ad((field_value >= 32768 + ? field_value - 65536 + : field_value) + ut_align_offset(rec, UNIV_PAGE_SIZE) < UNIV_PAGE_SIZE); #endif |