usr0sess.h
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:1k
源码类别:

MySQL数据库

开发平台:

Visual C++

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