aboutsummaryrefslogtreecommitdiff
path: root/odb/pgsql/statement.hxx
diff options
context:
space:
mode:
authorConstantin Michael <constantin@codesynthesis.com>2011-05-19 17:08:03 +0200
committerConstantin Michael <constantin@codesynthesis.com>2011-05-19 17:08:03 +0200
commit0b762135ae0e28fcda69d58523364aa8bef9637a (patch)
treeb20ec744a62638e1c248b9e100c373e75f3fcedc /odb/pgsql/statement.hxx
parente4e17881e64175352f1e1d8d0159039f7115a7a0 (diff)
Add update_statement
Diffstat (limited to 'odb/pgsql/statement.hxx')
-rw-r--r--odb/pgsql/statement.hxx29
1 files changed, 29 insertions, 0 deletions
diff --git a/odb/pgsql/statement.hxx b/odb/pgsql/statement.hxx
index 88b1c14..17d4930 100644
--- a/odb/pgsql/statement.hxx
+++ b/odb/pgsql/statement.hxx
@@ -79,6 +79,35 @@ namespace odb
Oid oid_;
};
+ class LIBODB_PGSQL_EXPORT update_statement: public statement
+ {
+ public:
+ virtual
+ ~update_statement ();
+
+ // Asssumes that cond.values, cond.lengths, and cond.formats are
+ // suffixes of data.values, data.lengths, and data.formats
+ // respectively.
+ //
+ update_statement (connection& conn,
+ const std::string& name,
+ const std::string& stmt,
+ const Oid* types,
+ std::size_t n,
+ native_binding& cond,
+ native_binding& data);
+ void
+ execute ();
+
+ private:
+ update_statement (const update_statement&);
+ update_statement& operator= (const update_statement&);
+
+ private:
+ native_binding& cond_;
+ native_binding& data_;
+ };
+
class LIBODB_PGSQL_EXPORT delete_statement: public statement
{
public: