libgda r3293 - in trunk: . doc/C doc/C/tmpl libgda libgda/sql-parser



Author: vivien
Date: Fri Jan 23 15:53:09 2009
New Revision: 3293
URL: http://svn.gnome.org/viewvc/libgda?rev=3293&view=rev

Log:
2009-01-23  Vivien Malerba <malerba gnome-db org>

	* documentation fixes, see bugs #568731 and #561178.


Modified:
   trunk/ChangeLog
   trunk/doc/C/gettingstarted.xml
   trunk/doc/C/tmpl/gda-meta-struct.sgml
   trunk/doc/C/tmpl/gda-sql-parser.sgml
   trunk/doc/C/tmpl/gda-util.sgml
   trunk/doc/C/tmpl/gda-value.sgml
   trunk/libgda/gda-batch.c
   trunk/libgda/gda-column.c
   trunk/libgda/gda-config.c
   trunk/libgda/gda-connection.c
   trunk/libgda/gda-data-access-wrapper.c
   trunk/libgda/gda-data-model-bdb.c
   trunk/libgda/gda-data-model-dir.c
   trunk/libgda/gda-data-model-import.c
   trunk/libgda/gda-data-model-iter.c
   trunk/libgda/gda-data-model.c
   trunk/libgda/gda-data-proxy.c
   trunk/libgda/gda-data-select.c
   trunk/libgda/gda-holder.c
   trunk/libgda/gda-meta-store.c
   trunk/libgda/gda-row.c
   trunk/libgda/gda-server-operation.c
   trunk/libgda/gda-set.c
   trunk/libgda/gda-set.h
   trunk/libgda/gda-statement.c
   trunk/libgda/gda-util.c
   trunk/libgda/gda-util.h
   trunk/libgda/sql-parser/gda-sql-parser.c

Modified: trunk/doc/C/gettingstarted.xml
==============================================================================
--- trunk/doc/C/gettingstarted.xml	(original)
+++ trunk/doc/C/gettingstarted.xml	Fri Jan 23 15:53:09 2009
@@ -105,9 +105,35 @@
     </para>
 
     <para>
-      A <link linkend="GdaStatement">GdaStatement</link> object can contain variables, and a value needs to be assigned to
-      each one before the query can be run; the same query object can then be run as a prepared statement, only binding
-      variables each time.
+      &LIBGDA; can execute any SQL understood by the database to which a connection is opened, even SQL code containing
+      extensions specific to a database.
+    </para>
+    <para>
+      When creating an SQL string which contains values (literals), one can be tempted (as it is the easiest solution) to
+      create a string containing the values themselves, execute that statement and apply the same process the next time the same
+      statement needs to be executed with different values. This approach has two major flaws outlined below which is why &LIBGDA;
+      recommends using variables in statements (also known as parameters or place holders) and reusing the same
+      <link linkend="GdaStatement">GdaStatement</link> object when only the variable's values change. The flaws are:
+      <itemizedlist>
+	<listitem>
+	  <para>The performances of the resulting application are not optimized because the database needs to parse the SQL
+	    string each time and build its own internal representation of the statement, execute the statement using its 
+	    internal representation, then discard that internal representation. Using variables and reusing the same statement,
+	    the database only parses once the SQL statement, builds its internal representation, and reuses it everytime
+	    the statement is executed.
+	  </para>
+	</listitem>
+	<listitem>
+	  <para>Literals in SQL strings are an open invitation to SQL injection problems. Using variables prevents SQL injection.
+	  </para>
+	</listitem>
+      </itemizedlist>
+    </para>
+    <para>
+      Because each database has its own way of representing variables in an SQL string, and because those ways of representing
+      variables don't contain enough information (it is usually impossible to specify the expected type for a variable for example)
+      &LIBGDA; has defined a standard way of defining them, and translates it into the syntax understood by the database when
+      needed. For more information about that syntax, see the <link linkend="GdaSqlParser.description">GdaSqlParser's object description</link>.
     </para>
     <para>
       GdaStatement objects can be created by:

Modified: trunk/doc/C/tmpl/gda-meta-struct.sgml
==============================================================================
--- trunk/doc/C/tmpl/gda-meta-struct.sgml	(original)
+++ trunk/doc/C/tmpl/gda-meta-struct.sgml	Fri Jan 23 15:53:09 2009
@@ -107,13 +107,13 @@
 
 <!-- ##### ENUM GdaMetaStructFeature ##### -->
 <para>
-
+  Controls which features are computed about database objects.
 </para>
 
- GDA_META_STRUCT_FEATURE_NONE: 
- GDA_META_STRUCT_FEATURE_FOREIGN_KEYS: 
- GDA_META_STRUCT_FEATURE_VIEW_DEPENDENCIES: 
- GDA_META_STRUCT_FEATURE_ALL: 
+ GDA_META_STRUCT_FEATURE_NONE: database objects only have their own attributes
+ GDA_META_STRUCT_FEATURE_FOREIGN_KEYS: foreign keys are computed for tables
+ GDA_META_STRUCT_FEATURE_VIEW_DEPENDENCIES: for views, the tables they use are also computed
+ GDA_META_STRUCT_FEATURE_ALL: all the features are computed
 
 <!-- ##### ENUM GdaMetaStructError ##### -->
 <para>
@@ -126,12 +126,12 @@
 
 <!-- ##### ENUM GdaMetaDbObjectType ##### -->
 <para>
-
+  Type of database object represented by a #GdaMetaDbObject structure
 </para>
 
- GDA_META_DB_UNKNOWN: 
- GDA_META_DB_TABLE: 
- GDA_META_DB_VIEW: 
+ GDA_META_DB_UNKNOWN: unknown type, we only know the object exists
+ GDA_META_DB_TABLE: the object is a table
+ GDA_META_DB_VIEW: the object is a view
 
 <!-- ##### STRUCT GdaMetaDbObject ##### -->
 <para>

