Commit 952df32e authored by unknown's avatar unknown

Fix pushbuild test failures which occur on big-endian systems.

  Do not convert innodb autoincrement value to little endian when on
  big endian systems.


storage/innobase/row/row0sel.c:
  Do not convert innodb autoincrement value to little endian when on
  big endian systems.
parent ddad265c
......@@ -4555,6 +4555,15 @@ row_search_autoinc_read_column(
ut_a(len != UNIV_SQL_NULL);
ut_a(len <= sizeof value);
#ifdef WORDS_BIGENDIAN
/* Copy integer data and restore sign bit */
memcpy((ptr = dest), data, len);
if (!unsigned_type) {
dest[0] ^= 128;
}
#else
/* Convert integer data from Innobase to a little-endian format,
sign bit restored to normal */
......@@ -4566,6 +4575,7 @@ row_search_autoinc_read_column(
if (!unsigned_type) {
dest[len - 1] ^= 128;
}
#endif
/* The assumption here is that the AUTOINC value can't be negative.*/
switch (len) {
......
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