libgda r3198 - in trunk: . libgda



Author: vivien
Date: Mon Sep  1 18:48:49 2008
New Revision: 3198
URL: http://svn.gnome.org/viewvc/libgda?rev=3198&view=rev

Log:
2008-09-01  Vivien Malerba <malerba gnome-db org>

        * libgda/gda-data-select.h: fixes compilation of programs using Libgda
        * libgda/gda-connection.c: lock the connection before executing a statement


Modified:
   trunk/ChangeLog
   trunk/libgda/gda-connection.c
   trunk/libgda/gda-data-select.h

Modified: trunk/libgda/gda-connection.c
==============================================================================
--- trunk/libgda/gda-connection.c	(original)
+++ trunk/libgda/gda-connection.c	Mon Sep  1 18:48:49 2008
@@ -1479,6 +1479,7 @@
 	types = make_col_types_array (10, ap);
 	va_end (ap);
 
+	gda_connection_lock ((GdaLockable*) cnc);
 	if (last_inserted_row) 
 		*last_inserted_row = NULL;
 	if (cnc->priv->auto_clear_events_list)
@@ -1487,6 +1488,7 @@
 								       model_usage, types, last_inserted_row, 
 								       NULL, NULL, NULL, error);
 	g_free (types);
+	gda_connection_unlock ((GdaLockable*) cnc);
 	return obj;
 }
 
@@ -1708,12 +1710,14 @@
 	types = make_col_types_array (10, ap);
 	va_end (ap);
 
+	gda_connection_lock ((GdaLockable*) cnc);
 	if (cnc->priv->auto_clear_events_list)
 		_clear_events_list (cnc);
 	model = (GdaDataModel *) PROV_CLASS (cnc->priv->provider_obj)->statement_execute (cnc->priv->provider_obj, 
 											  cnc, stmt, params, model_usage, 
 											  types, NULL, NULL, 
 											  NULL, NULL, error);
+	gda_connection_unlock ((GdaLockable*) cnc);
 	g_free (types);
 	if (model && !GDA_IS_DATA_MODEL (model)) {
 		g_set_error (error, GDA_CONNECTION_ERROR, GDA_CONNECTION_STATEMENT_TYPE_ERROR,
@@ -1762,12 +1766,14 @@
 	g_return_val_if_fail (GDA_IS_STATEMENT (stmt), NULL);
 	g_return_val_if_fail (PROV_CLASS (cnc->priv->provider_obj)->statement_execute, NULL);
 
+	gda_connection_lock ((GdaLockable*) cnc);
 	if (cnc->priv->auto_clear_events_list)
 		_clear_events_list (cnc);
 	model = (GdaDataModel *) PROV_CLASS (cnc->priv->provider_obj)->statement_execute (cnc->priv->provider_obj, 
 											  cnc, stmt, params, 
 											  model_usage, col_types, NULL, 
 											  NULL, NULL, NULL, error);
+	gda_connection_unlock ((GdaLockable*) cnc);
 	if (model && !GDA_IS_DATA_MODEL (model)) {
 		g_set_error (error, GDA_CONNECTION_ERROR, GDA_CONNECTION_STATEMENT_TYPE_ERROR,
 			     _("Statement is not a selection statement"));

Modified: trunk/libgda/gda-data-select.h
==============================================================================
--- trunk/libgda/gda-data-select.h	(original)
+++ trunk/libgda/gda-data-select.h	Mon Sep  1 18:48:49 2008
@@ -25,7 +25,7 @@
 
 #include <glib-object.h>
 #include <libgda/gda-row.h>
-#include <libgda/providers-support/gda-pstmt.h>
+#include <providers-support/gda-pstmt.h>
 #include <sql-parser/gda-sql-statement.h>
 
 G_BEGIN_DECLS



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]