53
char data[DRIZZLE_XIDDATASIZE]; // not \0-terminated !
50
char data[XIDDATASIZE]; // not \0-terminated !
56
formatID(-1), /* -1 == null */
60
memset(data, 0, DRIZZLE_XIDDATASIZE);
63
54
bool eq(long g, long b, const char *d);
64
55
void set(XID *xid);
81
72
http://www.opengroup.org/bookstore/catalog/c193.htm
75
struct st_drizzle_xid {
90
79
char data[DRIZZLE_XIDDATASIZE]; /* Not \0-terminated */
97
memset(data, 0, DRIZZLE_XIDDATASIZE);
100
typedef class drizzle_xid DRIZZLE_XID;
102
enum xa_states {XA_NOTR=0, XA_ACTIVE, XA_IDLE, XA_PREPARED};
103
extern const char *xa_state_names[];
105
/* for recover() plugin::StorageEngine call */
81
typedef struct st_drizzle_xid DRIZZLE_XID;
84
/* for recover() handlerton call */
106
85
#define MIN_XID_LIST_SIZE 128
107
86
#define MAX_XID_LIST_SIZE (1024*128)
117
/* For now, this is only used to catch duplicated external xids */
118
XID xid; // transaction identifier
119
enum xa_states xa_state; // used by external XA only
123
bool xid_cache_init(void);
124
void xid_cache_free(void);
125
XID_STATE *xid_cache_search(XID *xid);
126
bool xid_cache_insert(XID *xid, enum xa_states xa_state);
127
bool xid_cache_insert(XID_STATE *xid_state);
128
void xid_cache_delete(XID_STATE *xid_state);
130
} /* namespace drizzled */
132
88
#endif /* DRIZZLED_XID_H */