1
by brian
clean slate |
1 |
/******************************************************
|
2 |
Sessions
|
|
3 |
||
4 |
(c) 1996 Innobase Oy
|
|
5 |
||
6 |
Created 6/25/1996 Heikki Tuuri
|
|
7 |
*******************************************************/
|
|
8 |
||
9 |
#ifndef usr0sess_h
|
|
10 |
#define usr0sess_h
|
|
11 |
||
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" |
|
21 |
||
22 |
/*************************************************************************
|
|
23 |
Opens a session. */
|
|
24 |
||
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. */
|
|
32 |
||
33 |
ibool
|
|
34 |
sess_try_close( |
|
35 |
/*===========*/
|
|
36 |
/* out: TRUE if closed */
|
|
37 |
sess_t* sess); /* in, own: session object */ |
|
38 |
||
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 */
|
|
50 |
};
|
|
51 |
||
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
|
|
60 |
||
61 |
#endif
|