gnomemm r1826 - in libgdamm/trunk: . libgda/src
- From: jhs svn gnome org
- To: svn-commits-list gnome org
- Subject: gnomemm r1826 - in libgdamm/trunk: . libgda/src
- Date: Sun, 7 Dec 2008 15:16:12 +0000 (UTC)
Author: jhs
Date: Sun Dec 7 15:16:11 2008
New Revision: 1826
URL: http://svn.gnome.org/viewvc/gnomemm?rev=1826&view=rev
Log:
2008-12-07 Johannes Schmid <jschmid openismus com>
* libgda/src/connection.ccg:
* libgda/src/connection.hg:
Added helper methods to use sql directly instead of Gda::Statement
Modified:
libgdamm/trunk/ChangeLog
libgdamm/trunk/libgda/src/connection.ccg
libgdamm/trunk/libgda/src/connection.hg
Modified: libgdamm/trunk/libgda/src/connection.ccg
==============================================================================
--- libgdamm/trunk/libgda/src/connection.ccg (original)
+++ libgdamm/trunk/libgda/src/connection.ccg Sun Dec 7 15:16:11 2008
@@ -25,6 +25,7 @@
#include <libgda/gda-enum-types.h>
#include <libgda/gda-connection.h>
#include <libgda/libgda.h> //For GDA_GENERAL_ERROR
+#include <iostream>
namespace Gnome
{
@@ -124,6 +125,31 @@
}
#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::RefPtr<Glib::Object> Connection::statement_execute(const Glib::ustring& sql, StatementModelUsage model_usage)
+#else
+Glib::RefPtr<Glib::Object> Connection::statement_execute(const Glib::ustring& sql, StatementModelUsage model_usage, std::auto_ptr<Glib::Error>& error)
+#endif // GLIBMM_EXCEPTIONS_ENABLED
+{
+ Glib::RefPtr<SqlParser> parser = create_parser();
+ if (parser)
+ {
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::RefPtr<Statement> stmt = parser->parse_string(sql);
+ if (!stmt)
+ return Glib::RefPtr<Object>(0);
+ return statement_execute (stmt, model_usage);
+#else
+ Glib::RefPtr<Statement> stmt = parser->parse_string(sql, error);
+ if (error || !stmt)
+ return Glib::RefPtr<Object>(0);
+ return statement_execute (stmt, model_usage, error);
+#endif
+ }
+ std::cerr << "Gda::Connection::statement_execute(): Couldn't create parser" << std::endl;
+ return Glib::RefPtr<Object>(0);
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
int Connection::statement_execute_non_select(const Glib::RefPtr<Statement>& cmd, const Glib::RefPtr<Set>& params, Glib::RefPtr<Set>& last_inserted_row)
#else
int Connection::statement_execute_non_select(const Glib::RefPtr<Statement>& cmd, const Glib::RefPtr<Set>& params, Glib::RefPtr<Set>& last_inserted_row, std::auto_ptr<Glib::Error>& error)
@@ -165,6 +191,31 @@
}
#ifdef GLIBMM_EXCEPTIONS_ENABLED
+int Connection::statement_execute_non_select(const Glib::ustring& sql)
+#else
+int Connection::statement_execute_non_select(const Glib::ustring& sql, std::auto_ptr<Glib::Error>& error)
+#endif // GLIBMM_EXCEPTIONS_ENABLED
+{
+ Glib::RefPtr<SqlParser> parser = create_parser();
+ if (parser)
+ {
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::RefPtr<Statement> stmt = parser->parse_string(sql);
+ if (!stmt)
+ return 0;
+ return statement_execute_non_select(stmt);
+#else
+ Glib::RefPtr<Statement> stmt = parser->parse_string(sql, error);
+ if (error || !stmt)
+ return 0;
+ return statement_execute_non_select(stmt, error);
+#endif
+ }
+ std::cerr << "Gda::Connection::statement_execute(): Couldn't create parser" << std::endl;
+ return 0;
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::ustring Connection::statement_to_sql(const Glib::RefPtr<Statement>& statement, const Glib::RefPtr<Set>& params, StatementSqlFlag flags, std::list< Glib::RefPtr<Holder> >& params_used)
#else
Glib::ustring Connection::statement_to_sql(const Glib::RefPtr<Statement>& statement, const Glib::RefPtr<Set>& params, StatementSqlFlag flags, std::list< Glib::RefPtr<Holder> >& params_used, std::auto_ptr<Glib::Error>& error)
@@ -192,10 +243,43 @@
}
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::RefPtr<DataModel> Connection::statement_execute_select(const Glib::RefPtr<Statement>& stmt)
+#else
+Glib::RefPtr<DataModel> Connection::statement_execute_select(const Glib::RefPtr<Statement>& stmt, std::auto_ptr<Glib::Error>& error)
+#endif
{
Glib::RefPtr<Set> set;
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
return statement_execute_select (stmt, set);
+#else
+ return statement_execute_select (stmt, set, error);
+#endif
+}
+
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+Glib::RefPtr<DataModel> Connection::statement_execute_select(const Glib::ustring& sql)
+#else
+Glib::RefPtr<DataModel> Connection::statement_execute_select(const Glib::ustring& sql, std::auto_ptr<Glib::Error>& error)
+#endif // GLIBMM_EXCEPTIONS_ENABLED
+{
+ Glib::RefPtr<SqlParser> parser = create_parser();
+ if (parser)
+ {
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
+ Glib::RefPtr<Statement> stmt = parser->parse_string(sql);
+ if (!stmt)
+ return Glib::RefPtr<DataModel>(0);
+ return statement_execute_select (stmt);
+#else
+ Glib::RefPtr<Statement> stmt = parser->parse_string(sql, error);
+ if (error || !stmt)
+ return Glib::RefPtr<DataModel>(0);
+ return statement_execute_select (stmt, error);
+#endif
+ }
+ std::cerr << "Gda::Connection::statement_execute(): Couldn't create parser" << std::endl;
+ return Glib::RefPtr<DataModel>(0);
}
#ifdef GLIBMM_EXCEPTIONS_ENABLED
Modified: libgdamm/trunk/libgda/src/connection.hg
==============================================================================
--- libgdamm/trunk/libgda/src/connection.hg (original)
+++ libgdamm/trunk/libgda/src/connection.hg Sun Dec 7 15:16:11 2008
@@ -121,13 +121,20 @@
#endif // GLIBMM_EXCEPTIONS_ENABLED
#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::RefPtr<Glib::Object> statement_execute(const Glib::RefPtr<Statement>& stmt, StatementModelUsage model_usage);
+ Glib::RefPtr<Glib::Object> statement_execute(const Glib::ustring& sql, StatementModelUsage model_usage);
#else
Glib::RefPtr<Glib::Object> statement_execute(const Glib::RefPtr<Statement>& stmt, StatementModelUsage model_usage, std::auto_ptr<Glib::Error>& error);
+ Glib::RefPtr<Glib::Object> statement_execute(const Glib::ustring& sql, StatementModelUsage model_usage, std::auto_ptr<Glib::Error>& error);
#endif // GLIBMM_EXCEPTIONS_ENABLED
_WRAP_METHOD(Glib::RefPtr<DataModel> statement_execute_select(const Glib::RefPtr<Statement>& stmt, const Glib::RefPtr<Set>& params), gda_connection_statement_execute_select, errthrow)
+#ifdef GLIBMM_EXCEPTIONS_ENABLED
Glib::RefPtr<DataModel> statement_execute_select(const Glib::RefPtr<Statement>& stmt);
-
+ Glib::RefPtr<DataModel> statement_execute_select(const Glib::ustring& sql);
+#else
+ Glib::RefPtr<DataModel> statement_execute_select(const Glib::RefPtr<Statement>& stmt, std::auto_ptr<Glib::Error>& error);
+ Glib::RefPtr<DataModel> statement_execute_select(const Glib::ustring& sql, std::auto_ptr<Glib::Error>& error);
+#endif
#m4 _CONVERSION(`const Glib::ArrayHandle<GType>&', `GType*', `const_cast<GType*>(($3).data())')
_WRAP_METHOD(Glib::RefPtr<DataModel> statement_execute_select_full(const Glib::RefPtr<Statement>& stmt, const Glib::RefPtr<Set>& params, StatementModelUsage model_usage, const Glib::ArrayHandle<GType>& col_types), gda_connection_statement_execute_select_full, errthrow)
_IGNORE (gda_connection_statement_execute_select_fullv)
@@ -140,8 +147,10 @@
#endif //GLIBMM_EXCEPTIONS_ENABLED
#ifdef GLIBMM_EXCEPTIONS_ENABLED
int statement_execute_non_select(const Glib::RefPtr<Statement>& stmt);
+ int statement_execute_non_select(const Glib::ustring& sql);
#else
int statement_execute_non_select(const Glib::RefPtr<Statement>& stmt, std::auto_ptr<Glib::Error>& error);
+ int statement_execute_non_select(const Glib::ustring& sql, 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]