Modified: trunk/doc/C/tmpl/gda-sql-parser.sgml
==============================================================================
--- trunk/doc/C/tmpl/gda-sql-parser.sgml	(original)
+++ trunk/doc/C/tmpl/gda-sql-parser.sgml	Fri Jan 23 15:53:09 2009
@@ -59,14 +59,16 @@
       <![CDATA[##]]> and the <![CDATA[/* ... */]]>.
   </para></listitem>
 </itemizedlist>
-Examples of correct place holders definitions are:
+Note that the type string must be a type recognized by the
+<link linkend="gda-g-type-from-string">gda_g_type_from_string()</link> function (all valid GType names
+plus a few synonyms). Examples of correct place holders definitions are:
 <programlisting>
 ## /* name:"+0" type:gchararray */
 ## /* name:'-5' type:string */
 ## /*name:myvar type:gint descr:ToBeDefined nullok:FALSE*/
-## /*name:myvar type:gint descr:"A long description"*/
-##+0::gcharaccar
-##-5::string
+## /*name:myvar type:int descr:"A long description"*/
+##+0::gchararray
+##-5::timestamp
 </programlisting>
 </para>
 

Modified: trunk/doc/C/tmpl/gda-util.sgml
==============================================================================
--- trunk/doc/C/tmpl/gda-util.sgml	(original)
+++ trunk/doc/C/tmpl/gda-util.sgml	Fri Jan 23 15:53:09 2009
@@ -78,7 +78,7 @@
 </para>
 
 @cnc: 
- text: 
+ sql: 
 @start: 
 @end: 
 @Returns: 

Modified: trunk/doc/C/tmpl/gda-value.sgml
==============================================================================
--- trunk/doc/C/tmpl/gda-value.sgml	(original)
+++ trunk/doc/C/tmpl/gda-value.sgml	Fri Jan 23 15:53:09 2009
@@ -536,8 +536,8 @@
 </para>
 
 @year: representation of the date
- month: month representation of the date, as a number between 1 and 12 
- day: day representation of the date, as a number between 1 and 31 
+ month: month representation of the date, as a number between 1 and 12
+ day: day representation of the date, as a number between 1 and 31
 @hour: 
 @minute: 
 @second: 

Modified: trunk/libgda/gda-batch.c
==============================================================================
--- trunk/libgda/gda-batch.c	(original)
+++ trunk/libgda/gda-batch.c	Fri Jan 23 15:53:09 2009
@@ -105,6 +105,13 @@
 	GObjectClass *object_class = G_OBJECT_CLASS (klass);
 	parent_class = g_type_class_peek_parent (klass);
 
+	/**
+	 * GdaBatch::changed
+	 * @batch: the #GdaBatch object
+	 * @changed_stmt: the statement which has been changed
+	 *
+	 * Gets emitted whenever a #GdaStatement in the @batch object changes
+	 */
 	gda_batch_signals[CHANGED] =
 		g_signal_new ("changed",
 			      G_TYPE_FROM_CLASS (object_class),

Modified: trunk/libgda/gda-column.c
==============================================================================
--- trunk/libgda/gda-column.c	(original)
+++ trunk/libgda/gda-column.c	Fri Jan 23 15:53:09 2009
@@ -87,6 +87,13 @@
 	parent_class = g_type_class_peek_parent (klass);
 	
 	/* signals */
+	/**
+	 * GdaColumn::name-changed
+	 * @column: the #GdaColumn object
+	 * @old_name: the column's previous name
+	 *
+	 * Gets emitted whenever @column's name has been changed
+	 */
 	gda_column_signals[NAME_CHANGED] =
 		g_signal_new ("name-changed",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -96,6 +103,14 @@
 			      g_cclosure_marshal_VOID__STRING,
 			      G_TYPE_NONE,
 			      1, G_TYPE_STRING);
+	/**
+	 * GdaColumn::g-type-changed
+	 * @column: the #GdaColumn object
+	 * @old_type: the column's previous type
+	 * @new_type: the column's new type
+	 *
+	 * Gets emitted whenever @column's type has been changed
+	 */
 	gda_column_signals[GDA_TYPE_CHANGED] =
 		g_signal_new ("g-type-changed",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -111,7 +126,9 @@
         object_class->get_property = gda_column_get_property;
 
         g_object_class_install_property (object_class, PROP_ID,
-                                         g_param_spec_string ("id", NULL, NULL,
+                                         g_param_spec_string ("id", NULL, 
+							      "Column's Id (warning: the column's ID is not "
+							      "guaranteed to be unique in a GdaDataModel)",
                                                               NULL, G_PARAM_WRITABLE | G_PARAM_READABLE));
 
 	object_class->finalize = gda_column_finalize;

Modified: trunk/libgda/gda-config.c
==============================================================================
--- trunk/libgda/gda-config.c	(original)
+++ trunk/libgda/gda-config.c	Fri Jan 23 15:53:09 2009
@@ -134,6 +134,13 @@
 
 	parent_class = g_type_class_peek_parent (klass);
 
+	/**
+	 * GdaConfig::dsn-added
+	 * @conf: the #GdaConfig object
+	 * @new_dsn: a #GdaDsnInfo
+	 *
+	 * Gets emitted whenever a new DSN has been defined
+	 */
 	gda_config_signals[DSN_ADDED] =
                 g_signal_new ("dsn-added",
                               G_TYPE_FROM_CLASS (object_class),
@@ -142,6 +149,13 @@
                               NULL, NULL,
                               _gda_marshal_VOID__POINTER,
                               G_TYPE_NONE, 1, G_TYPE_POINTER);
+	/**
+	 * GdaConfig::dsn-to-be-removed
+	 * @conf: the #GdaConfig object
+	 * @old_dsn: a #GdaDsnInfo
+	 *
+	 * Gets emitted whenever a DSN is about to be removed
+	 */
 	gda_config_signals[DSN_TO_BE_REMOVED] =
                 g_signal_new ("dsn-to-be-removed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -150,6 +164,13 @@
                               NULL, NULL,
                               _gda_marshal_VOID__POINTER,
                               G_TYPE_NONE, 1, G_TYPE_POINTER);
+	/**
+	 * GdaConfig::dsn-removed
+	 * @conf: the #GdaConfig object
+	 * @old_dsn: a #GdaDsnInfo
+	 *
+	 * Gets emitted whenever a DSN has been removed
+	 */
 	gda_config_signals[DSN_REMOVED] =
                 g_signal_new ("dsn-removed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -158,6 +179,13 @@
                               NULL, NULL,
                               _gda_marshal_VOID__POINTER,
                               G_TYPE_NONE, 1, G_TYPE_POINTER);
+	/**
+	 * GdaConfig::dsn-changed
+	 * @conf: the #GdaConfig object
+	 * @dsn: a #GdaDsnInfo
+	 *
+	 * Gets emitted whenever a DSN's definition has been changed
+	 */
 	gda_config_signals[DSN_CHANGED] =
                 g_signal_new ("dsn-changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -173,13 +201,15 @@
 
 	/* To translators: DSN stands for Data Source Name, it's a named connection string defined in ~/.libgda/config */
 	g_object_class_install_property (object_class, PROP_USER_FILE,
-                                         g_param_spec_string ("user-filename", _("File to use for per-user DSN list"), 
-							      NULL, NULL,
+                                         g_param_spec_string ("user-filename", NULL, 
+							      "File to use for per-user DSN list", 
+							      NULL, 
 							      (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	/* To translators: DSN stands for Data Source Name, it's a named connection string defined in $PREFIX/etc/libgda-4.0/config */
 	g_object_class_install_property (object_class, PROP_USER_FILE,
-                                         g_param_spec_string ("system-filename", _("File to use for system-wide DSN list"), 
-							      NULL, NULL,
+                                         g_param_spec_string ("system-filename", NULL,
+							      "File to use for system-wide DSN list", 
+							      NULL,
 							      (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	
 	object_class->constructor = gda_config_constructor;

Modified: trunk/libgda/gda-connection.c
==============================================================================
--- trunk/libgda/gda-connection.c	(original)
+++ trunk/libgda/gda-connection.c	Fri Jan 23 15:53:09 2009
@@ -131,6 +131,14 @@
 
 	parent_class = g_type_class_peek_parent (klass);
 
+	/**
+	 * GdaConnection::error
+	 * @cnc: the #GdaConnection
+	 * @event: a #GdaConnectionEvent object
+	 *
+	 * Gets emitted whenever a connection event occurs. Chech the nature of @event to
+	 * see if it's an error or a simple notification
+	 */
 	gda_connection_signals[ERROR] =
 		g_signal_new ("error",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -139,6 +147,12 @@
 			      NULL, NULL,
 			      g_cclosure_marshal_VOID__OBJECT,
 			      G_TYPE_NONE, 1, GDA_TYPE_CONNECTION_EVENT);
+	/**
+	 * GdaConnection::conn-opened
+	 * @cnc: the #GdaConnection
+	 *
+	 * Gets emitted when the connection has been opened to the database
+	 */
 	gda_connection_signals[CONN_OPENED] =
                 g_signal_new ("conn-opened",
                               G_TYPE_FROM_CLASS (object_class),
@@ -147,6 +161,12 @@
                               NULL, NULL,
                               _gda_marshal_VOID__VOID,
                               G_TYPE_NONE, 0);
+	/**
+	 * GdaConnection::conn-to-close
+	 * @cnc: the #GdaConnection
+	 *
+	 * Gets emitted when the connection to the database is about to be closed
+	 */
         gda_connection_signals[CONN_TO_CLOSE] =
                 g_signal_new ("conn-to-close",
                               G_TYPE_FROM_CLASS (object_class),
@@ -155,6 +175,12 @@
                               NULL, NULL,
                               _gda_marshal_VOID__VOID,
                               G_TYPE_NONE, 0);
+	/**
+	 * GdaConnection::conn-closed
+	 * @cnc: the #GdaConnection
+	 *
+	 * Gets emitted when the connection to the database has been closed
+	 */
         gda_connection_signals[CONN_CLOSED] =    /* runs after user handlers */
                 g_signal_new ("conn-closed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -163,6 +189,12 @@
                               NULL, NULL,
                               _gda_marshal_VOID__VOID,
                               G_TYPE_NONE, 0);
+	/**
+	 * GdaConnection::dsn-changed
+	 * @cnc: the #GdaConnection
+	 *
+	 * Gets emitted when the DSN used by @cnc has been changed
+	 */
 	gda_connection_signals[DSN_CHANGED] =
 		g_signal_new ("dsn-changed",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -171,6 +203,13 @@
 			      NULL, NULL,
 			      g_cclosure_marshal_VOID__VOID,
 			      G_TYPE_NONE, 0);
+	/**
+	 * GdaConnection::transaction-status-changed
+	 * @cnc: the #GdaConnection
+	 *
+	 * Gets emitted when the transactional status of @cnc has changed (a transaction has been 
+	 * started, rolled back, a savepoint added,...)
+	 */
 	gda_connection_signals[TRANSACTION_STATUS_CHANGED] =
 		g_signal_new ("transaction-status-changed",
 			      G_TYPE_FROM_CLASS (object_class),

Modified: trunk/libgda/gda-data-access-wrapper.c
==============================================================================
--- trunk/libgda/gda-data-access-wrapper.c	(original)
+++ trunk/libgda/gda-data-access-wrapper.c	Fri Jan 23 15:53:09 2009
@@ -134,7 +134,7 @@
 	object_class->set_property = gda_data_access_wrapper_set_property;
         object_class->get_property = gda_data_access_wrapper_get_property;
 	g_object_class_install_property (object_class, PROP_MODEL,
-                                         g_param_spec_object ("model", "Data model being worked on", NULL,
+                                         g_param_spec_object ("model", NULL, "Data model being wrapped",
                                                               GDA_TYPE_DATA_MODEL,
 							      G_PARAM_READABLE | G_PARAM_WRITABLE |
 							      G_PARAM_CONSTRUCT_ONLY));

Modified: trunk/libgda/gda-data-model-bdb.c
==============================================================================
--- trunk/libgda/gda-data-model-bdb.c	(original)
+++ trunk/libgda/gda-data-model-bdb.c	Fri Jan 23 15:53:09 2009
@@ -155,11 +155,11 @@
         object_class->set_property = gda_data_model_bdb_set_property;
         object_class->get_property = gda_data_model_bdb_get_property;
         g_object_class_install_property (object_class, PROP_FILENAME,
-                                         g_param_spec_string ("filename", "DB file", NULL, NULL,
+                                         g_param_spec_string ("filename", NULL, "DB file", NULL,
                                                               G_PARAM_READABLE | G_PARAM_WRITABLE |
                                                               G_PARAM_CONSTRUCT_ONLY));
         g_object_class_install_property (object_class, PROP_DB_NAME,
-                                         g_param_spec_string ("db-name", "Name of the database", NULL, NULL,
+                                         g_param_spec_string ("db-name", NULL, "Name of the database", NULL,
                                                               G_PARAM_READABLE | G_PARAM_WRITABLE |
                                                               G_PARAM_CONSTRUCT_ONLY));
 

Modified: trunk/libgda/gda-data-model-dir.c
==============================================================================
--- trunk/libgda/gda-data-model-dir.c	(original)
+++ trunk/libgda/gda-data-model-dir.c	Fri Jan 23 15:53:09 2009
@@ -197,7 +197,7 @@
         object_class->set_property = gda_data_model_dir_set_property;
         object_class->get_property = gda_data_model_dir_get_property;
         g_object_class_install_property (object_class, PROP_BASEDIR,
-                                         g_param_spec_string ("basedir", "Base directory", NULL, NULL,
+                                         g_param_spec_string ("basedir", NULL, "Base directory", NULL,
                                                               G_PARAM_READABLE | G_PARAM_WRITABLE |
                                                               G_PARAM_CONSTRUCT_ONLY));
 

Modified: trunk/libgda/gda-data-model-import.c
==============================================================================
--- trunk/libgda/gda-data-model-import.c	(original)
+++ trunk/libgda/gda-data-model-import.c	Fri Jan 23 15:53:09 2009
@@ -224,24 +224,25 @@
 	object_class->set_property = gda_data_model_import_set_property;
         object_class->get_property = gda_data_model_import_get_property;
 	g_object_class_install_property (object_class, PROP_RANDOM_ACCESS,
-                                         g_param_spec_boolean ("random-access", "Features random access", NULL,
+                                         g_param_spec_boolean ("random-access", NULL, "Random access to the data model "
+							       "is possible",
 							       FALSE,
 							       G_PARAM_READABLE | G_PARAM_WRITABLE |
 							       G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_FILENAME,
-                                         g_param_spec_string ("filename", "File to import", NULL, NULL,
+                                         g_param_spec_string ("filename", NULL, "File to import", NULL,
 							      G_PARAM_READABLE | G_PARAM_WRITABLE |
 							      G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_DATA_STRING,
-                                         g_param_spec_string ("data-string", "String to import", NULL, NULL,
+                                         g_param_spec_string ("data-string", NULL, "String to import", NULL,
 							      G_PARAM_READABLE | G_PARAM_WRITABLE |
 							      G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_XML_NODE,
-                                         g_param_spec_pointer ("xml-node", "XML node to import from", NULL,
+                                         g_param_spec_pointer ("xml-node", NULL, "XML node to import from",
 							      G_PARAM_READABLE | G_PARAM_WRITABLE |
 							      G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_OPTIONS,
-                                         g_param_spec_object ("options", "Options to configure the import", NULL,
+                                         g_param_spec_object ("options", NULL, "Options to configure the import",
                                                                GDA_TYPE_SET,
 							       G_PARAM_READABLE | G_PARAM_WRITABLE |
 							       G_PARAM_CONSTRUCT_ONLY));

Modified: trunk/libgda/gda-data-model-iter.c
==============================================================================
--- trunk/libgda/gda-data-model-iter.c	(original)
+++ trunk/libgda/gda-data-model-iter.c	Fri Jan 23 15:53:09 2009
@@ -136,6 +136,13 @@
 
 	parent_class = g_type_class_peek_parent (class);
 
+	/**
+	 * GdaDataModelIter::row-changed
+	 * @iter: the #GdaDataModelIter
+	 * @row: the new iter's row
+	 *
+	 * Gets emitted when the row @iter is currently pointing has changed
+	 */
 	gda_data_model_iter_signals [ROW_CHANGED] =
                 g_signal_new ("row-changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -143,6 +150,13 @@
                               G_STRUCT_OFFSET (GdaDataModelIterClass, row_changed),
                               NULL, NULL,
                               g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
+	/**
+	 * GdaDataModelIter::end-of-data
+	 * @iter: the #GdaDataModelIter
+	 *
+	 * Gets emitted when @iter has reached the end of available data (which means the previous
+	 * row it was on was the last one).
+	 */
 	gda_data_model_iter_signals [END_OF_DATA] =
                 g_signal_new ("end-of-data",
                               G_TYPE_FROM_CLASS (object_class),
@@ -163,17 +177,18 @@
 	object_class->set_property = gda_data_model_iter_set_property;
 	object_class->get_property = gda_data_model_iter_get_property;
 	g_object_class_install_property (object_class, PROP_DATA_MODEL,
-					 g_param_spec_object ("data-model", "Data model for which the iter is for", NULL,
+					 g_param_spec_object ("data-model", NULL, "Data model for which the iter is for", 
                                                                GDA_TYPE_DATA_MODEL, 
 							       (G_PARAM_READABLE | G_PARAM_WRITABLE |
 								G_PARAM_CONSTRUCT_ONLY)));
 	g_object_class_install_property (object_class, PROP_FORCED_MODEL,
-					 g_param_spec_object ("forced-model", NULL, NULL, 
+					 g_param_spec_object ("forced-model", NULL, "Overrides the data model the iter "
+							      "is attached to (reserved for internal usage)", 
                                                                GDA_TYPE_DATA_MODEL,
 							       (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_CURRENT_ROW,
-					 g_param_spec_int ("current-row", "Current represented row in the data model", 
-							   NULL, -1, G_MAXINT, -1,
+					 g_param_spec_int ("current-row", NULL, "Current represented row in the data model", 
+							   -1, G_MAXINT, -1,
 							   (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_UPDATE_MODEL,
 					 g_param_spec_boolean ("update-model", "Tells if parameters changes are forwarded "
@@ -450,7 +465,7 @@
 		}
 		case PROP_FORCED_MODEL: {
 			GdaDataModel* ptr = g_value_get_object (value);
-			g_return_if_fail (ptr && GDA_IS_DATA_MODEL (ptr));
+			g_return_if_fail (GDA_IS_DATA_MODEL (ptr));
 
 			if (iter->priv->data_model) {
 				if (iter->priv->data_model == GDA_DATA_MODEL (ptr))

Modified: trunk/libgda/gda-data-model.c
==============================================================================
--- trunk/libgda/gda-data-model.c	(original)
+++ trunk/libgda/gda-data-model.c	Fri Jan 23 15:53:09 2009
@@ -107,6 +107,12 @@
 
 	g_static_rec_mutex_lock (&init_mutex);
 	if (! initialized) {
+		/**
+		 * GdaDataModel::changed
+		 * @model: the #GdaDataModel
+		 *
+		 * Gets emitted when any value in @model has been changed
+		 */
 		gda_data_model_signals[CHANGED] =
 			g_signal_new ("changed",
 				      GDA_TYPE_DATA_MODEL,
@@ -115,6 +121,13 @@
 				      NULL, NULL,
 				      g_cclosure_marshal_VOID__VOID,
 				      G_TYPE_NONE, 0);
+		/**
+		 * GdaDataModel::row-inserted
+		 * @model: the #GdaDataModel
+		 * @row: the row number
+		 *
+		 * Gets emitted when a row has been inserted in @model
+		 */
 		gda_data_model_signals[ROW_INSERTED] =
 			g_signal_new ("row-inserted",
 				      GDA_TYPE_DATA_MODEL,
@@ -123,6 +136,13 @@
 				      NULL, NULL,
 				      g_cclosure_marshal_VOID__INT,
 				      G_TYPE_NONE, 1, G_TYPE_INT);
+		/**
+		 * GdaDataModel::row-updated
+		 * @model: the #GdaDataModel
+		 * @row: the row number
+		 *
+		 * Gets emitted when a row has been modified in @model
+		 */
 		gda_data_model_signals[ROW_UPDATED] =
 			g_signal_new ("row-updated",
 				      GDA_TYPE_DATA_MODEL,
@@ -131,6 +151,13 @@
 				      NULL, NULL,
 				      g_cclosure_marshal_VOID__INT,
 				      G_TYPE_NONE, 1, G_TYPE_INT);
+		/**
+		 * GdaDataModel::row-removed
+		 * @model: the #GdaDataModel
+		 * @row: the row number
+		 *
+		 * Gets emitted when a row has been removed from @model
+		 */
 		gda_data_model_signals[ROW_REMOVED] =
 			g_signal_new ("row-removed",
 				      GDA_TYPE_DATA_MODEL,
@@ -139,6 +166,13 @@
 				      NULL, NULL,
 				      g_cclosure_marshal_VOID__INT,
 				      G_TYPE_NONE, 1, G_TYPE_INT);
+		/**
+		 * GdaDataModel::reset
+		 * @model: the #GdaDataModel
+		 *
+		 * Gets emitted when @model's contents has been completely reset (the number and
+		 * type of columns may also have changed)
+		 */
 		gda_data_model_signals[RESET] =
 			g_signal_new ("reset",
 				      GDA_TYPE_DATA_MODEL,

Modified: trunk/libgda/gda-data-proxy.c
==============================================================================
--- trunk/libgda/gda-data-proxy.c	(original)
+++ trunk/libgda/gda-data-proxy.c	Fri Jan 23 15:53:09 2009
@@ -546,6 +546,14 @@
 	parent_class = g_type_class_peek_parent (klass);
 
 	/* signals */
+	/**
+	 * GdaDataProxy::row-delete-changed
+	 * @proxy: the #GdaDataProxy
+	 * @row: the concerned @proxy's row
+	 * @to_be_deleted: tells if the @row is marked to be deleted
+	 *
+	 * Gets emitted whenever a row has been marked to be deleted, or has been unmarked to be deleted
+	 */
 	gda_data_proxy_signals [ROW_DELETE_CHANGED] =
 		g_signal_new ("row-delete-changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -553,6 +561,13 @@
                               G_STRUCT_OFFSET (GdaDataProxyClass, row_delete_changed),
                               NULL, NULL,
 			      _gda_marshal_VOID__INT_BOOLEAN, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_BOOLEAN);
+	/**
+	 * GdaDataProxy::sample-size-changed
+	 * @proxy: the #GdaDataProxy
+	 * @sample_size: the new sample size
+	 *
+	 * Gets emitted whenever @proxy's sample size has been changed
+	 */
 	gda_data_proxy_signals [SAMPLE_SIZE_CHANGED] =
 		g_signal_new ("sample-size-changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -560,6 +575,15 @@
                               G_STRUCT_OFFSET (GdaDataProxyClass, sample_size_changed),
                               NULL, NULL,
 			      g_cclosure_marshal_VOID__INT, G_TYPE_NONE, 1, G_TYPE_INT);
+	/**
+	 * GdaDataProxy::sample-changed
+	 * @proxy: the #GdaDataProxy
+	 * @sample_start: the first row of the sample
+	 * @sample_end: the last row of the sample
+	 *
+	 * Gets emitted whenever @proxy's sample size has been changed. @sample_start and @sample_end are
+	 * in reference to the proxied data model.
+	 */
 	gda_data_proxy_signals [SAMPLE_CHANGED] =
 		g_signal_new ("sample-changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -567,6 +591,17 @@
                               G_STRUCT_OFFSET (GdaDataProxyClass, sample_changed),
                               NULL, NULL,
 			      _gda_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
+	/**
+	 * GdaDataProxy::validate-row-changes
+	 * @proxy: the #GdaDataProxy
+	 * @row: the proxy's row
+	 * @proxied_row: the proxied data model's row
+	 *
+	 * Gets emitted when @proxy is about to commit a row change to the proxied data model. If any
+	 * callback returns a non %NULL value, then the change commit fails with the returned #GError
+	 * 
+	 * Returns: a new #GError if validation failed, or %NULL
+	 */
 	gda_data_proxy_signals [VALIDATE_ROW_CHANGES] =
 		g_signal_new ("validate-row-changes",
                               G_TYPE_FROM_CLASS (object_class),
@@ -574,6 +609,14 @@
                               G_STRUCT_OFFSET (GdaDataProxyClass, validate_row_changes),
                               validate_row_changes_accumulator, NULL,
                               _gda_marshal_ERROR__INT_INT, GDA_TYPE_ERROR, 2, G_TYPE_INT, G_TYPE_INT);
+	/**
+	 * GdaDataProxy::row-changes-applied
+	 * @proxy: the #GdaDataProxy
+	 * @row: the proxy's row
+	 * @proxied_row: the proxied data model's row
+	 *
+	 * Gets emitted when @proxy has committed a row change to the proxied data model.
+	 */
 	gda_data_proxy_signals [ROW_CHANGES_APPLIED] =
 		g_signal_new ("row-changes-applied",
                               G_TYPE_FROM_CLASS (object_class),
@@ -581,6 +624,12 @@
                               G_STRUCT_OFFSET (GdaDataProxyClass, row_changes_applied),
                               NULL, NULL,
 			      _gda_marshal_VOID__INT_INT, G_TYPE_NONE, 2, G_TYPE_INT, G_TYPE_INT);
+	/**
+	 * GdaDataProxy::filter-changed
+	 * @proxy: the #GdaDataProxy
+	 *
+	 * Gets emitted when @proxy's filter has been changed
+	 */
 	gda_data_proxy_signals [FILTER_CHANGED] = 
 		g_signal_new ("filter-changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -605,17 +654,25 @@
 	object_class->get_property = gda_data_proxy_get_property;
 
 	g_object_class_install_property (object_class, PROP_MODEL,
-					 g_param_spec_object ("model", _("Data model"), NULL,
+					 g_param_spec_object ("model", NULL, "Proxied data model",
                                                                GDA_TYPE_DATA_MODEL,
 							       (G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT)));
 	g_object_class_install_property (object_class, PROP_ADD_NULL_ENTRY,
-					 g_param_spec_boolean ("prepend-null-entry", NULL, NULL, FALSE,
+					 g_param_spec_boolean ("prepend-null-entry", NULL, 
+							       "Tells if a row composed of NULL values is inserted "
+							       "as the proxy's first row", FALSE,
 							       (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_DEFER_SYNC,
-					 g_param_spec_boolean ("defer-sync", NULL, NULL, TRUE,
+					 g_param_spec_boolean ("defer-sync", NULL, 
+							       "Tells if changes to the sample of rows displayed "
+							       "is done in background in several steps or if it's "
+							       "done in one step.", TRUE,
 							       (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_SAMPLE_SIZE,
-					 g_param_spec_int ("sample-size", NULL, NULL, 0, G_MAXINT - 1, 300,
+					 g_param_spec_int ("sample-size", NULL, 
+							   "Number of rows which the proxy will contain at any time, "
+							   "like a sliding window on the proxied data model", 
+							   0, G_MAXINT - 1, 300,
 							   (G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT)));
 
 	g_static_mutex_lock (&parser_mutex);
@@ -2098,7 +2155,7 @@
  * @proxy: a #GdaDataProxy object
  * @sample_start: the number of the first row to be displayed
  *
- * Sets the number of the first row to be displayed.
+ * Sets the number of the first row to be available in @proxy (in reference to the proxied data model)
  */
 void
 gda_data_proxy_set_sample_start (GdaDataProxy *proxy, gint sample_start)
@@ -2120,9 +2177,9 @@
  * gda_data_proxy_get_sample_start
  * @proxy: a #GdaDataProxy object
  *
- * Get the row number of the first row to be displayed.
+ * Get the number of the first row to be available in @proxy (in reference to the proxied data model)
  *
- * Returns: the number of the first row being displayed.
+ * Returns: the number of the first proxied model's row.
  */
 gint
 gda_data_proxy_get_sample_start (GdaDataProxy *proxy)
@@ -2137,9 +2194,9 @@
  * gda_data_proxy_get_sample_end
  * @proxy: a #GdaDataProxy object
  *
- * Get the row number of the last row to be displayed.
+ * Get the number of the last row to be available in @proxy (in reference to the proxied data model)
  *
- * Returns: the number of the last row being displayed.
+ * Returns: the number of the last proxied model's row.
  */
 gint
 gda_data_proxy_get_sample_end (GdaDataProxy *proxy)

Modified: trunk/libgda/gda-data-select.c
==============================================================================
--- trunk/libgda/gda-data-select.c	(original)
+++ trunk/libgda/gda-data-select.c	Fri Jan 23 15:53:09 2009
@@ -215,15 +215,18 @@
 	object_class->set_property = gda_data_select_set_property;
         object_class->get_property = gda_data_select_get_property;
 	g_object_class_install_property (object_class, PROP_CNC,
-                                         g_param_spec_object ("connection", 
+                                         g_param_spec_object ("connection", NULL,
 							      "Connection from which this data model is created", 
-							      NULL, GDA_TYPE_CONNECTION,
+							      GDA_TYPE_CONNECTION,
 							      G_PARAM_WRITABLE | G_PARAM_READABLE | G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_PREP_STMT,
-                                         g_param_spec_object ("prepared-stmt", NULL, NULL, GDA_TYPE_PSTMT,
+                                         g_param_spec_object ("prepared-stmt", NULL, 
+							      "Associated prepared statement (for internal usage)", 
+							      GDA_TYPE_PSTMT,
 							      G_PARAM_WRITABLE | G_PARAM_READABLE));
 	g_object_class_install_property (object_class, PROP_FLAGS,
-					 g_param_spec_uint ("model-usage", NULL, NULL, 
+					 g_param_spec_uint ("model-usage", NULL, 
+							    "Determines how the data model may be used", 
 							    GDA_DATA_MODEL_ACCESS_RANDOM, G_MAXUINT,
 							    GDA_DATA_MODEL_ACCESS_RANDOM,
 							    G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
@@ -233,7 +236,7 @@
 							       G_PARAM_READABLE | G_PARAM_WRITABLE));
 	g_object_class_install_property (object_class, PROP_PARAMS,
 					 g_param_spec_object ("exec-params", NULL, 
-							      _("GdaSet used when the SELECT statement was executed"), 
+							      "GdaSet used when the SELECT statement was executed", 
 							      GDA_TYPE_SET,
 							      G_PARAM_WRITABLE | G_PARAM_READABLE | G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_INS_QUERY,

Modified: trunk/libgda/gda-holder.c
==============================================================================
--- trunk/libgda/gda-holder.c	(original)
+++ trunk/libgda/gda-holder.c	Fri Jan 23 15:53:09 2009
@@ -176,6 +176,12 @@
 
 	parent_class = g_type_class_peek_parent (class);
 
+	/**
+	 * GdaHolder::source-changed
+	 * @holder: the #GdaHolder
+	 * 
+	 * Gets emitted when the data model in which @holder's values should be has changed
+	 */
 	gda_holder_signals[SOURCE_CHANGED] =
                 g_signal_new ("source-changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -183,6 +189,12 @@
                               G_STRUCT_OFFSET (GdaHolderClass, source_changed),
                               NULL, NULL,
                               _gda_marshal_VOID__VOID, G_TYPE_NONE, 0);
+	/**
+	 * GdaHolder::changed
+	 * @holder: the #GdaHolder
+	 * 
+	 * Gets emitted when @holder's value has changed
+	 */
 	gda_holder_signals[CHANGED] =
                 g_signal_new ("changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -190,6 +202,14 @@
                               G_STRUCT_OFFSET (GdaHolderClass, changed),
                               NULL, NULL,
                               _gda_marshal_VOID__VOID, G_TYPE_NONE, 0);
+	/**
+	 * GdaHolder::attribute-changed
+	 * @holder: the #GdaHolder
+	 * @att_name: attribute's name
+	 * @att_value: attribute's value
+	 * 
+	 * Gets emitted when any @holder's attribute has changed
+	 */
 	gda_holder_signals[ATT_CHANGED] =
                 g_signal_new ("attribute-changed",
                               G_TYPE_FROM_CLASS (object_class),
@@ -200,7 +220,7 @@
 			      G_TYPE_STRING, G_TYPE_VALUE);
 
 	/**
-	 * GdaHolder::before-change:
+	 * GdaHolder::validate-change
 	 * @holder: the object which received the signal
 	 * @new_value: the proposed new value for @holder
 	 * 
@@ -231,34 +251,39 @@
 	object_class->set_property = gda_holder_set_property;
 	object_class->get_property = gda_holder_get_property;
 	g_object_class_install_property (object_class, PROP_ID,
-					 g_param_spec_string ("id", NULL, NULL, NULL, 
+					 g_param_spec_string ("id", NULL, "Holder's ID", NULL, 
 							      (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_NAME,
-					 g_param_spec_string ("name", NULL, NULL, NULL, 
+					 g_param_spec_string ("name", NULL, "Holder's name", NULL, 
 							      (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_DESCR,
-					 g_param_spec_string ("description", NULL, NULL, NULL, 
+					 g_param_spec_string ("description", NULL, "Holder's description", NULL, 
 							      (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_GDA_TYPE,
-					 g_param_spec_gtype ("g-type", NULL, NULL, G_TYPE_NONE, 
+					 g_param_spec_gtype ("g-type", NULL, "Holder's GType", G_TYPE_NONE, 
 							     (G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT)));
 	g_object_class_install_property (object_class, PROP_NOT_NULL,
-					 g_param_spec_boolean ("not-null", NULL, NULL, FALSE,
+					 g_param_spec_boolean ("not-null", NULL, "Can the value holder be NULL?", FALSE,
 							       (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_SIMPLE_BIND,
-					 g_param_spec_object ("simple-bind", NULL, NULL, 
+					 g_param_spec_object ("simple-bind", NULL, 
+							      "Make value holder follow other GdaHolder's changes", 
                                                                GDA_TYPE_HOLDER,
 							       (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_FULL_BIND,
-					 g_param_spec_object ("full-bind", NULL, NULL, 
+					 g_param_spec_object ("full-bind", NULL,
+							      "Make value holder follow other GdaHolder's changes "
+							      "and the other way around", 
                                                                GDA_TYPE_HOLDER,
 							       (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_SOURCE_MODEL,
-                                         g_param_spec_object ("source-model", NULL, NULL,
-                                                               GDA_TYPE_DATA_MODEL,
+                                         g_param_spec_object ("source-model", NULL, "Data model among which the holder's "
+							      "value should be",
+							      GDA_TYPE_DATA_MODEL,
                                                                (G_PARAM_READABLE | G_PARAM_WRITABLE)));
         g_object_class_install_property (object_class, PROP_SOURCE_COLUMN,
-                                         g_param_spec_int ("source-column", NULL, NULL,
+                                         g_param_spec_int ("source-column", NULL, "Column number to use in coordination "
+							   "with the source-model property",
 							   0, G_MAXINT, 0,
 							   (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	

Modified: trunk/libgda/gda-meta-store.c
==============================================================================
--- trunk/libgda/gda-meta-store.c	(original)
+++ trunk/libgda/gda-meta-store.c	Fri Jan 23 15:53:09 2009
@@ -336,7 +336,7 @@
 	parent_class = g_type_class_peek_parent (klass);
 	
 	/**
-	 * GdaMetaStore::suggest-update:
+	 * GdaMetaStore::suggest-update
 	 * @store: the #GdaMetaStore instance that emitted the signal
 	 * @suggest: the suggested update, as a #GdaMetaContext structure
 	 *
@@ -354,6 +354,13 @@
 		suggest_update_accumulator, NULL,
 		_gda_marshal_POINTER__POINTER, G_TYPE_POINTER,
 		1, G_TYPE_POINTER);
+	/**
+	 * GdaMetaStore::meta-changed
+	 * @store: the #GdaMetaStore instance that emitted the signal
+	 * @changes: a list of changes made
+	 *
+	 * This signal is emitted when the @store's contents have changed (the changes are in the @changes list)
+	 */
 	gda_meta_store_signals[META_CHANGED] =
 		g_signal_new ("meta-changed",
 		G_TYPE_FROM_CLASS (object_class),
@@ -362,6 +369,13 @@
 		NULL, NULL,
 		_gda_marshal_VOID__POINTER, G_TYPE_NONE,
 		1, G_TYPE_POINTER);
+	/**
+	 * GdaMetaStore::meta-reset
+	 * @store: the #GdaMetaStore instance that emitted the signal
+	 *
+	 * This signal is emitted when the @store's contents have been reset completely and when
+	 * no detailled changes are available
+	 */
 	gda_meta_store_signals[META_RESET] =
 		g_signal_new ("meta-reset",
 		G_TYPE_FROM_CLASS (object_class),

Modified: trunk/libgda/gda-row.c
==============================================================================
--- trunk/libgda/gda-row.c	(original)
+++ trunk/libgda/gda-row.c	Fri Jan 23 15:53:09 2009
@@ -73,7 +73,7 @@
         object_class->get_property = gda_row_get_property;
 
 	g_object_class_install_property (object_class, PROP_NB_VALUES,
-                                         g_param_spec_int ("nb-values", NULL, NULL,
+                                         g_param_spec_int ("nb-values", NULL, "Number of values in the row",
 							   1, G_MAXINT, 1, 
 							   G_PARAM_WRITABLE));
 }

Modified: trunk/libgda/gda-server-operation.c
==============================================================================
--- trunk/libgda/gda-server-operation.c	(original)
+++ trunk/libgda/gda-server-operation.c	Fri Jan 23 15:53:09 2009
@@ -138,6 +138,14 @@
 	parent_class = g_type_class_peek_parent (klass);
 
 	/* signals */
+	/**
+	 * GdaServerOperation::sequence-item-added
+	 * @op: the #GdaServerOperation
+	 * @seq_path: the path to the new sequence item
+	 * @item_index: the index (starting from 0) of the new sequence item in the sequence
+	 *
+	 * Gets emitted whenever a new sequence item (from a sequence template) has been added
+	 */
 	gda_server_operation_signals[SEQUENCE_ITEM_ADDED] =
 		g_signal_new ("sequence-item-added",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -146,6 +154,14 @@
 			      NULL, NULL,
 			      _gda_marshal_VOID__STRING_INT, G_TYPE_NONE,
 			      2, G_TYPE_STRING, G_TYPE_INT);
+	/**
+	 * GdaServerOperation::sequence-item-remove
+	 * @op: the #GdaServerOperation
+	 * @seq_path: the path to the sequence item to be removed
+	 * @item_index: the index (starting from 0) of the sequence item in the sequence
+	 *
+	 * Gets emitted whenever a sequence item is about to be removed
+	 */
 	gda_server_operation_signals[SEQUENCE_ITEM_REMOVE] =
 		g_signal_new ("sequence-item-remove",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -165,18 +181,20 @@
 	object_class->get_property = gda_server_operation_get_property;
 
 	g_object_class_install_property (object_class, PROP_CNC,
-					 g_param_spec_object ("connection", NULL, NULL, 
+					 g_param_spec_object ("connection", NULL, "Connection to use", 
 							      GDA_TYPE_CONNECTION,
 							      G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_PROV,
-					 g_param_spec_object ("provider", NULL, NULL, 
+					 g_param_spec_object ("provider", NULL,
+							      "Database provider which created the object", 
 							      GDA_TYPE_SERVER_PROVIDER,
 							      G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_SPEC_FILE,
-					 g_param_spec_string ("spec-filename", NULL, NULL, 
+					 g_param_spec_string ("spec-filename", NULL,
+							      "XML file which contains the object's data structure", 
 							      NULL, G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
 	g_object_class_install_property (object_class, PROP_OP_TYPE,
-					 g_param_spec_int ("op-type", NULL, NULL, 
+					 g_param_spec_int ("op-type", NULL, "Type of operation to be done", 
 							   0, GDA_SERVER_OPERATION_LAST - 1, 
 							   0, G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY));
 }

Modified: trunk/libgda/gda-set.c
==============================================================================
--- trunk/libgda/gda-set.c	(original)
+++ trunk/libgda/gda-set.c	Fri Jan 23 15:53:09 2009
@@ -242,8 +242,8 @@
 			      GDA_TYPE_HOLDER);
 
 	/**
-	 * GdaSet::validate-holder-change:
-	 * @set: the object which received the signal
+	 * GdaSet::validate-holder-change
+	 * @set: the #GdaSet
 	 * @holder: the #GdaHolder which is going to change
 	 * @new_value: the proposed new value for @holder
 	 * 
@@ -262,8 +262,8 @@
 			      _gda_marshal_ERROR__OBJECT_VALUE, GDA_TYPE_ERROR, 2,
 			      GDA_TYPE_HOLDER, G_TYPE_VALUE);
 	/**
-	 * GdaSet::validate-set:
-	 * @set: the object which received the signal
+	 * GdaSet::validate-set
+	 * @set: the #GdaSet
 	 * 
 	 * Gets emitted when gda_set_is_valid() is called, use
 	 * this signal to control which combination of values @set's holder can have (for example to implement some business rules)
@@ -278,6 +278,15 @@
 			      G_STRUCT_OFFSET (GdaSetClass, validate_set),
 			      validate_accumulator, NULL,
 			      _gda_marshal_ERROR__VOID, GDA_TYPE_ERROR, 0);
+	/**
+	 * GdaSet::holder-attr-changed
+	 * @set: the #GdaSet
+	 * @holder: the GdaHolder for which an attribute changed
+	 * @attr_name: attribute's name
+	 * @attr_value: attribute's value
+	 * 
+	 * Gets emitted when an attribute for any of the #GdaHolder objects managed by @set has changed
+	 */
 	gda_set_signals[HOLDER_ATTR_CHANGED] =
 		g_signal_new ("holder-attr-changed",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -286,6 +295,12 @@
 			      NULL, NULL,
 			      _gda_marshal_VOID__OBJECT_STRING_VALUE, G_TYPE_NONE, 3,
 			      GDA_TYPE_HOLDER, G_TYPE_STRING, G_TYPE_VALUE);
+	/**
+	 * GdaSet::public-data-changed
+	 * @set: the #GdaSet
+	 * 
+	 * Gets emitted when @set's public data (#GdaSetNode, #GdaSetGroup or #GdaSetSource values) have changed
+	 */
 	gda_set_signals[PUBLIC_DATA_CHANGED] =
 		g_signal_new ("public-data-changed",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -304,17 +319,17 @@
 	object_class->set_property = gda_set_set_property;
 	object_class->get_property = gda_set_get_property;
 	g_object_class_install_property (object_class, PROP_ID,
-					 g_param_spec_string ("id", NULL, NULL, NULL, 
+					 g_param_spec_string ("id", NULL, "Id", NULL, 
 							      (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_NAME,
-					 g_param_spec_string ("name", NULL, NULL, NULL, 
+					 g_param_spec_string ("name", NULL, "Name", NULL, 
 							      (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_DESCR,
-					 g_param_spec_string ("description", NULL, NULL, NULL, 
+					 g_param_spec_string ("description", NULL, "Description", NULL, 
 							      (G_PARAM_READABLE | G_PARAM_WRITABLE)));
 	g_object_class_install_property (object_class, PROP_HOLDERS,
 					 g_param_spec_pointer ("holders", "GSList of GdaHolders", 
-							       "Holders the set should contain", (
+							       "GdaHolder objects the set should contain", (
 								G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)));
   
 	object_class->dispose = gda_set_dispose;

Modified: trunk/libgda/gda-set.h
==============================================================================
--- trunk/libgda/gda-set.h	(original)
+++ trunk/libgda/gda-set.h	Fri Jan 23 15:53:09 2009
@@ -115,7 +115,7 @@
 	GError               *(*validate_set)          (GdaSet *set);
 	void                  (*holder_changed)        (GdaSet *set, GdaHolder *holder);
 	void                  (*holder_attr_changed)   (GdaSet *set, GdaHolder *holder, 
-							const gchar *attr_name, const GValue *value);
+							const gchar *attr_name, const GValue *attr_value);
 	void                  (*public_data_changed)   (GdaSet *set);
 };
 

Modified: trunk/libgda/gda-statement.c
==============================================================================
--- trunk/libgda/gda-statement.c	(original)
+++ trunk/libgda/gda-statement.c	Fri Jan 23 15:53:09 2009
@@ -124,6 +124,12 @@
 	GObjectClass   *object_class = G_OBJECT_CLASS (klass);
 	parent_class = g_type_class_peek_parent (klass);
 
+	/**
+	 * GdaStatement::reset
+	 * @stmt: the #GdaStatement object
+	 *
+	 * Gets emitted whenever the @stmt has changed
+	 */
 	gda_statement_signals[RESET] =
 		g_signal_new ("reset",
 			      G_TYPE_FROM_CLASS (object_class),
@@ -132,6 +138,13 @@
 			      NULL, NULL,
 			      g_cclosure_marshal_VOID__VOID, G_TYPE_NONE,
 			      0);
+	/**
+	 * GdaStatement::checked
+	 * @stmt: the #GdaStatement object
+	 *
+	 * Gets emitted whenever the structure and contents
+	 * of @stmt have been verified (emitted after gda_statement_check_validity()).
+	 */
 	gda_statement_signals[CHECKED] =
 		g_signal_new ("checked",
 			      G_TYPE_FROM_CLASS (object_class),

Modified: trunk/libgda/gda-util.c
==============================================================================
--- trunk/libgda/gda-util.c	(original)
+++ trunk/libgda/gda-util.c	Fri Jan 23 15:53:09 2009
@@ -46,6 +46,13 @@
  * gda_g_type_to_string
  * @type: Type to convert from.
  *
+ * Converts a GType to its string representation (use gda_g_type_from_string() for the
+ * operation in the other direction).
+ *
+ * This function wraps g_type_name() but for common types it provides an easier to
+ * understand and remember name. For Example the G_TYPE_STRING is converted to "string"
+ * whereas g_type_name() converts it to "gchararray".
+ *
  * Returns: the GDA's string representing the given #GType or the name
  * returned by #g_type_name.
  */
@@ -74,6 +81,20 @@
  * gda_g_type_from_string
  * @str: the name of a #GType, as returned by gda_g_type_to_string().
  *
+ * Converts a named type to ts GType type (also see the gda_g_type_to_string() function).
+ *
+ * This function is a wrapper around the g_type_from_name() function, but also recognizes
+ * some type synonyms such as:
+ * <itemizedlist>
+ *   <listitem><para>"int" for G_TYPE_INT</para></listitem>
+ *   <listitem><para>"string" for G_TYPE_STRING</para></listitem>
+ *   <listitem><para>"date" for G_TYPE_DATE</para></listitem>
+ *   <listitem><para>"time" for GDA_TYPE_TIME</para></listitem>
+ *   <listitem><para>"timestamp" for GDA_TYPE_TIMESTAMP</para></listitem>
+ *   <listitem><para>"boolean" for G_TYPE_BOOLEAN</para></listitem>
+ *   <listitem><para>"null" for GDA_TYPE_NULL</para></listitem>
+ * </itemizedlist>
+ *
  * Returns: the #GType represented by the given @str.
  */
 GType

Modified: trunk/libgda/gda-util.h
==============================================================================
--- trunk/libgda/gda-util.h	(original)
+++ trunk/libgda/gda-util.h	Fri Jan 23 15:53:09 2009
@@ -46,7 +46,7 @@
 gchar       *gda_default_unescape_string (const gchar *string);
 guint        gda_identifier_hash (const gchar *id);
 gboolean     gda_identifier_equal (const gchar *id1, const gchar *id2);
-gchar      **gda_completion_list_get (GdaConnection *cnc, const gchar *text, gint start, gint end);
+gchar      **gda_completion_list_get (GdaConnection *cnc, const gchar *sql, gint start, gint end);
 
 /*
  * Param & model utilities

Modified: trunk/libgda/sql-parser/gda-sql-parser.c
==============================================================================
--- trunk/libgda/sql-parser/gda-sql-parser.c	(original)
+++ trunk/libgda/sql-parser/gda-sql-parser.c	Fri Jan 23 15:53:09 2009
@@ -425,6 +425,9 @@
  * contains more than one statement, then the remaining part of the string is not parsed at all, and @remain (if
  * not %NULL) will point at the first non parsed character.
  *
+ * To include variables in the @sql string, see the
+ * <link linkend="GdaSqlParser.description">GdaSqlParser's object description</link>.
+ *
  * Returns: a new #GdaStatement object, or %NULL if an error occurred
  */
 GdaStatement *
@@ -656,6 +659,9 @@
  *
  * if @sql is %NULL, then the returned #GdaBatch object will contain no statement.
  *
+ * To include variables in the @sql string, see the
+ * <link linkend="GdaSqlParser.description">GdaSqlParser's object description</link>.
+ *
  * Returns: a new #GdaBatch object, or %NULL if an error occurred
  */
 GdaBatch *



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