libpqxx  5.0
isolation.hxx
1 /*-------------------------------------------------------------------------
2  *
3  * FILE
4  * pqxx/isolation.hxx
5  *
6  * DESCRIPTION
7  * definitions of transaction isolation levels
8  * Policies and traits describing SQL transaction isolation levels
9  * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/isolation instead.
10  *
11  * Copyright (c) 2003-2013, Jeroen T. Vermeulen <jtv@xs4all.nl>
12  *
13  * See COPYING for copyright license. If you did not receive a file called
14  * COPYING with this source code, please notify the distributor of this mistake,
15  * or contact the author.
16  *
17  *-------------------------------------------------------------------------
18  */
19 #ifndef PQXX_H_ISOLATION
20 #define PQXX_H_ISOLATION
21 
22 #include "pqxx/compiler-public.hxx"
23 #include "pqxx/compiler-internal-pre.hxx"
24 
25 #include "pqxx/util"
26 
27 namespace pqxx
28 {
29 
31 
61 {
62  // read_uncommitted,
66 };
67 
69 template<isolation_level LEVEL> struct isolation_traits
70 {
71  static isolation_level level() PQXX_NOEXCEPT { return LEVEL; }
72  static const char *name() PQXX_NOEXCEPT;
73 };
74 
75 
76 template<> inline const char *isolation_traits<read_committed>::name()
77  PQXX_NOEXCEPT { return "READ COMMITTED"; }
78 
79 template<> inline const char *isolation_traits<repeatable_read>::name()
80  PQXX_NOEXCEPT { return "REPEATABLE READ"; }
81 
82 template<> inline const char *isolation_traits<serializable>::name()
83  PQXX_NOEXCEPT { return "SERIALIZABLE"; }
84 
85 }
86 
87 
88 #include "pqxx/compiler-internal-post.hxx"
89 
90 #endif
91 
static isolation_level level() PQXX_NOEXCEPT
Definition: isolation.hxx:71
Traits class to describe an isolation level; primarly for libpqxx&#39;s own use.
Definition: isolation.hxx:69
Definition: isolation.hxx:63
Definition: isolation.hxx:64
Definition: isolation.hxx:65
isolation_level
Transaction isolation levels.
Definition: isolation.hxx:60
static const char * name() PQXX_NOEXCEPT