diff options
author | randomdan <randomdan@localhost> | 2011-02-09 01:33:33 +0000 |
---|---|---|
committer | randomdan <randomdan@localhost> | 2011-02-09 01:33:33 +0000 |
commit | cfa36aa5466d4c342c7de0f6cea7b8386984fd36 (patch) | |
tree | 17a13c13b3588101a146705839d5da6f280bddb9 /libpqpp/connection.h | |
parent | Centralise the ICE splicer (diff) | |
download | libdbpp-postgresql-cfa36aa5466d4c342c7de0f6cea7b8386984fd36.tar.bz2 libdbpp-postgresql-cfa36aa5466d4c342c7de0f6cea7b8386984fd36.tar.xz libdbpp-postgresql-cfa36aa5466d4c342c7de0f6cea7b8386984fd36.zip |
Fix the build system to do dependencies properly
Break down libodbcpp into a set of base classes; libdbpp
Add a native PostgreSQL implementation of libdbpp; libpqpp
Extend project2 rdbms stuff to work with generic connectors
Update datasources to specify connector type
Build libmisc as .so
Diffstat (limited to 'libpqpp/connection.h')
-rw-r--r-- | libpqpp/connection.h | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/libpqpp/connection.h b/libpqpp/connection.h new file mode 100644 index 0000000..da13e6c --- /dev/null +++ b/libpqpp/connection.h @@ -0,0 +1,36 @@ +#ifndef PQ_CONNECTION_H +#define PQ_CONNECTION_H + +#include "../libdbpp/connection.h" +#include <libpq-fe.h> + +namespace PQ { + class Connection : public DB::Connection { + public: + Connection(const std::string & info); + ~Connection(); + + int beginTx() const; + int commitTx() const; + int rollbackTx() const; + bool inTx() const; + void ping() const; + + DB::SelectCommand * newSelectCommand(const std::string & sql) const; + DB::ModifyCommand * newModifyCommand(const std::string & sql) const; + + void checkResult(PGresult * res, int expected, const char * doing) const; + void checkResultFree(PGresult * res, int expected, const char * doing) const; + + PGconn * conn; + + private: + static bool checkResultInt(PGresult * res, int expected); + + mutable unsigned int txDepth; + mutable unsigned int pstmntNo; + }; +} + +#endif + |