diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-04-24 14:34:16 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-04-24 14:40:20 +0100 |
commit | eab3a1beba707e9f531a250a5c74a6ba462aa4fc (patch) | |
tree | 0bac5aa1211d282f996d2b9bf3b72d81717df5e9 /libpqpp/pq-cursorselectcommand.h | |
parent | Don't attempt to close cursors when in failed transaction (it's failed and re... (diff) | |
download | libdbpp-postgresql-eab3a1beba707e9f531a250a5c74a6ba462aa4fc.tar.bz2 libdbpp-postgresql-eab3a1beba707e9f531a250a5c74a6ba462aa4fc.tar.xz libdbpp-postgresql-eab3a1beba707e9f531a250a5c74a6ba462aa4fc.zip |
Rename SelectCommand to CursorSelectCommand
Diffstat (limited to 'libpqpp/pq-cursorselectcommand.h')
-rw-r--r-- | libpqpp/pq-cursorselectcommand.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/libpqpp/pq-cursorselectcommand.h b/libpqpp/pq-cursorselectcommand.h new file mode 100644 index 0000000..aafe4e1 --- /dev/null +++ b/libpqpp/pq-cursorselectcommand.h @@ -0,0 +1,40 @@ +#ifndef PQ_CURSORSELECTCOMMAND_H +#define PQ_CURSORSELECTCOMMAND_H + +#include <selectcommand.h> +#include "pq-command.h" +#include <vector> +#include <map> + +namespace PQ { + class Connection; + class Column; + class CursorSelectCommand : public DB::SelectCommand, public Command { + public: + CursorSelectCommand(Connection *, const std::string & sql, unsigned int no); + virtual ~CursorSelectCommand(); + + bool fetch() override; + void execute() override; + + private: + void fetchTuples(); + std::string mkdeclare() const; + std::string mkfetch() const; + std::string mkclose() const; + + mutable bool executed; + mutable bool txOpened; + int nTuples, tuple, fTuples; + PGresult * execRes; + std::string s_declare; + std::string s_fetch; + std::string s_close; + + friend class Column; + }; +} + +#endif + + |