summaryrefslogtreecommitdiff
path: root/sql/handler.h
diff options
context:
space:
mode:
authorunknown <jan@hundin.mysql.fi>2004-11-30 12:11:02 +0200
committerunknown <jan@hundin.mysql.fi>2004-11-30 12:11:02 +0200
commit739b630ed7c1a832ff4e8075cd8739c93286e61f (patch)
tree84e8ec4376e25d1f3cb8c8ba19936ac217f93266 /sql/handler.h
parent857bd559ec956c4be44422f3f185d310029fb765 (diff)
parentdf0e057a52db9f085c42ec593f3000da4afdbbd7 (diff)
downloadmariadb-git-739b630ed7c1a832ff4e8075cd8739c93286e61f.tar.gz
Auto merged.
innobase/row/row0ins.c: Auto merged innobase/trx/trx0undo.c: Auto merged sql/ha_innodb.h: Auto merged sql/handler.h: Auto merged
Diffstat (limited to 'sql/handler.h')
-rw-r--r--sql/handler.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/sql/handler.h b/sql/handler.h
index 4c91f5abe0e..c70ea266734 100644
--- a/sql/handler.h
+++ b/sql/handler.h
@@ -194,6 +194,41 @@ typedef struct st_thd_trans {
void *ndb_tid;
} THD_TRANS;
+#ifndef XIDDATASIZE /* no xa.h included */
+
+/* XXX - may be we should disable xa completely in this case ? */
+#define XIDDATASIZE 128
+#define MAXGTRIDSIZE 64
+#define MAXBQUALSIZE 64
+
+struct xid_t {
+ long formatID;
+ long gtrid_length;
+ long bqual_length;
+ char data[XIDDATASIZE];
+};
+
+typedef struct xid_t XID;
+
+
+#endif
+
+typedef struct
+{
+ byte slot;
+ uint savepoint_offset;
+ int (*close_connection)(THD *thd);
+ int (*savepoint_set)(THD *thd, void *sv);
+ int (*savepoint_rollback)(THD *thd, void *sv);
+ int (*savepoint_release)(THD *thd, void *sv);
+ int (*commit)(THD *thd, bool all);
+ int (*rollback)(THD *thd, bool all);
+ int (*prepare)(THD *thd, bool all);
+ int (*recover)(XID *xid_list, uint len);
+ int (*commit_by_xid)(XID *xid);
+ int (*rollback_by_xid)(XID *xid);
+} handlerton;
+
enum enum_tx_isolation { ISO_READ_UNCOMMITTED, ISO_READ_COMMITTED,
ISO_REPEATABLE_READ, ISO_SERIALIZABLE};