PageRenderTime 66ms CodeModel.GetById 57ms RepoModel.GetById 0ms app.codeStats 0ms

/mordor/pq/transaction.h

http://github.com/mozy/mordor
C Header | 44 lines | 35 code | 8 blank | 1 comment | 0 complexity | 60f0fe42423b4ea921bf4bd6ccfaf3bb MD5 | raw file
Possible License(s): BSD-3-Clause
  1. #ifndef __MORDOR_PQ_TRANSACTION_H__
  2. #define __MORDOR_PQ_TRANSACTION_H__
  3. // Copyright (c) 2010 - Mozy, Inc.
  4. namespace Mordor {
  5. namespace PQ {
  6. class Connection;
  7. struct Transaction
  8. {
  9. public:
  10. enum IsolationLevel
  11. {
  12. DEFAULT,
  13. SERIALIZABLE,
  14. REPEATABLE_READ = SERIALIZABLE,
  15. READ_COMMITTED,
  16. READ_UNCOMMITTED = READ_COMMITTED
  17. };
  18. enum Mode
  19. {
  20. READ_WRITE,
  21. READ_ONLY
  22. };
  23. public:
  24. Transaction(Connection &connection, IsolationLevel isolationLevel
  25. = DEFAULT);
  26. Transaction(Connection &connection, IsolationLevel isolationLevel,
  27. Mode mode);
  28. ~Transaction();
  29. void commit();
  30. void rollback();
  31. private:
  32. Connection &m_connection;
  33. bool m_active;
  34. };
  35. }}
  36. #endif