Below is the list of changes that have just been committed into a local
5.1 repository of knielsen. When knielsen 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, 2008-03-11 09:38:25+01:00, knielsen@ymer.(none) +1 -0
BUG#34208: Corrupt unique hash index creation due to Intel compiler bug
on ia64.
Looks like the Intel compiler on ia64 miscompiles post-increments in
complex array expressions. This caused unique hash index creation to
build a completely wrong index due to using values from the wrong
column.
Worked-around by moving the increment to a separate statement.
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp@stripped, 2008-03-11 09:38:21+01:00,
knielsen@ymer.(none) +6 -1
BUG#34208: Corrupt unique hash index creation due to Intel compiler bug
on ia64.
Looks like the Intel compiler on ia64 miscompiles post-increments in
complex array expressions. This caused unique hash index creation to
build a completely wrong index due to using values from the wrong
column.
Worked-around by moving the increment to a separate statement.
diff -Nrup a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
--- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2008-01-04 11:34:21 +01:00
+++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2008-03-11 09:38:21 +01:00
@@ -13747,7 +13747,12 @@ Dbdict::getIndexAttrList(TableRecordPtr
AttributeRecordPtr tempPtr = attrPtr;
if (! alist.next(tempPtr))
break;
- getIndexAttr(indexPtr, attrPtr.i, &list.id[list.sz++]);
+ /**
+ * Post-increment moved out of original expression &list.id[list.sz++]
+ * due to Intel compiler bug on ia64 (BUG#34208).
+ */
+ getIndexAttr(indexPtr, attrPtr.i, &list.id[list.sz]);
+ list.sz++;
}
ndbrequire(indexPtr.p->noOfAttributes == list.sz + 1);
}
| Thread |
|---|
| • bk commit into 5.1 tree (knielsen:1.2533) BUG#34208 | knielsen | 11 Mar |