List:Commits« Previous MessageNext Message »
From:antony Date:August 29 2007 9:26pm
Subject:bk commit into 5.1 tree (antony:1.2592)
View as plain text  
Below is the list of changes that have just been committed into a local
5.1 repository of antony. When antony 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@stripped, 2007-08-29 12:26:06-07:00, antony@stripped +1 -0
  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@stripped, 2007-08-29 12:25:58-07:00,
antony@stripped +11 -0
    Do not convert innodb autoincrement value to little endian when on
    big endian systems.

diff -Nrup a/storage/innobase/row/row0sel.c b/storage/innobase/row/row0sel.c
--- a/storage/innobase/row/row0sel.c	2007-08-24 18:14:48 -07:00
+++ b/storage/innobase/row/row0sel.c	2007-08-29 12:25:58 -07:00
@@ -4555,6 +4555,16 @@ row_search_autoinc_read_column(
 	ut_a(len != UNIV_SQL_NULL);
 	ut_a(len <= sizeof value);
 
+
+#if defined(_BIG_ENDIAN_) || defined(__BIG_ENDIAN__)
+	/* 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 +4576,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) {
Thread
bk commit into 5.1 tree (antony:1.2592)antony29 Aug