00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef PQXX_NONTRANSACTION_H
00019 #define PQXX_NONTRANSACTION_H
00020
00021 #include "pqxx/connection_base.h"
00022 #include "pqxx/result.h"
00023 #include "pqxx/transaction_base.h"
00024
00025
00026
00027
00028
00029 namespace pqxx
00030 {
00031 class nontransaction;
00032
00034 template<> inline PGSTD::string Classname(const nontransaction *)
00035 {
00036 return "nontransaction";
00037 }
00038
00039
00040
00042
00063 class PQXX_LIBEXPORT nontransaction : public transaction_base
00064 {
00065 public:
00067
00072 explicit nontransaction(connection_base &C,
00073 const PGSTD::string &NName=PGSTD::string()) :
00074 transaction_base(C, NName) { Begin(); }
00075
00076 virtual ~nontransaction();
00077
00078 private:
00079 virtual void DoBegin() {}
00080 virtual result DoExec(const char C[]);
00081 virtual void DoCommit() {}
00082 virtual void DoAbort() {}
00083 };
00084
00086 typedef nontransaction NonTransaction;
00087
00088 }
00089
00090 #endif
00091