Commit 0e42267f authored by unknown's avatar unknown

sql/ha_ndbcluster.cc

    Hex constants that exceed 32 bit need to be marked "LL" for the compile to work.


sql/ha_ndbcluster.cc:
  Hex constants that exceed 32 bit need to be marked "LL" for the compile to work
  (discovered on a Debian PPC box, 32-bit big-endian, running gcc 3.3.6).
parent e4fe1f9f
......@@ -733,8 +733,8 @@ int ha_ndbcluster::set_ndb_value(NdbOperation *ndb_op, Field *field,
DBUG_DUMP("value", (char*)&bits, pack_len);
#ifdef WORDS_BIGENDIAN
/* store lsw first */
bits = ((bits >> 32) & 0x00000000FFFFFFFF)
| ((bits << 32) & 0xFFFFFFFF00000000);
bits = ((bits >> 32) & 0x00000000FFFFFFFFLL)
| ((bits << 32) & 0xFFFFFFFF00000000LL);
#endif
DBUG_RETURN(ndb_op->setValue(fieldnr, (char*)&bits, pack_len) != 0);
}
......@@ -2678,10 +2678,10 @@ void ha_ndbcluster::unpack_record(byte* buf)
/* lsw is stored first */
Uint32 *buf= (Uint32 *)(*value).rec->aRef();
((Field_bit *) *field)->store((((longlong)*buf)
& 0x000000000FFFFFFFF)
& 0x000000000FFFFFFFFLL)
|
((((longlong)*(buf+1)) << 32)
& 0xFFFFFFFF00000000),
& 0xFFFFFFFF00000000LL),
TRUE);
#else
((Field_bit *) *field)->store((longlong)
......
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