23 #include <drizzled/xid.h>
24 #include <drizzled/charset.h>
28 void XID::set(uint64_t xid)
31 set(DRIZZLE_XID_PREFIX_LEN, 0, DRIZZLE_XID_PREFIX);
32 memcpy(data + DRIZZLE_XID_PREFIX_LEN, &server_id,
sizeof(server_id));
34 memcpy(data + DRIZZLE_XID_OFFSET, &tmp,
sizeof(tmp));
35 gtrid_length= DRIZZLE_XID_GTRID_LEN;
38 void XID::set(
long g,
long b,
const char *d)
46 bool XID::is_null()
const
48 return formatID == -1;
56 my_xid XID::quick_get_my_xid()
59 memcpy(&tmp, data + DRIZZLE_XID_OFFSET,
sizeof(tmp));
65 return gtrid_length == DRIZZLE_XID_GTRID_LEN && bqual_length == 0 &&
66 !memcmp(data+DRIZZLE_XID_PREFIX_LEN, &server_id,
sizeof(server_id)) &&
67 !memcmp(data, DRIZZLE_XID_PREFIX, DRIZZLE_XID_PREFIX_LEN) ?
68 quick_get_my_xid() : 0;
71 uint32_t XID::length()
const
73 return sizeof(formatID)+
sizeof(gtrid_length)+
sizeof(bqual_length)+
74 gtrid_length+bqual_length;
TODO: Rename this file - func.h is stupid.