# nontransaction.hxx

    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