[libgdamm] Connection: Add statement_execute_non_select_builder(SqlBuilder)
- From: Murray Cumming <murrayc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgdamm] Connection: Add statement_execute_non_select_builder(SqlBuilder)
- Date: Sat, 27 Feb 2010 14:04:49 +0000 (UTC)
commit ef00f248f38a2d2660877dc802c038c0decf0e61
Author: Murray Cumming <murrayc murrayc com>
Date: Sat Feb 27 15:04:42 2010 +0100
Connection: Add statement_execute_non_select_builder(SqlBuilder)
* libgda/src/connection.[hg|ccg]: Added statement_execute_non_select_builder()
overloads that take SqlBuilder, to avoid the need to generate a statement
from a builder.
ChangeLog | 10 ++++++++-
libgda/src/connection.ccg | 50 +++++++++++++++++++++++++++++++++++++++++++++
libgda/src/connection.hg | 18 +++++++++++++++-
3 files changed, 76 insertions(+), 2 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 43652c3..44a3904 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,14 @@
+2010-02-27 Murray Cumming <murrayc murrayc-x61>
+
+ Connection: Add statement_execute_non_select_builder(SqlBuilder)
+
+ * libgda/src/connection.[hg|ccg]: Added statement_execute_non_select_builder()
+ overloads that take SqlBuilder, to avoid the need to generate a statement
+ from a builder.
+
2010-02-27 Murray Cumming <murrayc murrayc com>
- Connection, SqlBuilder: Addd some convenient method overloads.
+ Connection, SqlBuilder: Add some convenient method overloads.
* libgda/src/connection.[hg|ccg]: statement_execute_select(statement, params):
Add an optional model_usage parameter, as already exists on other method
diff --git a/libgda/src/connection.ccg b/libgda/src/connection.ccg
index f3f19d1..abb71fd 100644
--- a/libgda/src/connection.ccg
+++ b/libgda/src/connection.ccg
@@ -223,6 +223,56 @@ int Connection::statement_execute_non_select(const Glib::RefPtr<const Statement>
}
#ifdef GLIBMM_EXCEPTIONS_ENABLED
+int Connection::statement_execute_non_select_builder(const Glib::RefPtr<const SqlBuilder>& builder)
+#else
+int Connection::statement_execute_non_select_builder(const Glib::RefPtr<const SqlBuilder>& builder, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ Glib::RefPtr<Gnome::Gda::Statement> stmt;
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ stmt = builder->get_statement(); //Allow any exceptions to be thrown up to the caller.
+#else
+ stmt = builder->get_statement(error);
+ if(error.get())
+ return 0;
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ if(!stmt)
+ return 0;
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return statement_execute_non_select(stmt);
+#else
+ return statement_execute_non_select(stmt, error);
+#endif
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+int Connection::statement_execute_non_select_builder(const Glib::RefPtr<const SqlBuilder>& builder, const Glib::RefPtr<const Set>& params)
+#else
+int Connection::statement_execute_non_select_builder(const Glib::RefPtr<const SqlBuilder>& builder, const Glib::RefPtr<const Set>& params, std::auto_ptr<Glib::Error>& error)
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+{
+ Glib::RefPtr<Gnome::Gda::Statement> stmt;
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ stmt = builder->get_statement(); //Allow any exceptions to be thrown up to the caller.
+#else
+ stmt = builder->get_statement(error);
+ if(error.get())
+ return 0;
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+ if(!stmt)
+ return 0;
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ return statement_execute_non_select(stmt, params);
+#else
+ return statement_execute_non_select(stmt, params, error);
+#endif
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::ustring Connection::statement_to_sql(const Glib::RefPtr<const Statement>& statement, const Glib::RefPtr<const Set>& params, StatementSqlFlag flags, std::list< Glib::RefPtr<Holder> >& params_used) const
#else
Glib::ustring Connection::statement_to_sql(const Glib::RefPtr<const Statement>& statement, const Glib::RefPtr<const Set>& params, StatementSqlFlag flags, std::list< Glib::RefPtr<Holder> >& params_used, std::auto_ptr<Glib::Error>& error) const
diff --git a/libgda/src/connection.hg b/libgda/src/connection.hg
index bc130f4..65e91cd 100644
--- a/libgda/src/connection.hg
+++ b/libgda/src/connection.hg
@@ -202,9 +202,25 @@ public:
#else
int statement_execute_non_select(const Glib::RefPtr<const Statement>& stmt, std::auto_ptr<Glib::Error>& error);
#endif //GLIBMM_EXCEPTIONS_ENABLED
-
+
_WRAP_METHOD(int statement_execute_non_select(const Glib::ustring& sql), gda_execute_non_select_command, errthrow)
+
+//TODO: Documentation:
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ int statement_execute_non_select_builder(const Glib::RefPtr<const SqlBuilder>& builder);
+#else
+ int statement_execute_non_select_builder(const Glib::RefPtr<const SqlBuilder>& builder, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+//TODO: Documentation:
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ int statement_execute_non_select_builder(const Glib::RefPtr<const SqlBuilder>& builder, const Glib::RefPtr<const Set>& params);
+#else
+ int statement_execute_non_select_builder(const Glib::RefPtr<const SqlBuilder>& builder, const Glib::RefPtr<const Set>& params, std::auto_ptr<Glib::Error>& error);
+#endif //GLIBMM_EXCEPTIONS_ENABLED
+
+
//Note that we do not add a non-const version of this because the documentation says that it should not be modified:
_WRAP_METHOD(Glib::RefPtr<const TransactionStatus> get_transaction_status() const, gda_connection_get_transaction_status, errthrow, refreturn)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]