libpqxx 4.0
|
00001 /*------------------------------------------------------------------------- 00002 * 00003 * FILE 00004 * pqxx/nontransaction.hxx 00005 * 00006 * DESCRIPTION 00007 * definition of the pqxx::nontransaction class. 00008 * pqxx::nontransaction provides nontransactional database access 00009 * DO NOT INCLUDE THIS FILE DIRECTLY; include pqxx/nontransaction instead. 00010 * 00011 * Copyright (c) 2002-2008, Jeroen T. Vermeulen <jtv@xs4all.nl> 00012 * 00013 * See COPYING for copyright license. If you did not receive a file called 00014 * COPYING with this source code, please notify the distributor of this mistake, 00015 * or contact the author. 00016 * 00017 *------------------------------------------------------------------------- 00018 */ 00019 #ifndef PQXX_H_NONTRANSACTION 00020 #define PQXX_H_NONTRANSACTION 00021 00022 #include "pqxx/compiler-public.hxx" 00023 #include "pqxx/compiler-internal-pre.hxx" 00024 00025 #include "pqxx/connection_base" 00026 #include "pqxx/result" 00027 #include "pqxx/transaction_base" 00028 00029 /* Methods tested in eg. self-test program test001 are marked with "//[t1]" 00030 */ 00031 00032 00033 namespace pqxx 00034 { 00035 00037 00062 class PQXX_LIBEXPORT nontransaction : public transaction_base 00063 { 00064 public: 00066 00071 explicit nontransaction(connection_base &C, 00072 const PGSTD::string &Name=PGSTD::string()) : //[t14] 00073 namedclass("nontransaction", Name), transaction_base(C) { Begin(); } 00074 00075 virtual ~nontransaction(); //[t14] 00076 00077 private: 00078 virtual void do_begin() {} //[t14] 00079 virtual result do_exec(const char C[]); //[t14] 00080 virtual void do_commit() {} //[t14] 00081 virtual void do_abort() {} //[t14] 00082 }; 00083 00084 00085 } // namespace pqxx 00086 00087 00088 #include "pqxx/compiler-internal-post.hxx" 00089 00090 #endif 00091