Commit 22c5d8ba authored by tomas@whalegate.ndb.mysql.com's avatar tomas@whalegate.ndb.mysql.com

Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb

into  whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
parents 6ec8bb23 405fb2cf
...@@ -726,11 +726,8 @@ int ha_ndbcluster::set_ndb_value(NdbOperation *ndb_op, Field *field, ...@@ -726,11 +726,8 @@ int ha_ndbcluster::set_ndb_value(NdbOperation *ndb_op, Field *field,
DBUG_PRINT("info", ("bit field")); DBUG_PRINT("info", ("bit field"));
DBUG_DUMP("value", (char*)&bits, pack_len); DBUG_DUMP("value", (char*)&bits, pack_len);
#ifdef WORDS_BIGENDIAN #ifdef WORDS_BIGENDIAN
if (pack_len < 5) /* store lsw first */
{ bits = (bits >> 32) | (bits << 32);
DBUG_RETURN(ndb_op->setValue(fieldnr,
((char*)&bits)+4, pack_len) != 0);
}
#endif #endif
DBUG_RETURN(ndb_op->setValue(fieldnr, (char*)&bits, pack_len) != 0); DBUG_RETURN(ndb_op->setValue(fieldnr, (char*)&bits, pack_len) != 0);
} }
...@@ -2653,8 +2650,15 @@ void ha_ndbcluster::unpack_record(byte* buf) ...@@ -2653,8 +2650,15 @@ void ha_ndbcluster::unpack_record(byte* buf)
DBUG_PRINT("info", ("bit field H'%.8X%.8X", DBUG_PRINT("info", ("bit field H'%.8X%.8X",
*(Uint32 *)(*value).rec->aRef(), *(Uint32 *)(*value).rec->aRef(),
*((Uint32 *)(*value).rec->aRef()+1))); *((Uint32 *)(*value).rec->aRef()+1)));
#ifdef WORDS_BIGENDIAN
/* lsw is stored first */
Uint32 *buf= (Uint32 *)(*value).rec->aRef();
((Field_bit *) *field)->store(*buf | (((longlong)*(buf+1)) << 32),
TRUE);
#else
((Field_bit *) *field)->store((longlong) ((Field_bit *) *field)->store((longlong)
(*value).rec->u_64_value(), TRUE); (*value).rec->u_64_value(), TRUE);
#endif
} }
} }
} }
......
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