mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / storage / innobase / include / usr0sess.h
blob3ed1ea21a4d3a26fb3df11e88266e323728d5b04
1 /******************************************************
2 Sessions
4 (c) 1996 Innobase Oy
6 Created 6/25/1996 Heikki Tuuri
7 *******************************************************/
9 #ifndef usr0sess_h
10 #define usr0sess_h
12 #include "univ.i"
13 #include "ut0byte.h"
14 #include "trx0types.h"
15 #include "srv0srv.h"
16 #include "trx0types.h"
17 #include "usr0types.h"
18 #include "que0types.h"
19 #include "data0data.h"
20 #include "rem0rec.h"
22 /*************************************************************************
23 Opens a session. */
25 sess_t*
26 sess_open(void);
27 /*============*/
28 /* out, own: session object */
29 /*************************************************************************
30 Closes a session, freeing the memory occupied by it, if it is in a state
31 where it should be closed. */
33 ibool
34 sess_try_close(
35 /*===========*/
36 /* out: TRUE if closed */
37 sess_t* sess); /* in, own: session object */
39 /* The session handle. All fields are protected by the kernel mutex */
40 struct sess_struct{
41 ulint state; /* state of the session */
42 trx_t* trx; /* transaction object permanently
43 assigned for the session: the
44 transaction instance designated by the
45 trx id changes, but the memory
46 structure is preserved */
47 UT_LIST_BASE_NODE_T(que_t)
48 graphs; /* query graphs belonging to this
49 session */
52 /* Session states */
53 #define SESS_ACTIVE 1
54 #define SESS_ERROR 2 /* session contains an error message
55 which has not yet been communicated
56 to the client */
57 #ifndef UNIV_NONINL
58 #include "usr0sess.ic"
59 #endif
61 #endif